Well, I don't know about that being relevant [0], but at least it isn't blatantly offensive to the concept of providing information like this proposal is.
You provided a great example of using the conscious choice to seed as a way to signal an upvote. What better way to promote something other than the commitment to redistribute the content? In the context of P2P, it occurred to me that it's also possible to design a fully decentralized comment system using a naming convention. Each comment would be a torrent named after a given scheme, making it possible to track and discover comments related to another torrent. Since seeding means upvoting, then the best comments would be the most seeded ones.
I have a lot of ideas. Each would have to be examined, debunked, improved etc they would have to be considered in combination as many would overlap, contradict or compliment.
On a higher level it's fun to notice that HN isn't suitable for developing anything. People are just talking for talking sake, small nuggets of information are tossed around that may be useful to the reader any place but here. It is quite preposterous actually that this kind of architecture is even a thing. I have higher expectations from scribblings on a napkin among drunks in a loud bar.
When I first got on irc I had the audacity to ask people to do things for me. I even used private messages for this. Everyone got really angry but I disagreed, I still do. irl if I need a drill ill go ring the door 5 houses down the street and expect them to lend it to me. If some stranger asks me to dig a swimming pool for them ill show up with 10 friends and go do it. People who don't normally function that way should be offered assistance until they've so abundantly made use of it that they too will lend a hand. Online the opposite is happening. People have culturally rendered themselves to be quite useless.
Imagine for laughs trying to architect and build a house on Twitter. Even GIT is pretty useless. If it cant get an 8 year old to contribute in 5 minutes a tool has failed. Sure, all parts of a project might be extremely complicated or dangerous but that is just looking for excuses.
Therefore, I would argue, everything that doesn't directly contribute towards setting or accomplishing real world goals should live behind some imaginary line in the sand and be treated like useless content. Educative or inspiring does count as useful but only barely.
Clients can download reasonably large archives reasonably well. You kinda want to avoid having lots of connections per comment. Even the most recent content can be combined into an archive (along with public keys) and passed around between nodes (favoring nodes that forward it faster and/or have the least invalid signatures) If someone puts a large video in their post it can be a separate torrent that automatically survives depending on the posters popularity and the quality of the video. Those who desire it can pretend it is a block chain and hoard everything.
You just need to rethink the form, which is also an inheritance from print media, as a possibly fuzzy dialogue. Incorporating multimodal input, extracting information from uploads, etc., is a huge accessibility win. This is totally achievable right now, it’s just a matter of viewing the "form" as an interaction designed to fulfill a predetermined goal. What actually complicates forms is handling conditions, state tracking, and synchronization, which can become arbitrarily complex. This sort of dynamic behavior can never be fully standardized. So special cases are always going to need special solutions.
> Hierarchical tree, Categories, tags and search.
I think it's important to highlight the distinction between exploration and retrieval. Tags and categories are perfect for powering indices and lists, enabling opinionated exploration interfaces. However, when it comes to open-ended retrieval, arbitrary conventions don't really help. Retrieval requires the searcher to have some prior information on patterns, which are media dependent.
To make the retrieval problem more manageable, information needs to be structured in a predictable manner. Patterns are powerful tools for enabling and enforcing memorization. For example, if I want to retrieve a specific academic paper, my search model will align with the typical information pattern of academic papers. This pattern encourages me to memorize key metadata, such as the publication year, author names, institutional affiliations, and keywords in the title. These elements form the standard metadata body for this type of content.
I've never actually used it but for laughs I one time elm.setAttribute('value', elm.value) for each field so that the values are in the html, then just upload the form innerHTML, append it to a file and use some dom/xml parser to get at the values. If the user needs to edit the values simply reinsert the html form into a page. If they only need to look at it use ccs to disable pointer events and remove the outlines from form fields. It was a pretty hilarious experiment. The form all of a sudden worked just like the paper version. You write your name on the dotted line where it says name then the data is stored right there.
With some js I could easily add field sets and sub sets. For example click add address, add house numbers, add additional employee/function/phone numbers sets, they can each have 100 email addresses and 1000 websites etc
xpath isn't sql but if the data looks this much like xml?
Converting posted values into table rows and back makes me feel like I'm doing something I'm not supposed to. Tables do not fit our mental model. What is the right solution if you only have one customer who has 6 phone numbers? The enterprise thing to do is add a table with phone numbers and give each number a number. lol?
DB performance is of course godly at scale but if it is just one form that lives on the users computer.... it might not be a nail?
> Hierarchical tree, Categories, tags and search.
It's a fun puzzle, no idea how far we are solving it. We should probably record what one looks at and have a button to mirror a publication locally.
I've often pondered how discovery can be pushed so that things of interest to you may gravitate towards you (and to those with similar interests). 100% accuracy at that would be a game changer. Someone out there is writing precisely that what I need or want to be reading.
Let me give a use case where an offline-first hypermedia document model would be useful. I used to work as an instructional designer, making art and photography courses. This sort of material requires a lot of media, practically of all kinds. You either have to know how to code or use some platform to build that kind of thing. In either case, there'll be friction between reconciling the data source and the final document/volume. If you use a managed solution like a platform, you'll be locking away the content on their servers. Exporting the raw data does nothing because it'll lose all structure—that's basically what happens when you try to export from Notion, from instance. Yes, you can export, but it's lossy, because available offline formats, even markdown, cannot express the structure and ergonomics available within the authoring environment. There's a disconnect between source and presentation. You'll be left with a scattered set of files. The other option is not much better: coding it yourself. You'll need a CMS, and your data will be either JSON, MD, XML, or worse, tabular within an SQL database. Then you'll have to develop a build system or make some sort of SPA. And you'll need to setup a webserver and configure it to distribute the content. This is absurdly complex. It makes producing such materials very expensive. You just can't distribute your course offline. You can't back it up easily, either.
Compare that with print media. Want to make a memo? Fire whatever word processor, write it down, export to PDF, share anywhere. Done. If hypermedia was easy like this, do you have any doubt that people would put it to good use? Do you realize how PDF might be overused simply because of the durability, simplicity and fidelity traits it has?
It's not a law of nature that hypermedia should exist only in the context of browsers. Neither that it has to use HTML, CSS and JS.
You are going to need code anyway. Something needs to render the structured data into the format that the browser can understand. People tried to do that with structured markup and languages like XSL. But now we do it with JavaScript and JSON.
Your example could be done with directory of media files and metadata in JSON. JavaScript generates pages from the JSON file. Browsers can serve from the filesystem. It would need to be static since updating the JSON safely is hard since filesystem don't provide atomic guarantees.
If you wanted it writable or larger, you would need web server running API for accessing something like SQLite for database. Running a web server is super easy these days, single command.
Instead of thinking about how would remake hypermedia, come up with a JSON metadata schema that can be dropped in directory of multimedia. Then have JavaScript to render it. There are lots of people, me included, that would like that for our music and image libraries.
> come up with a JSON metadata schema that can be dropped in directory of multimedia. Then have JavaScript to render it
Well, you're damn right! That's almost exactly what I did with my research! Perhaps to your displeasure, it's not JSON, it's something else, I needed something easy to write by hand. Plus I wanted to be have composability and a lot of other traits. Basically it's a novel data structure.
P.S. Just to be clear, if a given information model has stable constructive and reproductive characters it can be considered media. And if it's multidimensional and multimedia it can be considered hypermedia (by definition), so doing what you suggested and guaranteeing the mentioned properties is precisely what "inventing hypermedia" entails. There's not only one possible hypermedia, it's an open concept, category. You can have as much renditions of it as you're capable to invent.
> It's not a law of nature that hypermedia should exist only in the context of browsers
It is sort of a law of hypermedia that different resources are different files, though, isn't it? I guess you could make a file format that embeds images and fonts and HTML in it, but why bother when we have PDF?
PDF is a print format that evolved to support some modern features like links, forms, etc, but at its heart, it's still a fixed-layout document, and I think having a responsive static multimedia document is a massive advantage in a world dominated by heterogeneous devices
> If you think that file system is a viable approach to web site, how would implement Hacker News?
Hacker news is a web application, with a client-server architecture. Indeed would be impractical to replicate with the file system model.
Still, I think it would be useful to have standardized hypermedia documents. It would allow for content that's naturally multimedia to be much more easily handled and distributed. I find it super weird that we need to create a 'website' just to have a multimedia, responsive document. It practically must be hosted on a server because nobody sends HTML around. Mind you that I used the file system just as a metaphor for what an offline-first hypermedia document model could look like.
One of the huge advantages of the web is that there is no distinction between static web sites and web application. The backend implementation can change per page based on what is needed.
The remote filesystem needs a server. HTTP is a much better protocol for serving multimedia documents. The remote file system protocols are slow because they are based on RPC and make lots of requests.
It is dangerous to use filesystem for sharing cause have to carefully limit write access. None of the current filesystem protocols do that well.
If you were designing something new, it would probably end up like WebDAV or S3, an object store that can be used like a file system. There is a place for distributed storage, like IPFS but better, but that wouldn't be a file system.
There is a standard for hypermedia documents, HTML. There were attempts to make it more semantic, like XHTML 2.0 or using RDF, and they failed. There were attempt to transform XML, XSL, and that failed.
People send HTML around, they upload it to servers like I did a few days ago. But HTML is usually generated, for me because Markdown is easier to edit and can use templates.
I’m not at all suggesting replacing HTML; it's a treasure we have.
I think you're failing to see the point. Having hypermedia documents follow a file system model does not imply that you would need to basically give up hypertext protocols. I'm sure you’ve at least once visited an Apache directory index on the web. Heck, just type file:///Users/ianburrell in your browser, and you'll have a hypermedia document modeled after the file system. Take that concept to its ultimate conclusion, and you'll see that a dead-simple hypermedia document can be built without resorting to any new technology or infrastructure.
> I agree that adding an "array" style of directory to our file systems would be really cool.
I think this is sort of a low-hanging fruit people have slept on. We've proved list-based systems are extremely versatile for data structures (s-expr) and programming (lisps). What about for media in general? Everywhere I look I just see lists, with very minor stylistic distinctions between them. Of course there're abysmal infrastructural differences between chats, feeds and what not, but it does not invalidate a universal list-based frontend, similar to what you developed in your comment.
I didn't really think about (linked) lists much, only (flat) arrays, but maybe that's possible already with files laid out like:
/head
/next/head
/next/next/head
... etc
or whatever.
I'm not saying its _ergonomic_, mind you. I'd like my file viewer to lay out the list flat, for example. There might be technical limitains with the length of the file path. Etc.
I'd argue that this concept for media is most commonly known as "playlists" and unfortunately only used within data silos, e.g. a playlist of YouTube videos, a Spotify playlist, a TV season of episodes, a series of episodes, a trilogy, etc.
(Yes, I'd argue that your music library of mp3 files is also kind of a silo, although portable)
Heck, even a slideshow is arguably a playlist.
I agree that putting a playlist-like concept into, say, the filesystem would be an extremely interesting idea but I think a big danger is running into the same problem as hardlinks and symlinks.
This problem is that if a file is "present" in multiple places (or playlists) deleting/modifying/moving it can have unforeseen consequences and it's hard to reason about (and if you copy the file now you get to invent a way to track different versions too!).
I think this is also holding tagging filesystems back.
I'm currently writing a non-hierarchical FUSE filesystem and have been thinking about this list-directory concept but I'm still not completely sure how it would work, especially since I need to remain backwards compatible with the POSIX interfaces.
Will probably have to just try it out (xattrs to the rescue?) and see what sticks I suppose...
> It is fairly trivial to create basic HTML files. SSG + MD have removed a lot of the remaining obstacles
These are advanced computer skills IMO
> It doesn't just magically "arise from the structure", as much as I wish it did. The web site is a clear example - the lack of understanding how humans consume info, and what helps/hinders, leads to odd boxes around each paragraph
I appreciate the criticism. It's impossible to please everyone in terms of design, and I think your antipathy towards this particular style agrees with the general premises.
Regarding if disposition arising from structure is desirable or not, I think it's a matter of culture and habit. The time and complexity savings for authoring and publishing afforded by this model, for me, satisfactorily offsets whatever could be said that it misses in the aesthetic or funcional department, which can always be patched and improved. The positive feedback I had from interested users, all of them tech-illiterate, is what gave me the confidence to pursue investing in the research, and also made me realize that my insecurities towards its acceptability, which stemmed from sentiments quite similar to what you put forth as criticism, were mere whims. As far as experience and perceptions can be trusted, I believe serial multimedia has been proved as a viable format.
> And hierarchies alone are insufficient.
Not disputing that. The fact the document model is hierarchical does not mean the document system has to be. In fact it was never planned to be. There are many mechanisms in place affording hypernavigation, down to the design of the in-memory representation. Just haven't been implemented for lack of resources.
> you're getting a very rough first draft, sorry :)
I'd love to hear more. Feel free to ping me anytime if this is a subject you find exciting to discuss!
To set up? Yes. Absolutely. But that's equivalent to asking users to install a filesystem before using the machine :) Past installation, it's "write text. It shall appear"
Nobody needs to hand-edit HTML any more. It has become, for better or worse, the assembly language of information design ;)
> The time and complexity savings for authoring and publishing afforded by this model, for me, satisfactorily offsets whatever could be said that it misses in the aesthetic or funcional department
I'm curious. Are you saying the boxes are helping you author/publish (in which case, please say more!), or am I wildly misunderstanding?
> As far as experience and perceptions can be trusted, I believe serial multimedia has been proved as a viable format.
Absolutely. But it doesn't create meaning by itself. It's merely a well-understood and simple way of organizing information. (I should've added "linear" to "tree" and "grid")
And just having a pre-defined structure doesn't give meaning in general. You'll need to conform to it, and you need to deal with the parts that just won't conform. (soft/hard links exist to satisfy a need, if we want to go back to file systems)
> I'd love to hear more. Feel free to ping me anytime if this is a subject you find exciting to discuss!
I just might take you up on that ;) The topic's near and dear to my heart. (Alas, it is not my main occupation, so... feel free to ping as well. I might fall off the face of the earth from time to time ;)
Doesn't that prove it absolutely failed? I mean, you have to abstract it so much that, like you said, it's a compiler target at this point! That's precisely my reasoning when I said about needing a second system in the article. And, mind you, not only a second system, most of the time also a third or more! Might as well write a game engine with the budget needed for an HTML WYSIWYG editor.
> I'm curious. Are you saying the boxes are helping you author/publish (in which case, please say more!), or am I wildly misunderstanding?
Not the boxes, per se. I'm refering to the general approach of having independent elements that can be composed with no rigour or planning. This UI came out this way cause I ported the code for the data structure editor, which, for accessibility reasons, had a full-blown cursor around each element, that's why it retained the borders. It's obious that there should be a read mode with less clutter. But honestly, It does not worry me too much, for a proof of concept it was not worth to sweat every detail.
> And just having a pre-defined structure doesn't give meaning in general. You'll need to conform to it
Beautifully said. It's for precisely this fact (if you accept Peirce semiotics) that it becomes a cultural factor. You are compelled to think the way the medium demands you to think. And this is completely dystopian but also absolutely real, and serious! That's why design decisions in authoring interfaces are undeniably political. The abysm indeed looks back. One of the main reasons I started this research was to find a way to express myself in a more forgiving way, that better reflected my thought structure: loose. I can't bear the typewriter model, it drains all my energy and creativity, it smells of formalism and grandeur. Now, when I chat with people, my mind is free, I type at the speed of thought. So that influenced the whole design. I trust you can see it.
Inline, ordered multimedia is the backbone of all consumer information systems. So your students have internalized the the archetypal equivalent of file systems through a different vocabulary, such as tweet (for files) and threads (for directories)
Sorry for the poor experience with the current design, still experimenting.
I cannot disagree with you, you’re on point on everything when considering the file system as an OS component.
But if we entertain the thought of file system as a document model, or as a transactional data structure, it should come naturally that we can piggyback on the modern infrastructure, at the application level, to achieve the desired qualities.
This very website is an experiment on how this could be done. The main takeaway with my research is that we have much to gain if we leave presentation and layout concerns out of hypermedia documents, letting the client software decide on it, like we do with our editors and IDEs, choosing the theme and font we like, the information is the same no matter. To abandon the fetishism inherited from print media and to transact pure data is to make the web democratic. That’s precisely the recipe used by all social networks: standardized, systemic presentation of schematic payloads following a given ontological model. We need only to copy them with an open model
> Sorry for the poor experience with the current design, still experimenting.
Never stop experimenting.
> file system as a document model, or as a transactional data structure, it should come naturally that we can piggyback on the modern infrastructure, at the application level, to achieve the desired qualities.
I'm having a little difficulty groking what you're trying to say, here. Can you explain it like I'm stupid? My mind immediately bounced to SQL storing binary data or a document DB of some sort.
> if we leave presentation and layout concerns out of hypermedia documents, letting the client software decide on it
Every browser engine does this today. Every engine developer has their own idea of how a standard should be implemented. Granted, this isn't end-user choice, which is probably what you're after. Well, sorta, you have some customization of fonts and [link] colors.
> To abandon the fetishism inherited from print media and to transact pure data is to make the web democratic.
It sounds like you would like some simple scheme that provided you the text and binary data (images) of the website which allowed you to manipulate them into the "newspaper" layout of your choice. Am I getting that correct?
You cannot fully leave presentation concerns out of browsers. Layout and decoration is an integral part of authoring, it’s supported at the markup level. HTML and friends are practically rendering instructions at this point, as if a PostScript for screens. Worse, this has a double edge, for instance, not always what should be a single paragraph of text comes as a single <p> tag, because the mere availability of styling leads people to author ad-hoc structures, since they know it could always be visually reconciled.
What I’m proposing with the research is a data structure transmitted as text. This text payload is the equivalent of a file system volume or tree. Each line in this payload is the equivalent of a file. It’s only a semiotic analogy to file systems.
Given this is such a trivial structure, it’s easy to develop multiple rendering approaches that maintain an isomorphism between the text representation and graphical representation. It does not transmit layout information, the syntax itself is the higher-order layout.
You might wanna checkout the source of this article by appending index.fifo.txt to its URL.
I was expecting this. Sorry, it can’t be helped with the current architecture. This site is a proof of concept using client side rendering. But it’s only a handmade, ~20kb vanilla parser and renderer for the experimental document format. Sorry for the inconvenience