One thing I wasn't too fond of in this case is that the Download: Source-code link on that page which has a github logo on it, doesn't actually go to a github page if you click it, it goes to a login/sign-up page for Total.JS and looking at the Total.JS github repo. page, this messenger app. doesn't appear to be there https://github.com/totaljs?tab=repositories
The messenger itself seems to be an (allegedly) open-source product that is only available to "premium members". Nowhere could I see a license nor source.
Price seems to be low enough not to matter but I'm not paying if it's not MIT/GPL or any other O.S. license (I'm not saying it isn't, I just can't find it).
Yeah, that seems like a weird thing to list as a 'feature'. Tell us why it's a feature that stands out over the competition, put that explanation on the list instead.
Probably to convince manager types to adopt it? NoSQL is a hot marketing word among people who don't actually write code. Just go to any conference about "big data" and listen ;)
It's like the word "XML" 10 years ago. Just say some BS about how you're adopting a new XML-based infrastructure for motivating a novel, globally-connected society with Web 2.0 standards compliance, and the managers will let you do what you really want to do.
I'm not the author but I'll attempt to clear up the confusion based on what I've read.
Total.js's specific usage of "embedded" in this case means it includes 3000 lines[1] of pure Javascript that embeds the entire db engine source code into the project.
As for SQLite... as far as I can tell with Googling, there is no port of SQLite's C code to pure Javascript code that's maintained with popular support. (I found an old 2014 project[2][3] but it doesn't appear to be up-to-date.) Yes, there is a Javascript API[4] to SQLite but that's different from the SQLite engine itself being converted to 100% Javascript.
That's the nuance of "embedded" in Total.js' context. Yes, SQLite is an embedded db but nosql.js is even "more embedded" than that.
That said, whether Total.js embedded js db engine is as high performance and error-free compared to SQLite is unknown.
Genuine question, why does SQLite get so much hate? Is it because it's SQL, or it's embedded, or what? I've used it for a lot of projects where I have to move the server around a lot and it's super convenient
SQLite gets a lot of love when it's used for the right job.
It's not a replacement for a full-blown RDBMS. If you need a database for a multi-user application, you'll probably be better served by something like PostgreSQL. For single-user applications, however, it's quite fantastic.
Huh? Not sure what you mean but it's not intended as a "server database". It is however used a lot in production as an embedded DB in applications. E.g. I've seen SQLite in lots of Android apps.
Pasting imaging from clipboard is released, but is only implemented on the new (experimental) RTE editor, which has to be optionally enabled in Settings.
Oh man, all of those things are so convenient once you start using them. If you've never used them, great, irc is probably fine. For me, I could never ever go back to irc, having gotten accustomed to all that stuff on slack.
For example, want to share a screenshot? Hit print screen to capture it, click to the browser, click to the tab, hit ctrl-v to paste, done. Instead of, what, uploading an image to an image-sharing site? I wouldn't even know how to do that at this point.
For future reference in case you need to share a screenshot elsewhere... It's literally the same process to post a screenshot to imgur. No account needed.
I am a big fan of greenshot. It takes over the print screen button. You then draw a box around the area you want to capture and then you can select to copy to clip board or open it in the sketching portion or even upload direct to imgur where it then puts the URL of the file in your clipboard.
If only it didn't have the whole gigantic material-y 2.0 UI with gigantic everything. I want a tiny tiny customizable window with everything compact and anything non necessary gone.
I would be curious to know which things you're referencing. Because I'm looking at it right now and it mostly seems fine. No icons or anything seem overly large.
Try and squeeze discord into a 400x400 window (or something similarly small and out of the way) to put in the corner of your screen. Mission impossible.
Squeeze an IRC client into 400x400, and you'll still have plenty of room to read what's going on.
IRC sample (it's not 400x400, but you should get the idea):
I think there's a lot that could be done to make Discord more desktop real estate friendly. It's one semi-dealbreaker for me too. I can't have one single chat app require almost one whole new monitor.
Not only that, you also have to pay to see the source code even after registering (which is okay with the OSS licenses). Any paying customer cares to clone it to github and show us? Since it's MIT licensed there should be no problem.
I kinda like the idea of pre-filling the email input fields with "@" and have never seen that before. It's pretty easy to remove or type my login address around your provided @ (which a recurring visitor rarely does, as you stay logged in). But every once in a while I find myself in a foreign environment / keyboard layout / device having no idea how to type that character.
While excessive dependencies is a problem and a liability, reinventing the wheel is even a bigger problem! NPM is there to solve a problem and when used correctly it brings HUGE benefits in many ways. Listing this as a benefit is clearly not understanding what NPM is for and part of the classical Not Invented Here.
Not relying on package manager does not imply that they rewritten all the functionality provided by relevant packages. They may still use 3rd party libraries but instead of adding dependency to package manager, they may pull their sources in build script or copy the sources into their own source tree.
That is true but also a small nightmare for anyone in Node.js ecosystem who wants to contribute. However from a quick glance it doesn't seem like it, it seems like they depend on total.js framework as expected. Only the main framework file index.js is already 15k lines long: https://github.com/totaljs/framework/blob/master/index.js
I think there is a trade off, look at what happened with the left-pad dependency.
Having no dependencies is great, but you need a rather large community of contributors to offset that or you end up with a stagnant undocumented bundle of source code.
I get what you're saying but I'm not so sure -given it's team-centric (read: closed to outsiders) model - qualifies as network effect. That is I don't really benefit from anyone else on the "network" other than my team. So if your team doesn't want to Slack the friction here is so low (a need to setup your account) that the benefits (e.g., control, privacy, etc.) can be justified.
In addition the communication "niche" is MASSIVE. Communicate, as humans it's what we do. There's a reason why FB paid soooo much for WhatsApp, yes?
If add-on can make this product something between Slack and (the shitty implement of) FB groups, there's plenty of room for such a thing.
The difference is no companies were using MySpace, Usenet or GeoCities internally. Companies are using Slack. It's easy to switch when it's just chatter among unassociated individuals.
That's a good point about Slack being B2B. Thinking about B2B lockin, Slack has lockin to the degree that businesses are heavily invested in its unique features rather than just benefiting from improved communication.
Maybe fax machines make a better technical comparison. Email replaced their intra-company use in a few years. What kept them in use is that they are customer facing. Similarly, Skype and such replaced copper telephone lines for internal conference calls and in many businesses cell phones replaced landlines for intracompany communication and the phone system exists because it is customer facing.
I disagree with all the hope of a naive programmer: It's awesome that closed-source UIs get replicated as open-source and become a commodity.
Paid software is great, I don't mind that, but software that you don't own doesn't become legacy. Infrastructures like Linux, Eclipse, Nginx, Java will be legacy, SublimeText and .Net won't.
Many comments here seem to miss the point. This is a sort of a template for a full-blown app based on their framework to speed up development amd illustrate using Total.js, more than a competitor to Slack, or even a "product".
They seem to have other templates such as a CMS.
I remember using Totaljs (the framework) for a pet project a couple of years ago when I was willing to check out the nodejs hype for myself. Websocket support was nice.
I should have probably gone for something more "traditional" like Express (to learn proper node), but I have to say that coming from Java/Spring, I felt quite at home with it. Also, learnt a lot about callback hell.
Nice to see they went on with the project and built some stuff on it. Open source looks like the way to go for them, which is a good thing for everyone.
Im trying to add messaging to a platform I'm building with a friend, this looks like a good potential fit. Im currently using Twilio IP Messaging, but the fact I need to implement the UI and doesn't supports attachements/pictures is aslo not great. Anyone has tried other good alternatives? One of our main requirement is that we keep control of who can be added to a contact list based on a transaction.
Looks very good and I like that they have a screenshot right on the home page. I wish there was an anonymous instance to try it out without the tedious login process...
Until they figure out a better way to bridge to Slack and other popular walled gardens, it will remain in the realm of those universal IM chat programs of yore, always chasing proprietary protocol changes.
what's the problem with the slack bridging btw? the fact it needs webhooks? (a puppeted bridge is on the horizon that logs you in natively as your slack user)
The problem with trying to clone slack isn't slack, it's that for anyone to care about using it, it had to be better than IRC. Even slack hasn't beaten IRC.
How did this link rocket to the front page so quickly and get a bunch of points, but the comments are mostly pointing out aspects/criticisms of this product that show it is not in alignment with the HN community?
It was posted at the best time day for a US audience (5 am CDT) and the marketing for it is pretty solid. But yes I think so, it had around 10 upvotes in a minute or so.
Minor astroturfing (having real people you know with real HN accounts) rocket you to the front page is pretty easy and hard to detect. It only takes around 5 votes as long as you get them quickly and they're judged to be high quality votes. However if you don't keep getting votes (your post is totally horrible) you will drop off FP fast.
I can see why people find the submission intellectually interesting. In part because Slack is relevant. In part because Javascript frameworks and plain old Javascript are relevant. And in large part because just making something is relevant. Being intellectually interesting is the core tenant of Hacker News.
A lighter weight open source alternative to Slack is relevant. Even though it probably makes tradeoffs that people will complain about.
I think half of the "irc > slack" crowd are trolling or willfully ignorant, either one as a form of technical elitism/hipsterism. Slack is a nice UI, has a nice app on nearly all modern mobile platforms, has drag-n-drop uploads, 10,000 message history for free. Even if none of it is perfect, it has all by default. I have been informed that you can do a bunch of really complicated stuff to mostly match these features in IRC while also taking the responsibility of maintaining it. I've even been told the lack of receiving messages when returning from offline is itself a feature (for business use, "lost messages" this makes it dead on arrival). But when I show my less technical boss or startup co-founder "deploy new slack team quickly in 2 minutes" vs "IRC can be selfhosted, but maybe can be brought up to slack's feature parity in some indeterminate amount of labor hours", I think the choice is obvious.
Nah it's much more likely that the people complaining are the vocal minority. I think this is awesome! But I wouldn't comment about it. However HN is filled with people that are amazing at finding issues with things and who love to share those issues.
One thing I wasn't too fond of in this case is that the Download: Source-code link on that page which has a github logo on it, doesn't actually go to a github page if you click it, it goes to a login/sign-up page for Total.JS and looking at the Total.JS github repo. page, this messenger app. doesn't appear to be there https://github.com/totaljs?tab=repositories