20 ms·
Linen.dev: A 500 kb Slack alternative
- villedepommes 3y agoThe UI looks so clean and minimal! I love it. If devs are monitoring this sub, could you please provide the minimal self-host instructions? I was reading through https://github.com/Linen-dev/linen.dev/blob/main/docs/nextjs.md https://github.com/Linen-dev/linen.dev/blob/main/docs/nextjs... and https://github.com/Linen-dev/linen.dev/blob/main/apps/web/.env.example https://github.com/Linen-dev/linen.dev/blob/main/apps/web/.e... Do I really need all these API keys for s3, sentry, push service, ngrok, etc to run a web app on a home network?
- Manjuuu 3y agoThe size is only one of the factors, it can be small but slow, especially when the history grows.
- cheeseblubber 3y agoDefinitely. This is why we also do things like optimistic updates, setting query performance alerts, and when possible reducing as much DOM elements.
- KMnO4 3y agoI agree. while(1) malloc(1000); Is only 0.02kb and will bring your computer to a crawl.
- connordoner 3y agoThis made me giggle more than it should have.
- alexdanilowicz 3y agoA lot of people already "live" in Slack (i.e., slack has a 'network effect', same with Discord) and so naturally I think people are more likely to engage with my community on a tool they are using because of work (their company is on slack). How does Linen think about addressing that concern? disclaimer: OSS founder here that cares a lot about managing community!
- cheeseblubber 3y agoSure thing! We support a two way sync between Slack and Discord so using Linen doesn't mean you have to migrate off of either. The end goal here is that we eventually build enough features that more and more people would prefer Linen in the long term. We think that there is a better chat app out there that isn't built yet that handles things like: 1. A non chaotic notification system. Slack and Discord stresses me out. We want to introduce things like !mentions which sends you a push notification and @mention notifies you but doesn't interrupt you. 2. Better thread and content management. Things can get messy in Slack and that you can't find information. We give you ability to move threads and messages around to help organize that and we want to do more to help people find content. 3. More power user features: Slack is probably the most used app for a lot of us and I don't think it is optimized for individual productivity. We want to build something that is designed for our productivity. Something along the lines of Linear or Superhuman.
- mdaniel 3y agothe Show HN: https://news.ycombinator.com/item?id=33248488 https://news.ycombinator.com/item?id=33248488 and there was another thread last year for their main domain https://news.ycombinator.com/item?id=31494908 https://news.ycombinator.com/item?id=31494908 I wish all the locked away Slack communities would use Linen[1] because there are so many nuggets of bug-fixery buried in Slack that will age off or never be found in the horrors of Slack search 1: I really wish they'd just stop using Slack entirely since Zulip is open source and bundles this "allow search engine indexing" built-in, but I think that ship has sailed
- tomrod 3y agoTell me more about Zulip?
- ctvo 3y agohttps://www.google.com/search?q=Zulip https://www.google.com/search?q=Zulip
- tomrod 3y agoHey, glad you found information that works for you! In my experience, Google search results are poor these days, prioritizing esoterica or blogspam instead of useful insights due to decades of SEO battles. I prefer to hear what folks I'm directly interacting with are saying when they make a recommendation instead of jumping to the old "LMGTFY" silliness we all smugly passed to others circa 2008 who forgot to RTFM/RTA.
- ctvo 3y agoIt's the first result, and has a landing page with all the information you need. Maybe you should really Google that first. Asking intelligent questions, but doing some of the legwork yourself would get better results in my experience. Wasting people's time by asking them with 0 context provided (so they know your level of expertise) often gets them to repeat to you what could have been discovered in 30 seconds. You waste your time. You waste their time. It's a selfish thing to do.
- anyfactor 3y agoWe actively evaluated Linen in launching our community. Although, we went with discourse as we are going for a forum type community platform but Linen certainly has fantastic potential. One very minor friction point with Linen was, it needs to be a bit transparent about their pricing for business tier. I don't think "contact us" pricing strategy is the perfect fit Linen's target audience.
- cheeseblubber 3y agoSorry about that. It was a vestige of Linen's first version being very Enterpise sales heavy and we haven't updated it. At the moment it is 150/month for 5000 members for our paid tier and 50/month more for every 5000. Will update it this week! We just shipped our self checkout flow last week: https://github.com/Linen-dev/linen.dev/commit/61c482cab5d5aa4fb3854cfbb89cfe5c85bab03e https://github.com/Linen-dev/linen.dev/commit/61c482cab5d5aa... Just hadn't got the chance to update it on the landing page yet
- tomrod 3y agoReasonable for enterprise, but that's pretty high for my tranche in small business. Any possibility of matching Slack pricing for super small (<20)?
- cheeseblubber 3y agoOh yeah we're planning on introducing pricing for teams soon. Right now we've been focusing on communities. So will have something out for teams soon!
- deleted 3y ago[deleted]
- Aeolun 3y agoDoes that count active users? Or total users? Be a bit sad if you were perpetually paying for some rando that posted a message 5 months ago.
- 3y ago
- rado 3y agoThe “Join” modal should trap focus.
- exabrial 3y agoCan we run this locally and _not_ on the cloud?
- freeqaz 3y agoI'm pretty sure it's Open Source here: https://github.com/Linen-dev/linen.dev https://github.com/Linen-dev/linen.dev
- cassianoleal 3y agoYeah but there are no instructions on how to deploy and operate. No user docs whatsoever that I could find, either on their website or on Github.
- CoolGuySteve 3y ago500KB seems to be the bundle size, how much RAM does the client use?
- capableweb 3y agoAt https://www.linen.dev/s/linen https://www.linen.dev/s/linen Page open: Firefox: 18.5MB Chrome: 12.1MB After browsing: Firefox: 27.14MB Chrome: 11.7MB
- codedokode 3y agoYou must probably be using 16-bit computer because on my x86_64 system Firefox's about:processes tab shows 45-65 Mb of RAM usage after opening this page and scrolling. And Firefox's builtin tools tend to show smaller number than real usage: htop shows use of 85 Mb of PSS (proportional set size, that properly accounts for pages shared between processes).
- capableweb 3y agoOr you must be measuring something more than just the memory Linen uses, like measuring how much memory the tab itself takes, which is Firefox + the application. Doing a heap snapshot will give you a better view of the page memory usage in isolation, without involving the browser itself.
- asar 3y agoI think linen definitely solves a lot of issues OSS communities face when the majority of issues are answered on discord/slack. The need for such a tool should decrease as docs mature however. So maybe a tool to integrate with or update the docs could be cool. On a general note I think you should link back to your landing page from the navigation of a project. Especially if people enter via a search engine, they are essentially locked within an organization. The only way out is to manually navigate to linen.dev.
- deleted 3y ago[deleted]
- stavros 3y agoNot to take away from Linen, it seems great, but whenever I see new chat software I lament the fact that Zulip isn't more popular. It's super fast, and its threading model is amazing. Zulip is the only software I've found where you can catch up on weeks of conversation extremely quickly. It's fantastic. I never felt that I lost messages, unlike Slack, and it's very responsive, again unlike Slack.
- alberth 3y agoFYI - this is a VC backed project. Expect this to become a paid offering at some point.
- cheeseblubber 3y agoWe do have a paid offering. Basically it's free on Linen's domain for public communities and we let you host on your domain like: https://archive.pulumi.com/ https://archive.pulumi.com/ https://linen.prefect.io/ https://linen.prefect.io/ https://slack-chats.kotlinlang.org/ https://slack-chats.kotlinlang.org/
- urbandw311er 3y agoAnd you guarantee in writing that this pricing structure will never change?
- wg0 3y agoVC game will get crazy. Most VC backed products will have their end day like Twitter has almost. Initial and middle Investors kept passing the pie to the next bigger fool and the last bigger fool is now stuck with a very expensive web property desperate to recoup the investment let alone a 10x return. Sounds like a Bitcoin food chain. And then - aggressive monitization, price hikes staff cuts, SLAs adjustments etc.
- MichaelZuo 3y agoI doubt it, VC firms and their principals have a reputation, and the community is not so big that they can endlessly pass the buck like this, without suffering consequences.
- wg0 3y agoThis isn't a game of reputation, fundamentally. In current economic climate if a VC is only getting 4x return on their initial investment and not the usual 10x, they'll say "oh wait, we think this 4x is still over priced, market might slump further and we care for our reputation so much therefore, please pay us only 2x" or they'll say "selling at 4x would ruin our reputation therefore let us not sell at all"? This is the classic VC cycle, companies get sold to the next one for higher gains till the last buyer cannot find any further buyer that can pay even inflated prices neither the stock market responds that much so they end up squeezing every bit of juice of the company by raising prices, reducing free features and what not. Heroku is one example.I can count a dozen more.
- IceWreck 3y agoI love that its google searchable which fixes the "knowledge-loss after afew days" problem.
- wilg 3y agoI won’t run any apps over 480 KB unfortunately.
- peoplearepeople 3y agoI'm pretty happy to run anything below 640 KiB myself
- bee_rider 3y agoFor me, it will happily fit into L3 cache and it isn’t very close to fitting into L2, so I guess it is fine.
- nonethewiser 3y agoWhy 480?
- justinclift 3y agoIt's likely them attempting to be funny. ;)
- robot 3y agoshow me the demo
- einpoklum 3y ago500 KB + Tens of millions of lines of code of a browser + a bunch of backend code. Want a lean Slack alternative? Use IRC. Want a fancy Slack alternative? Use Matrix.
- zimpenfish 3y agoThere's also Mattermost which seems a reasonable Slack alternative (and self-hostable.)
- oblio 3y agoI don't want to host a server and I want my messages to be synced between multiple devices including mobile ones. I want rich messages, images, links. I want threads.
- nottorp 3y ago> I want threads. Anyone has usable threads yet? For the life of me I can't follow Slack threads.
- ComputerGuru 3y agoZulip does. But you can't ignore them, you need to embrace them and use them all the way.
- einpoklum 3y ago> I don't want to host a server Given that we're talking about search-engine-visible logs - just use an existing, public server. > I want my messages to be synced between multiple devices including mobile ones. I actually believe it's better for people _not_ to have Slack on their mobile, so as not to be pestered, but if that's what you want, then you want the "fancy" alternative. Matrix clients can offer you that. > I want rich messages, images, links. So, Matrix. > I want threads. If that's the case, maybe what you really want is a Discourse web-forum rather than Slack.
- 3y ago
- yieldcrv 3y agomodern web development: find small packages for pagespeed metrics serve 100mb of ads and analytics
- dpcx 3y agoHow does this compare to Ripcord[0]? Granted there haven't been any new releases of Ripcord in a couple of years, it's super lightweight and mostly perfect for my uses. [0]: https://cancel.fm/ripcord/ https://cancel.fm/ripcord/
- mdaniel 3y ago> Ripcord is a desktop chat client for group-centric service apples and oranges? Also, I seem to recall there was some drama about if one used Ripcord against a Discord server, it resulted in your account getting banned
- dpcx 3y agoI misunderstood both the title of this post and the headline of the article. I thought linen.dev was a chat client!
- raphman 3y agoIIRC, ripcord works perfectly fine as a Discord client (used it myself for some time) - but if you have ripcord and Discord clients running at the same time, logged into the same account, Discord's anti-spam measures are triggered, and your account gets banned. Discord support refused to reactivate my account, so I had to pester the Discord security lead on Twitter - who was so nice to reactivate it.
- moffkalast 3y agoHow's the search? Our company moved to self hosted Rocket Chat from Slack a while ago, and while it's acceptable in general, the search is literally the worst search I've ever used in anything ever. Can't even find an exact match in the currently opened thread.
- thex10 3y agoNot enough discussion here of the parts under "Our Optimization Strategies", which was the most interesting to me. Assorted reactions: > We found that react-icons had an issue that lead to everything being imported. This meant that we were including every single react-icon in our package whether we need it or not. Kudos to the Linen team for proactively finding this - I have a feeling tons of projects blindly trust that tree-shaking their dependencies will "just work" even though for many libraries it won't! > We also noticed that we were only using AWS client for s3 upload on the client side and it was taking up significantly more bundle size we need so we replaced the entire client side package with a 2 api calls to the AWS api. For such a minimal use case, this feels like a logical choice even if it's slightly more work to implement. > We ended up moving the code highlight code to a backend api that would cache the results. Love seeing websites make smart choices about which work to handle in the server versus the client.
- MuffinFlavored 3y ago> tree-shaking their dependencies What tool did they use: Browserify, Webpack, Gulp, Rollup, Babel, Parcel, ESBuild, etc.
- billiam 3y agoIt appears that they used Webpack, which I found interesting given other alternatives.
- SparkyMcUnicorn 3y agoThe UI package appears to use Rollup. And this looks like the PR for the icons update: https://github.com/Linen-dev/linen.dev/pull/1001 https://github.com/Linen-dev/linen.dev/pull/1001
- MuffinFlavored 3y agothey had to change every import for an icon in 60 files. Wouldn’t it have been better if a PR was done against Rollup to fix this “bug”? probably much more difficult/not possible?
- lagrange77 3y agoLooks really cool and promising, i think i will give it a try! I found a 'typo': > Get branded colors and logos of your community or company. Your community should feel like yours and not The sentence does not
- s1k3s 3y agoAnother one: Rocket, a self hosted open source alternative: https://github.com/RocketChat/Rocket.Chat https://github.com/RocketChat/Rocket.Chat
- sandGorgon 3y agothis is very cool! what things of slack does it NOT have - genuine question here. Like private channels, etc etc ? can it replace slack basically ? what will i have to do ?
- 2h 3y agoseems private chats are not a thing. which is a dealbreaker for me coming from Discord. I asked in support so I guess we will see.
- rahimnathwani 3y agoIt might be worth testing different variants of the landing page copy. The version I see is this: Google-Searchable and community focused Slack alternative Sync your Slack and Discord conversations to Linen and get SEO benefits while reducing customer support load The latter sounds like I need to be a Slack or Discord user, and Linen makes the conversations searchable on the web. But the title (Slack alternative) makes it sound like I can use Linen instead of Slack. Which is it?
- Aeolun 3y agoYeah, I had the same questions. Is it a chat app, or an indexing app? After spending some more time it seems to be a chat app that allows importing.
- CSSer 3y agoAnd that's a pity because I got really excited by the prospect of the alternative. It made my gears start spinning for viable ways to accomplish that. Oh, the ideas I'd work on if I had unlimited time...
- rhyssullivan1 3y agoIf you're interested in the alternative of an indexing app, you might like https://www.answeroverflow.com/ https://www.answeroverflow.com/! It's also open source if you want something to contribute to (for the record i'm the developer of it)
- accrual 3y agoYeah, the "Google searchable" copy specifically is a red flag for me. Does that mean I need to let Google index my corporate conversations?
- KennyBlanken 3y agoThey are positively fixated on being "google searchable" in a way that is really bizarre.
- cahoot_bird 3y agoIt always seemed to me the basics of a messenger app would be the easy part to be accomplished. It's the marketing that would be hard seeing as there are already existing solutions such as Slack and Discord.
- gigel82 3y agoI like Mattermost and Zulip: they have paid plans, but are also fully open source / self hostable, so you know your data stays with you if that's what you want.
- Eduard 3y agoAh yes, highlight.js. One innocent import hljs from 'highlight.js'; pulls in over a Megabyte of hundreds of programming language syntax definitions. Do you really need Mathematica, "ISBL", and "GML" — or would a curated list of popular programming languages such as Python, Java, JavaScript, and HTML ("xml.js" ) be enough? This results in a massive reduction down to ~70 kilobytes. Even better: load this reduced size of highlight.js only on demand, leveraging Webpack's "import(..) to webpack chunk" mechanism: const getHighlightJs = async function() { let result; if (window.hljs) { result = window.hljs; } else { result = (await import('highlight.js/lib/core')).default; const javascript = (await import('highlight.js/lib/languages/javascript')).default; result.registerLanguage('javascript', javascript); const xml = (await import('highlight.js/lib/languages/xml')).default; result.registerLanguage('xml', xml); // xml provides html/html5 highlighting window.hljs = result; } return result; }; const lazyHighlightAll = async function() { let result = null; // see https://highlightjs.org/usage/ // highlight.js's hljs.highlightAll() matches on 'pre > code' const hasHighlightableCode = document.querySelector('pre > code') ? true : false; if (hasHighlightableCode) { const hljs = await getHighlightJs(); hljs.highlightAll(); result = hljs; } return result; }; document.addEventListener('DOMContentLoaded', function() { lazyHighlightAll(); });
- capableweb 3y agoHightlight.js basically have two main modes of usage: The one you complain about is specifically about importing everything, because that's what the user wants in that case, importing it like that signals that that's what the user wants. Otherwise you can do the following: import hljs from 'highlight.js/lib/core'; import javascript from 'highlight.js/lib/languages/javascript'; hljs.registerLanguage('javascript', javascript); Maybe the defaults should be different, but a 30 second read of the most basic information available in the repository would reveal how you can use it the way you want too, without any complication that the rest of your comment seems to want to introduce.
- Eduard 3y agoBut that's what my code does, albeit my code loads only on demand (plus can be easily improved to load any further language dynamically), whereas your code statically bundles everything into the main bundle (if not using proprietary Webpack chunk comments, which I see as antipatterns).
- deleted 3y ago[deleted]
- TheFreim 3y agoAre third party clients allowed? One thing that has made me avoid discord and most of these sorts of chat apps is that they really hate users having customized clients. There's a lot of cool features that people have made for unauthorized discord client modifications which are technically forbidden which is not ideal.
- user3939382 3y agoWouldn't it be possible to make an IRC client+server that's a perfect clone of Slack? I guess you'd need a SIP plugin for huddles.
- Minor49er 3y agoYou would also need to modify both the server and client to handle things like special roles and permissions, invitations, embeds, file hosting, chat history retention, chat search, threads, and custom reacts, to name a few differences
- palijer 3y agoWhile the optimization is cool and an interesting read - it's interesting to call this a "Slack alternative" when there are only a couple similarities between the products in that they have people sending text messages to channels. This is more of an IRC/forum alternative to me (which Slack originally was) until it is possible to use Linen instead of Slack. Or just as a Slack plugin for the public Google search aspect - but this is absolutely incorrect to call it a Slack alternative for anyone who is using Slack as Slack. Things video/screen sharing/drawing huddles, integrations, SSO and permissions, slackbot, OCR search, notification settings etc aren't just a different of features - it makes it a different platform and tool entirely and solve different problems.
- RicoElectrico 3y agoHonestly "alternative" should be a taboo word for most OSS projects, as it is overselling stuff. Manage expectations.
- otterley 3y agoFeature request: Can we get sign-in with Apple, please? It's the only single-click auth integration I trust for privacy.
- what-no-tests 3y agoWow I was thinking "slackware" and was amazed it would be only 500kb.
- steve_adams_86 3y agoI highly recommend front end devs add a step to their CI pipeline which extracts bundle size information from the build and includes it in pull requests, or something similar. It's great to have eyes on how heavy your bundle is, and keeping an eye on how it changes over time (easy to add as part of the pipeline) can help the team understand when things are trending the right way or not. It's usually a call you need to make based on what you're shipping, but at the very least, it'll ensure you don't blow up your performance because something slipped by. Finally, looking at the components of your bundle if you haven't already is well worth it. Like the people over at Linen noticed, they were shipping a ton of icons they were never using. This is happening all over the internet, and it's a real drag on the network, parsing, and executing phases in a browser. If you benchmark, you'll see significant differences when you trim things back. If you have customers using lower powered devices, this is even more crucial.
- tommoor 3y agoI recommend RelativeCI for this, have used them for several projects – https://www.relative-ci.com https://www.relative-ci.com You can get a feel for what it looks like here on an active project here: https://app.relative-ci.com/projects/TMqufq6bi8qzsOjEHSWY https://app.relative-ci.com/projects/TMqufq6bi8qzsOjEHSWY – but mostly you end up using the status pushed to GitHub PR's
- steve_adams_86 3y agoThis is really sleek, thanks for linking it! I’ve always rigged these up myself, and this is quite a bit nicer.
- vio 3y agoRelativeCI founder & bundle-stats maintainer here, thank you for the mention, Tom! I totally agree with the need to run bundle analysis checks often for medium/large-size applications. It will help to notice the issues when they are introduced, otherwise, the optimization task becomes really challenging. Actually, I built bundle-stats & RelativeCI after spending weeks on optimization tasks running hundreds of slow builds, staring at multiple webpack-bundle-analyzer reports, and using google spreadsheets to track asset/module changes. One thing I noticed in the last 2-3 years is that we got better as an industry at managing the bundle size bloat: - improved libraries - new light versions for popular libraries - new and improved bundlers - new and improved meta frameworks - better tooling & more resources However, the web applications we are building now are larger and more complex than before, with hundreds of bundled libraries and tens of thousands of modules. The increased complexity has made the bundle analyzing and optimizing even more complicated. One of the most common feedback I received was to better integrate the bundle analysis and insights during the code review phase and allow developers to detect and fix the issues as soon as they are introduced: - [done] Pull request comment with bundle analysis insights & summary (https://relative-ci.com/documentation/setup/configure/integrations/github-pull-request https://relative-ci.com/documentation/setup/configure/integr...) - [in progress] pending/approve/reject review flow based on custom rules
- omeysalvi 3y agoI'm of half a mind to use this as a self hosted note taking app
- wkat4242 3y agoIt's 500kb javascript. That makes it al lot less impressive, as a lot of stuff will be done by the parser. And it seems to pull in a lot of libraries too. Still, optimised code is cool.
- zvolsky 3y agoThe linked blogpost is a message in the blog channel, https://www.linen.dev/s/linen/c/blog https://www.linen.dev/s/linen/c/blog. Brilliant!
- gregors 3y agoIt's cool they're using a touch of elixir for the websockets
- apatheticonion 3y agoIs it possible/legal to create third party chat clients for services like Slack? For me, the biggest barrier for adopting an alternative to Slack (or Facebook Messenger) is that no one else will switch with me. It would be great if Slack could simply become an API for a chat client I prefer.
- rillweed 3y agohttps://volt-app.com/ https://volt-app.com/
- apatheticonion 3y agoThis is cool! Looking forward to Linux and Windows support seeing as that's where I spend pretty much all my time
- Aeolun 3y ago> If Volt is not open-source yet, how can I be sure my messages and accounts are secure? > Violating your privacy by sharing or analyzing your data is a criminal offence. Uh, yeah. I don’t think that has ever stopped anyone. We have had companies literally spraying the personal info of all their customers all over the internet, and as far as I know they’re still running.
- weird-eye-issue 3y agoOh I remember this tool. I submitted a form to be notified of their Discord integration months ago and never received anything. Is it working now...?
- est 3y agoI remember mIRC was just few hundred kbs as well
- throwaway892238 3y agoI thought perhaps this was another "open-source" "free-unless-you're-a-business" product, but the license is actually AGPL, so you can go host this yourself regardless of use case. You just have to share any modifications you make.
- uehfudg 3y agowhere did you even find the source/license? I'm probably too dumb. clicked some 20 places and still nothing. only find their unlinked to source marketing nonsense "Linen is an open source".
- throwaway892238 3y agohttps://github.com/Linen-dev/linen.dev/blob/main/LICENSE.txt https://github.com/Linen-dev/linen.dev/blob/main/LICENSE.txt
- mgaunard 3y ago500kB is the size of the web frontend. To that you'd need to add the web browser, the backend, and whatever runtime the backend needs. It's unlikely to be any less than 10MB. Meanwhile I can just write a IRC client in C that's less than 100kB.
- jdthedisciple 3y agoIt's about how much gets downloaded to your client machine
- hyperhopper 3y agoAnd then you need an irc bouncer as well though. And still don't have a fraction of the features. As somebody that used irc a lot in the day, it's ridiculous to suggest that a protocol that doesn't even save chat history is being compared to the feature rich chat apps of today.
- mgaunard 3y agoSlack and its clones have fewer features than IRC, not more. They're also much more wasteful of resources, and needlessly proprietary ecosystems.
- deleted 3y ago[deleted]
- preseinger 3y agotrivially false. consider: inline images, emojis, rich links, rich integrations
- fatfox 3y agoMaybe it's just me being slow in the morning, but it's really cool to read the post and only a few seconds later you realise, you're already using the product. :D I'm going to put Linen on my list and I'm curious to see where it's going. The concept of a searchable alternative to 'closed' communities like Discord is promising. I'm wondering, though, if it's essentially a real-time chat experience that perhaps focuses on speed rather than depth.
- wsgeorge 3y ago> a few seconds later you realise, you're already using the product. I only realised this after reading your comment. That was an unexpected/pleasant surprise.
- orthoxerox 3y agoHow big is the backend bundle?
- rbanffy 3y agoCommendable, but I am sure there are alternatives that ran on machines with less than 500KB of memory. Slack is mostly IRC with persisted history and threads.
- amir734jj 3y agoI don't understand. Is this just the frontend or backend?
- revskill 3y agoNeed desktop app and mobile app.
- vrglvrglvrgl 3y ago[dead]
- csense 3y agoChat is pretty trivial: Everybody logs into a server. One person types a line of text, and it replicates on everybody's computer. It sounds like an exercise for a CS student's first TCP/IP program. Is it just me, or does anyone else think that there's something wrong about the modern Web when a chat program taking 500kb (gzipped!) is an impressive technical achievement to be proud of?
- gnrlst 3y agoIt's the 80/20 ratio - going from working MVP of a chat app takes about 5kb, but then you have literally nothing else that makes something like linen or slack usable for lots of different edge cases (styling, file uploads, channels, UI, etc)
- yokto 3y agoThe text chat experience is something that has been so refined over the last 10 years that to meet today's expectations towards it, you need a very surprising amount of engineering. It's something I didn't realized until I started coding it: every detail that you omit from your chat UX is a tragically noticable pain to the user used to WhatsApp and Slack 100 times a day.
- ESQBOJaguar 3y agoInstantly sold. I have noticed programs and apps increase in size of the years and I never was really quite sure of why. Functionality had not changed all that much to warrant the change in size. I'm glad someone is thinking about sizes for once.
- evolve2k 3y agoDoes it also support private chat groups and non Google searchable groups if desired? I’m in some communities who are currently looking for slack alternatives, that may not want their chats to be logged and shared online beyond the chat tool itself.