User:Paulrobertlloyd.com/principles
Core Principles
The IndieWeb has three principles to guide our approach to building, growing and sustaining the independent web:
- ๐ฅธ Own your identity
- An independent web presence starts with an online identity you own and control. The most reliable way to do this today is by having your own domain name.
- ๐ Own your content
- You should retain control of the things you make, and not be subject to third-parties preventing access to it, deleting it or disappearing entirely. The best way to do this is by publishing content on your own website.
- ๐ฅณ Have fun!
- When the web took off in the 90โs people began designing personal sites with garish backgrounds and animated GIFs. It may have been ugly but it was fun. Letโs keep the web weird and interesting.
Developer Principles
When building a tool or service that supports the IndieWeb and its community:
- ๐ฉ Make it user-centred
- Usability is more important than protocols, formats, data models, schema etc. Start with user needs, and figure out how to build the simplest, easiest and most minimal solution that can address them.
- ๐ฅช Make what you need
- Donโt design for a hypothetical user as they may not exist. Make something that satisfies your own needs, first. Also known as scratch your own itch.
- ๐ฝ๏ธ Use what you make
- Personal use can help you uncover problems and areas for improvement more quickly. Focus on solving real problems instead of theoretical ones. Also known as eat what you cook.
- ๐ญ Make it your way
- We can innovate faster if everyone builds what works for them and we figure out how to interoperate between different approaches later. Having a plurality of projects makes the indie web more inclusive than other open source efforts.
- ๐ฎ Make it open
- Building software collectively and in the open instead of privately and in the abstract means it is more likely to be used. Making your code open source means other people can build upon what youโve made.
- ๐ฑ Make it modular
- The more modular your code is, the less dependent youโll be on a particular device, interface, API, programming language, storage model or platform. Modularity increases the chances that parts of it will be re-used and improved, changes which you can reincorporate later.
- ๐ Document what you make
- Document your process, ideas, designs and code. Help others benefit from your journey โ including your future self!
- ๐ฅซ Make it last
- If society can preserve ancient papyrus, Victorian photographs and dinosaur bones, we should be able to build durable web technology that doesnโt require destroying everything every few years in the name of progress.