Hi, after reading about IPFS, annotations, memex, I came up with a idea of decentralized websites.
The current website model is extremely irritating me
- it’s slow, does hundreds of request for things that I don’t need (currently I live in Australia so I feel the pain even more)
- does it again and again even if the content didn’t change and I just clicked “back” button or restarted browser
- present each website in different style which some are so unreadable that I have to manually adjust them in browser developer tools
- some sties are missing features that I need while others introduce those which are annoying me and I can’t do nothing about it
- when I create blogpost or advert I have to add it in few different services for better coverage and I have to use the most popular one, not the one that I like most
- I have to create an account for each websites, they require same informations and I can’t easily move data between services if I would like to try something new (todo list, social portals)
- some looks shitty on mobile phones, others on big resolution screens
The idea is about moving the control of the website experience directly to user;
building internet on interlinked data in well standardized formats rather than websites.
P2P hosting of immutable files such as IPFS is a perfect platform for this task.
User could view and edit the data in most preferred way and doesn’t depend on website author.
Author would be only responsible for the content and optionally could suggest how it should be displayed, edited and connected to other documents.
An overview how it could work:
Websites are build of the same elements like: content, navigation, comments, suggestions, search bar, share buttons, groups, friends, authentication, metadata etc.
User could install and configure:
- layouts - they would describe where each element should be located e.g. comments on the bottom, suggestions on the right but don’t show them for video files, search bar is displayed only after CMD/CTRL+F is pressed.
- styles/themes - how elements should be displayed, what colors, margins, fonts should be used
- applications to display the content (like favorite movie player), suggestions and comments, text editor (that for example would support vim key binding) etc.
- engines for searching, comments, suggestions so user could define that now is in the mood to see only funny comments, and suggestions of related content that was liked by user’s friends
I assume that it would be created on standard HTML, CSS, JS stack and be composed to a normal page on the client side. An author could specify in the content’s metadata which elements, styles, configurations should be used for best experience but the user always have the choice to not follow the suggestions.
Advantages of this model:
- data aren’t own by website provider - no vendor lock in, way lower entry point for new applications
- no need to implement same features over and over again for each website, authors can focus on content
- users have control over features they want like or not to use
- better accessibility - styles/themes configure for individual specific disabilities, data easier to process by accessibility tools
- more ergonomic - preferred way of displaying end editing content for each user and user’s devices which is consistent across all internet
- lightning fast - P2P network of cacheable immutable files, no need to download and parse CSS, JS for each website, only data that user wants are downloaded
- much less bandwidth and battery use - same reasons as above
There are few difficulties like required good data format standardization, harder control over entire experience and less flexibility but IMHO for most cases advantages outweigh potential issues.
I would be really grateful for an opinion or for a link if anyone heard about similar ideas.