TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Linen.dev: A 500 kb Slack alternative

753 点作者 cheeseblubber大约 2 年前

49 条评论

thex10大约 2 年前
Not enough discussion here of the parts under &quot;Our Optimization Strategies&quot;, which was the most interesting to me. Assorted reactions:<p>&gt; 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.<p>Kudos to the Linen team for proactively finding this - I have a feeling tons of projects blindly trust that tree-shaking their dependencies will &quot;just work&quot; even though for many libraries it won&#x27;t!<p>&gt; 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.<p>For such a minimal use case, this feels like a logical choice even if it&#x27;s slightly more work to implement.<p>&gt; We ended up moving the code highlight code to a backend api that would cache the results.<p>Love seeing websites make smart choices about which work to handle in the server versus the client.
评论 #35720720 未加载
评论 #35720785 未加载
评论 #35721704 未加载
评论 #35726199 未加载
评论 #35721602 未加载
评论 #35720641 未加载
评论 #35719945 未加载
评论 #35724745 未加载
steve_adams_86大约 2 年前
I 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&#x27;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.<p>It&#x27;s usually a call you need to make based on what you&#x27;re shipping, but at the very least, it&#x27;ll ensure you don&#x27;t blow up your performance because something slipped by.<p>Finally, looking at the components of your bundle if you haven&#x27;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&#x27;s a real drag on the network, parsing, and executing phases in a browser. If you benchmark, you&#x27;ll see significant differences when you trim things back.<p>If you have customers using lower powered devices, this is even more crucial.
评论 #35722179 未加载
评论 #35726379 未加载
rahimnathwani大约 2 年前
It might be worth testing different variants of the landing page copy. The version I see is this:<p><pre><code> Google-Searchable and community focused</code></pre> Slack alternative Sync your Slack and Discord conversations to Linen and get SEO benefits while reducing customer support load<p>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 <i>instead</i> of Slack.<p>Which is it?
评论 #35722214 未加载
评论 #35720773 未加载
anyfactor大约 2 年前
We 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.<p>One very minor friction point with Linen was, it needs to be a bit transparent about their pricing for business tier. I don&#x27;t think &quot;contact us&quot; pricing strategy is the perfect fit Linen&#x27;s target audience.
评论 #35719145 未加载
评论 #35725233 未加载
评论 #35720724 未加载
palijer大约 2 年前
While the optimization is cool and an interesting read - it&#x27;s interesting to call this a &quot;Slack alternative&quot; when there are only a couple similarities between the products in that they have people sending text messages to channels.<p>This is more of an IRC&#x2F;forum alternative to me (which Slack originally was) until it is possible to use Linen instead of Slack.<p>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&#x2F;screen sharing&#x2F;drawing huddles, integrations, SSO and permissions, slackbot, OCR search, notification settings etc aren&#x27;t just a different of features - it makes it a different platform and tool entirely and solve different problems.
评论 #35720371 未加载
alberth大约 2 年前
FYI - this is a VC backed project.<p>Expect this to become a paid offering at some point.
评论 #35719735 未加载
评论 #35722580 未加载
wilg大约 2 年前
I won’t run any apps over 480 KB unfortunately.
评论 #35719846 未加载
评论 #35719767 未加载
评论 #35720995 未加载
asar大约 2 年前
I think linen definitely solves a lot of issues OSS communities face when the majority of issues are answered on discord&#x2F;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.<p>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.
stavros大约 2 年前
Not to take away from Linen, it seems great, but whenever I see new chat software I lament the fact that Zulip isn&#x27;t more popular. It&#x27;s super fast, and its threading model is amazing.<p>Zulip is the only software I&#x27;ve found where you can catch up on weeks of conversation extremely quickly. It&#x27;s fantastic. I never felt that I lost messages, unlike Slack, and it&#x27;s very responsive, again unlike Slack.
评论 #35720021 未加载
mdaniel大约 2 年前
the Show HN: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=33248488" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=33248488</a> and there was another thread last year for their main domain <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=31494908" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=31494908</a><p>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<p>1: I really wish they&#x27;d just stop using Slack entirely since Zulip is open source <i>and</i> bundles this &quot;allow search engine indexing&quot; built-in, but I think that ship has sailed
评论 #35720303 未加载
评论 #35719867 未加载
评论 #35719440 未加载
Eduard大约 2 年前
Ah yes, highlight.js. One innocent<p><pre><code> import hljs from &#x27;highlight.js&#x27;; </code></pre> pulls in over a Megabyte of hundreds of programming language syntax definitions.<p>Do you really need Mathematica, &quot;ISBL&quot;, and &quot;GML&quot; — or would a curated list of popular programming languages such as Python, Java, JavaScript, and HTML (&quot;xml.js&quot; ) be enough? This results in a massive reduction down to ~70 kilobytes.<p>Even better: load this reduced size of highlight.js only on demand, leveraging Webpack&#x27;s &quot;import(..) to webpack chunk&quot; mechanism:<p><pre><code> const getHighlightJs = async function() { let result; if (window.hljs) { result = window.hljs; } else { result = (await import(&#x27;highlight.js&#x2F;lib&#x2F;core&#x27;)).default; const javascript = (await import(&#x27;highlight.js&#x2F;lib&#x2F;languages&#x2F;javascript&#x27;)).default; result.registerLanguage(&#x27;javascript&#x27;, javascript); const xml = (await import(&#x27;highlight.js&#x2F;lib&#x2F;languages&#x2F;xml&#x27;)).default; result.registerLanguage(&#x27;xml&#x27;, xml); &#x2F;&#x2F; xml provides html&#x2F;html5 highlighting window.hljs = result; } return result; }; const lazyHighlightAll = async function() { let result = null; &#x2F;&#x2F; see https:&#x2F;&#x2F;highlightjs.org&#x2F;usage&#x2F; &#x2F;&#x2F; highlight.js&#x27;s hljs.highlightAll() matches on &#x27;pre &gt; code&#x27; const hasHighlightableCode = document.querySelector(&#x27;pre &gt; code&#x27;) ? true : false; if (hasHighlightableCode) { const hljs = await getHighlightJs(); hljs.highlightAll(); result = hljs; } return result; }; document.addEventListener(&#x27;DOMContentLoaded&#x27;, function() { lazyHighlightAll(); });</code></pre>
评论 #35720464 未加载
IceWreck大约 2 年前
I love that its google searchable which fixes the &quot;knowledge-loss after afew days&quot; problem.
alexdanilowicz大约 2 年前
A lot of people already &quot;live&quot; in Slack (i.e., slack has a &#x27;network effect&#x27;, 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?<p>disclaimer: OSS founder here that cares a lot about managing community!
评论 #35719084 未加载
s1k3s大约 2 年前
Another one: Rocket, a self hosted open source alternative: <a href="https:&#x2F;&#x2F;github.com&#x2F;RocketChat&#x2F;Rocket.Chat">https:&#x2F;&#x2F;github.com&#x2F;RocketChat&#x2F;Rocket.Chat</a>
dpcx大约 2 年前
How does this compare to Ripcord[0]? Granted there haven&#x27;t been any new releases of Ripcord in a couple of years, it&#x27;s super lightweight and mostly perfect for my uses.<p>[0]: <a href="https:&#x2F;&#x2F;cancel.fm&#x2F;ripcord&#x2F;" rel="nofollow">https:&#x2F;&#x2F;cancel.fm&#x2F;ripcord&#x2F;</a>
评论 #35719982 未加载
Manjuuu大约 2 年前
The size is only one of the factors, it can be small but slow, especially when the history grows.
评论 #35718970 未加载
评论 #35719348 未加载
mgaunard大约 2 年前
500kB is the size of the web frontend. To that you&#x27;d need to add the web browser, the backend, and whatever runtime the backend needs. It&#x27;s unlikely to be any less than 10MB.<p>Meanwhile I can just write a IRC client in C that&#x27;s less than 100kB.
评论 #35725918 未加载
评论 #35725268 未加载
fatfox大约 2 年前
Maybe it&#x27;s just me being slow in the morning, but it&#x27;s really cool to read the post and only a few seconds later you realise, you&#x27;re already using the product. :D<p>I&#x27;m going to put Linen on my list and I&#x27;m curious to see where it&#x27;s going. The concept of a searchable alternative to &#x27;closed&#x27; communities like Discord is promising.<p>I&#x27;m wondering, though, if it&#x27;s essentially a real-time chat experience that perhaps focuses on speed rather than depth.
评论 #35725661 未加载
lagrange77大约 2 年前
Looks really cool and promising, i think i will give it a try!<p>I found a &#x27;typo&#x27;:<p>&gt; Get branded colors and logos of your community or company. Your community should feel like yours and not<p>The sentence does not
rbanffy大约 2 年前
Commendable, but I am sure there are alternatives that ran on machines with less than 500KB of memory.<p>Slack is mostly IRC with persisted history and threads.
villedepommes大约 2 年前
The 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 <a href="https:&#x2F;&#x2F;github.com&#x2F;Linen-dev&#x2F;linen.dev&#x2F;blob&#x2F;main&#x2F;docs&#x2F;nextjs.md">https:&#x2F;&#x2F;github.com&#x2F;Linen-dev&#x2F;linen.dev&#x2F;blob&#x2F;main&#x2F;docs&#x2F;nextjs...</a> and <a href="https:&#x2F;&#x2F;github.com&#x2F;Linen-dev&#x2F;linen.dev&#x2F;blob&#x2F;main&#x2F;apps&#x2F;web&#x2F;.env.example">https:&#x2F;&#x2F;github.com&#x2F;Linen-dev&#x2F;linen.dev&#x2F;blob&#x2F;main&#x2F;apps&#x2F;web&#x2F;.e...</a><p>Do I really need all these API keys for s3, sentry, push service, ngrok, etc to run a web app on a home network?
TheFreim大约 2 年前
Are 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&#x27;s a lot of cool features that people have made for unauthorized discord client modifications which are technically forbidden which is not ideal.
moffkalast大约 2 年前
How&#x27;s the search? Our company moved to self hosted Rocket Chat from Slack a while ago, and while it&#x27;s acceptable in general, the search is literally the worst search I&#x27;ve ever used in anything ever. Can&#x27;t even find an exact match in the currently opened thread.
评论 #35719861 未加载
评论 #35719881 未加载
sandGorgon大约 2 年前
this is very cool! what things of slack does it NOT have - genuine question here. Like private channels, etc etc ?<p>can it replace slack basically ? what will i have to do ?
评论 #35720957 未加载
throwaway892238大约 2 年前
I thought perhaps this was another &quot;open-source&quot; &quot;free-unless-you&#x27;re-a-business&quot; 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.
评论 #35730103 未加载
cahoot_bird大约 2 年前
It always seemed to me the basics of a messenger app would be the easy part to be accomplished. It&#x27;s the marketing that would be hard seeing as there are already existing solutions such as Slack and Discord.
gigel82大约 2 年前
I like Mattermost and Zulip: they have paid plans, but are also fully open source &#x2F; self hostable, so you know your data stays with you if that&#x27;s what you want.
einpoklum大约 2 年前
500 KB + Tens of millions of lines of code of a browser + a bunch of backend code.<p>Want a lean Slack alternative? Use IRC. Want a fancy Slack alternative? Use Matrix.
评论 #35719698 未加载
评论 #35726540 未加载
评论 #35719670 未加载
评论 #35719703 未加载
评论 #35723267 未加载
user3939382大约 2 年前
Wouldn&#x27;t it be possible to make an IRC client+server that&#x27;s a perfect clone of Slack? I guess you&#x27;d need a SIP plugin for huddles.
评论 #35720862 未加载
otterley大约 2 年前
Feature request: Can we get sign-in with Apple, please? It&#x27;s the only single-click auth integration I trust for privacy.
ESQBOJaguar大约 2 年前
Instantly 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&#x27;m glad someone is thinking about sizes for once.
apatheticonion大约 2 年前
Is it possible&#x2F;legal to create third party chat clients for services like Slack?<p>For me, the biggest barrier for adopting an alternative to Slack (or Facebook Messenger) is that no one else will switch with me.<p>It would be great if Slack could simply become an API for a chat client I prefer.
评论 #35722070 未加载
evolve2k大约 2 年前
Does it also support private chat groups and non Google searchable groups if desired?<p>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.
zvolsky大约 2 年前
The linked blogpost is a message in the blog channel, <a href="https:&#x2F;&#x2F;www.linen.dev&#x2F;s&#x2F;linen&#x2F;c&#x2F;blog">https:&#x2F;&#x2F;www.linen.dev&#x2F;s&#x2F;linen&#x2F;c&#x2F;blog</a>. Brilliant!
CoolGuySteve大约 2 年前
500KB seems to be the bundle size, how much RAM does the client use?
评论 #35719358 未加载
amir734jj大约 2 年前
I don&#x27;t understand. Is this just the frontend or backend?
wkat4242大约 2 年前
It&#x27;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.<p>Still, optimised code is cool.
weird-eye-issue大约 2 年前
Oh 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...?
exabrial大约 2 年前
Can we run this locally and _not_ on the cloud?
评论 #35719257 未加载
what-no-tests大约 2 年前
Wow I was thinking &quot;slackware&quot; and was amazed it would be only 500kb.
gregors大约 2 年前
It&#x27;s cool they&#x27;re using a touch of elixir for the websockets
omeysalvi大约 2 年前
I&#x27;m of half a mind to use this as a self hosted note taking app
yieldcrv大约 2 年前
modern web development:<p>find small packages for pagespeed metrics<p>serve 100mb of ads and analytics
est大约 2 年前
I remember mIRC was just few hundred kbs as well
rado大约 2 年前
The “Join” modal should trap focus.
revskill大约 2 年前
Need desktop app and mobile app.
orthoxerox大约 2 年前
How big is the backend bundle?
robot大约 2 年前
show me the demo
csense大约 2 年前
Chat is pretty trivial: Everybody logs into a server. One person types a line of text, and it replicates on everybody&#x27;s computer.<p>It sounds like an exercise for a CS student&#x27;s first TCP&#x2F;IP program.<p>Is it just me, or does anyone else think that there&#x27;s something wrong about the modern Web when a chat program taking 500kb (gzipped!) is an impressive technical achievement to be proud of?
评论 #35729159 未加载
评论 #35736092 未加载