Event JSON
{
"id": "5bf99abc481c7ccb0377efd4a74a77b3e96ebfcd22f8166f11b2a556aef0e001",
"pubkey": "460c25e682fda7832b52d1f22d3d22b3176d972f60dcdc3212ed8c92ef85065c",
"created_at": 1728496010,
"kind": 30023,
"tags": [
[
"d",
"1728488779653"
],
[
"title",
"Does Size Matter? How big is too big?"
],
[
"summary",
"Nostr is not in its infancy anymore. There's too much going on. Coding everything is not only not viable but it should become an anti-pattern. We should focus in Mini and Micro apps moving forward."
],
[
"t",
"Nostr"
],
[
"image",
"https://image.nostr.build/d6713cbcc7bc5dba3be49ef403e6e7ad35d93456935a6a4bd268c46773020b2c.jpg"
],
[
"published_at",
"1728496009"
],
[
"alt",
"This is a long form article, you can read it in https://habla.news/a/naddr1qvzqqqr4gupzq3svyhng9ld8sv44950j957j9vchdktj7cxumsep9mvvjthc2pjuqqxnzdej8q6rswphxuunvdfnyvwa0w"
],
[
"p",
"3bf0c63fcb93463407af97a5e5ee64fa883d107ef9e558472c4eb9aaaefa459d"
],
[
"e",
"00002a10e1e3c74b24bf04e7dd91715697c2198c02749d459aefe3832e975ff6",
"wss://relay.mostr.pub/",
"mention"
]
],
"content": "In the early days of Nostr, developers often competed to see who could implement the most NIPs. Although all were optional (except NIP-01), it became a point of pride and vital for the ecosystem's growth. Back then, there were only a few dozen relatively simple NIPs to implement. Fast forward to today, with nearly 100 NIPs, maintaining and implementing everything has become nearly impossible. Yet, the drive among developers to \"code all things Nostr\" remains as strong as ever.\n\nnostr:nprofile1qqsrhuxx8l9ex335q7he0f09aej04zpazpl0ne2cgukyawd24mayt8gprfmhxue69uhhq7tjv9kkjepwve5kzar2v9nzucm0d5hszxmhwden5te0wfjkccte9emk2um5v4exucn5vvhxxmmd9uq3xamnwvaz7tmhda6zuat50phjummwv5hsx7c9z9 raised the point that everyone, even I, agrees: \n\nnostr:nevent1qqsqqqp2zrs7836tyjlsfe7aj9c4d97zrxxqyayagkdwlcur96t4laspzemhxue69uhhyetvv9ujumt0wd68ytnsw43z7q3q80cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsxpqqqqqqzgcrrrp\n\nBut how big is too big? How can we better understand the range of options available for devs out there?\n\nI went out for a hunt in my own brain to figure out how to clarify the situation. I came up with the following 4 categories for Nostr Clients: \n- **Super Clients**: These apps merge vastly different domains into a single application, offering basic support for reading, writing, configuration, and data management for each use case within each domains. An example would be an app that combines a Marketplace and Live Streams under one roof.\n\n- **Clients**: These apps provide comprehensive support for a single domain, handling all its use cases in a single home. They manage the complete set of reading, writing, configuration, and long-term data management within that domain. An example is a marketplace app that helps users manage product catalogs, process orders, collect payments, and handle fulfillment and reports.\n\n- **Mini Clients**: These apps focus on read and write functionality for a single use case, including configuration management and any actions related to that specific task. For example, a fulfillment app that helps users view orders placed from another client to then pack and ship them.\n\n- **Micro Clients**: These apps have a single interface and perform one specific action. Viewing and creating a record is handled by separate micro apps. An example is an app that simply scans an order's QR code and marks it as shipped.\n\nBased on my made-up categories described at the end, this is how I would split our most known apps. \n\n**Super Clients**\n- [amethyst](https://amethyst.social)\n- [nostrudel](https://nostrudel.ninja)\n- [coracle](https://coracle.social)\n\n**Clients**\n- [damus](https://damus.io) - twitter\n- [primal](https://primal.net) - twitter\n- [snort](https://snort.social) - twitter\n- [gossip](https://github.com/mikedilger/gossip) - twitter\n- [lume](https://lume.nu) - twitter\n- [rabbit](https://rabbit.syusui.net) - twitter\n- [freefrom](https://freefrom.space) - twitter\n- [nos](https://nos.social) - twitter\n- [flycat](https://flycat.club) - twitter\n- [straylight](https://straylight.cafe) - twitter \n- [nostter](https://nostter.app) - twitter\n- [iris](https://iris.to) - twitter\n- [nostur](https://nostur.com) - twitter\n- [nostrmo](https://apps.apple.com/us/app/nostrmo/id6447441761) - twitter\n- [yana](https://yana.do) - twitter\n- [openvibe](https://openvibe.social) - twitter\n- [freerse](https://freerse.com) - twitter\n- [0xchat](https://0xchat.com) - chats\n- [cornychat](https://cornychat.com) - chats\n- [coop](https://github.com/lumehq/coop) - chats\n- [nostrchat](https://nostrchat.io) - chats\n- [blowater](https://blowater.deno.dev) - chats\n- [habla](https://habla.news) - blogs\n- [yakihonne](https://yakihonne.com) - blogs\n- [highlighter](https://highlighter.com) - blogs\n- [blogstack](https://blogstack.io) - blogs\n- [stemstr](https://stemstr.app) - music\n- [wavlake](https://wavlake.com) - music\n- [fountain](https://fountain.fm) - podcasts\n- [zap.stream](https://zap.stream) - live streaming\n- [shopstr](https://shopstr.store) - marketplace\n- [plebeian.market](https://plebeian.market) - marketplace\n- [flotilla](https://flotilla.coracle.social) - communities\n- [satellite](https://satellite.earth) - communities\n- [zapddit](https://zapddit.com) - communities\n- [nostr.kiwi](https://nostr.kiwi) - communities\n- [hivetalk](https://hivetalk.org) - video calls\n- [flare](https://flare.pub) - long-form videos\n- [nostrnests](https://nostrnests.com) - audio spaces\n- [wherostr](https://wherostr.social) - location\n- [yondar](https://go.yondar.me) - location\n- [stacker.news](https://stacker.news) - news\n- [flockstr](https://flockstr.com) - events\n- [nostrocket](https://nostrocket.org) - issue tracker\n- [docstr](https://docstr.app) - docs\n- [satshoot](https://satshoot.com) - freelance\n- [wikifreedia](https://wikifreedia.xyz) - wiki\n- [formstr](https://formstr.app) - forms\n- [chesstr](https://chesstr.pages.dev) - chess\n- [memestr](https://memestr.app) - meme feed\n- [npub.cash](https://npub.cash) - wallet\n- [npub.pro](https://npub.pro) - websites\n- [gitworkshop](https://gitworkshop.dev) - dev tools\n- [onosendai](https://onosendai.tech) - metaverse\n- [degmods](https://degmods.com) - games\n- [turdsoup](https://turdsoup.com) - prompts\n\n**Mini Clients**\n- [amber](https://github.com/greenart7c3/Amber) - signer\n- [alby](https://getalby.com) - signer\n- [nos2x](https://github.com/fiatjaf/nos2x) - signer\n- [nsec.app](https://nsec.app) - signer\n- [keys.band](https://keys.band) - signer\n- [nokakoi](https://nokakoi.com) - anon\n- [anonostr](https://anonostr.com) - anon\n- [getwired](https://getwired.app) - anon\n- [lowent](https://lowent.xyz) - anon\n- [creatr](https://creatr.nostr.wine) - exclusive content\n- [lightning.video](https://lightning.video) - exclusive content\n- [zaplinks](https://zaplinks.lol/slides) - slides\n- [listr](https://listr.lol) - lists\n- [zap.store](https://zap.store) - app store\n- [badges.page](https://badges.page) - badges\n- [oddbean](https://oddbean.com) - news\n- [dtan](https://dtan.xyz) - torrents\n- [nosta](https://nosta.me) - user pages\n- [pinstr](https://pinstr.app) - pinterest\n- [pollerama](https://pollerama.fun) - polls\n- [swarmstr](https://swarmstr.com) - trending\n- [nostrapp](https://nostrapp.link) - apps manager\n- [noogle](https://noogle.lol) - search\n- [ostrich.work](https://ostrich.work) - job postings\n- [emojito](https://emojito.meme) - emoji manager\n- [nostree](https://nostree.me) - links\n- [citrine](https://github.com/greenart7c3/citrine) - local relay\n- [joinstr](https://joinstr.xyz) - coinjoins\n- [heya](https://heya.fund) - crowdfunding\n- [zapplepay](https://zapplepay.com) - zaps\n- [nosbin](https://nosbin.com) - clipboard\n- [shipyard](https://shipyard.pub) - scheduler\n- [tunestr](https://tunestr.io) - live streams\n- [filestr](https://filestr.vercel.app) - files\n- [sheetstr](https://sheetstr.amethyst.social) - spreadsheets\n- [crafters](https://crafters.amethyst.social) - curriculum vitae\n\n**Micro Clients**\n- [w3](https://w3.do) - url shortener\n- [nosdrive](https://nosdrive.app) - backups\n- [zaplife](https://zaplife.lol) - zaps dashboard\n- [zapper.fun](https://zapper.fun) - payments\n- [nostrends](https://nostrends.vercel.app) - trends\n- [zephyr](https://zephyr.coracle.social) - trends\n- [wavman](https://wavman.app) - music player\n- [nostrrr](https://nostrrr.com) - relay info\n- [nosdump](https://github.com/jiftechnify/nosdump) - relay info\n- [notestack](https://notestack.com) - blogs\n- [nostr.watch](https://nostr.watch) - relay info\n- [nostr hours](https://snowcait.github.io/nostr-hours/) - use reports\n- [lazereyes](https://lazereyes.nosfabrica.com) - vision prescriptions\n- [snakestr](https://satoshipuzzles.github.io/Snakestr) - games\n- [deletestr](https://zaplinks.lol/deletestr) - deletion requests\n- [2048str](https://zaplinks.lol/2048str) - games\n- [nostrqr](https://zaplinks.lol/nostrqr) - qr generator\n- [notanostrclient](https://zaplinks.lol/notanostrclient) - anon \n\nSuper apps will try to do everything, but can't really do most things super well. Regular-sized Clients will try to manage most of a given domain but are likely to centralize users on themselves, an unwanted effect inside of Nostr. If we want Nostr to grow in a decentralized fashion, we have to start betting on and using more **Mini** and **Micro** clients. ",
"sig": "dadde2458c925f5619b96dbd4aad40cb3a59c56e7b691cdad2b09259573e68b6800da9618557503d1cec0d3e83f46381e2ea62f5b6562ba4e84da6435b2b168e"
}