by sgdesign on 6/29/22, 1:57 AM with 78 comments
by baron816 on 6/29/22, 6:07 AM
The year: 2015. I had just graduated from Dev Bootcamp in NYC and was desperately searching for my first engineering job. I came across a job posting on Craigslist for a startup that sounded promising. It was one of the few interviews I could even get. They told me next to nothing about the job, and literally nothing about the product, except that it would be built with Meteor.
The whole interview process was the weirdest I’ve ever been in. The two founders brought in four candidates (myself included) into a single conference room and told us they were going to hire two of us. They then went on and on for an hour telling us about how successful and genius they were, and that they were going to be building something 10 times more successful than Facebook. The whole interview was essentially a lightning round of JS trivia questions (type coercion edge cases and such). First to answer correctly got a point and so on.
Naive me, I remember building out a whole Meteor project trying to impress them. They took about three weeks to tell me that I had gotten the job and they were ready to tell me what the product was, I just had to sign an NDA, get it notarized, and hand deliver it to them.
Before I could deliver the NDA to them, they told me the terms of my offer—$13/hr at 20 hours per week. No benefits or equity, obviously. BUT, I would get 1% of any profits.
Making minimum wage in NYC with no potential for upside gain was not in the cards for me, but it did drive me to learn about Meteor—a technology I wasted about two months with before abandoning because no one in their right mind was using it.
by silversmith on 6/29/22, 4:47 AM
Feeling like a rockstar while developing. Impressing the colleagues and clients with how amazing functionality I could produce in so little time.
Then the absolute horror of production traffic hitting the system and everything grinding to a halt. If I remember correctly, the resources required by their reactive data model scaled up significantly both with read connection count and write activity. And I could not do a damn thing about it without a complete rewrite. First and only real case in my career where I simply could not solve the problem, not even a small part of the problem.
Oh, and it also let me experience running Mongo as primary data source. A lot of experience gained courtesy of meteor.js, for sure, but I'd prefer it to stay in rear view mirror for sure.
by dvt on 6/29/22, 5:47 AM
I think that HTML over the wire is still pretty context-specific. There's even modern cases where I think it makes sense to just render whatever blob you get over the wire.
I don't think that "Database Everywhere" deserves a thumbs down. It's an insanely useful prototyping tool, genuinely useful when trying to replicate reactivity, not to mention extremely performant for all that work it actually did (it sort of "hacked" this by hooking into Mongo's oplog). Meteor's mistake was, imo, mainly deciding to do this with MongoDB instead of a SQL variant.
I think I'd probably give "Embrace the Ecosystem" a shrug. The modern-day "Ecosystem" is a mess. To start a project, you need tsc, but wait not that version of tsc, and you also need React, but now you need Webpack. And also a CSS plugin, but also a SASS plugin. Oh, an SVG plugin too. But now you have a conflict. Have fun. I actually prefered using Meteor's more limited ecosystem where everything just worked out of the box.
Also no mention of CoffeeScript (which was heavily pushed); that deserves at least two thumbs down.
Anyway, I miss Meteor :)
[1] https://www.oreilly.com/library/view/introducing-meteor/9781...
by maxencecornet on 6/29/22, 8:48 AM
Thank you for the good memories, I know every thing and everyone you talked about in this post. BTW, back in the days I created 2 very popular Atmosphere packages
I wish Meteor succeeded in becoming more mainstream, and the MDG didn't abandon it so quickly to go after the new shiny tool that was GraphQL
Nowadays, there is still no equivalent framework in the JS world in terms of productivity
by tomcam on 6/29/22, 4:36 AM
by testesttest on 6/29/22, 4:03 AM
by jimmytidey on 6/29/22, 9:48 AM
My memory of it is that Meteor is fantastic, but Mongo is a nightmare.
I spent hours carefully designing my database so I didn't need joins and adding indexing, but it never ran as fast as unoptimised MySQL, and had vastly less functionality.
Mongo was literally all hype - I find it impossible to imagine the use case. A salutary lesson in how rubbish the latest fashionable thing can be.
by _query on 6/29/22, 7:05 AM
by lelo_tp on 6/29/22, 1:45 PM
The coolest thing about the text is seeing what the original Meteor team is doing nowadays. They went to build companies like Apollo and Chromatic and found new tech like Vue.JS and Storybook.
Overall, I feel Meteor was too ahead of its time - being early and being wrong are the same thing in our world. Nonetheless, if you build a great team filled with passioned people, you eventually find your “thing”. Its just a matter of time, effort and iteration.
by ilrwbwrkhv on 6/29/22, 4:38 AM
by egeozcan on 6/29/22, 6:04 AM
2 years ago I wondered if it still works, installed meteor, did an update and voila! It worked, just million times faster to build and much more responsive: https://github.com/egeozcan/lunchplanner/commit/91541a637531...
Even the built-in account system still works!!
Of course, it's not a serious project but I'm just very positively surprised how great of a DX Meteor has.
by _nalply on 6/29/22, 1:45 PM
A friend of mine got stuck on a bug where sometimes he got a different value than he expected and after a walkthrough I showed him what happened. So Meteor is not really friendly to beginners if you have the bad luck to provoke a data race.
This is the main weakness of Meteor. I was not surprised that MDG pivoted to Apollo.
My friend is still happy with Meteor, because I told him where to look for concurrency problems.
by greggman3 on 6/29/22, 5:24 AM
When I look into other frameworks today they all seem lacking. They expect me to setup the backend "how I want it" and then write my own glue. (and of course make all my own mistakes). Where as meteor, "it just worked" out of the box
by qunabu on 6/29/22, 9:30 AM
Never ever have I seen such a rich product that had everything and was easy to learn - back then their todo tutorial took less then 1 hour, after you had fully working todo app.
Yet too much magic was not what developers wanted, during the process you felt like loosing control over the processes you don't understand nor have access too.
Compering this to building a standard app back then with REST API, and backbone/angular/react frontend seems like saving tons of time, yet developers decided on the latter in most of the cases.
> It soon became clear that the community was splitting into two camps: those who appreciated Meteor’s clear value proposition of simplifying web development by providing an all-in-one environment, and those who wanted more openness towards the npm ecosystem to avoid being left behind by the rest of the webdev community.
That seems to be a case. Also lack of people that wanted to use this in production and cost of developers.
My last app in meteor was written in 2017, after hitting success everything died, even after adding 10x more CPU and RAM. Problem was that Mongo/Magic was sending too much data, multiplying this by few thousands users caused killing node.js server in seconds. Using Kadira profiling and 2 nights of coding problem was solved and app was running fine, both web and mobile (meteor cordova). Client was happy, same with users - it was success. After investor came in, they decided it must be rewritten, because at that time, there were only 2 or 3 companies in Poland that knew that technology - investor decided its a bottleneck - whole thing was rewritten to Java Spring and Angular (or something similar).
PS. I wrote a post about the case in 2018 https://medium.com/qunabu-interactive/tuszama-case-study-met...
by esschul on 6/29/22, 7:42 AM
I remember that the effortless hosting they had setup was a dream. Still have never got that feeling again from any project.
by arunoda on 6/29/22, 1:27 PM
by Ros2 on 6/29/22, 6:43 AM
Aggregate database queries using Meteor (at least as of 1.0) would create an immense amount of backend overhead if you queried through minimongo. And the overhead was incurred as long as a user was on that page because of how the reactivity worked. I tried making a PR to optimize this but apparently it wasn't comprehensive enough. I kept checking for years but no one attempted to fix this. Before you get nostalgic for Meteor, issues like that were awful.
Meteor (and RethinkDB) were just* pub/sub you had almost no control over. Was fun playing around with, though!
* (also, being able to automatically add accounts and authentication was great)
by almostarockstar on 6/29/22, 11:33 AM
I reluctantly moved on to a larger project where Meteor just didn't make sense and it just seemed to fall apart in the rear-view mirror.
I have such fond memories of using the CLI to scaffold a new project that came with built in auth, UI components, and a simple, sane project structure, then deploy it with a single command...bliss.
by skilled on 6/29/22, 7:14 AM
I mean, the project had everything. Exceptional people, great funding, and the framework itself provided superb user experience. I haven't been in the loop for many years, but I might have to put together a weekend project for nostalgias sake.
by efortis on 6/29/22, 8:20 AM
Also, I wrote a clone of their ‘match’ library, I call it type-check [2].
And I made something like their DDP for my app. [3]
In summary, I highly appreciate Meteor’s ideas, my app is architected based on many of them.
Thank you MDG!
1. https://github.com/uxtely/js-utils/tree/main/reactive-state
2. https://github.com/uxtely/js-utils/tree/main/type-check
3. https://blog.uidrafter.com/architecture-of-a-desktop-alike-s...
by nsbk on 6/29/22, 8:57 AM
I insisted on staying away from it when building our main service, which had very high data throughput and near realtime requirements. I was very happy about this decision when we had to run away from Mongo due to some atrocious performance issues.
Anyway, some of the concepts and ideas that we prototyped in Meteor, we replicated in our stack (Redis pub/sub + websockets + jQuery) with a lot more work but with zero performance problems. We would have probably not came up with such concepts and ideas without having the chance to build them in Meteor in the first place.
by winrid on 6/29/22, 8:00 AM
by kanonieer on 6/29/22, 10:03 AM
If anyone wants to explore an open-source Meteor project in the wild, a kickstarted project named Pixel Art Academy[1] comes to my mind. Looking through the repo[2] takes me back to CoffeeScript days.
by dublin on 6/29/22, 9:07 PM
I haven't looked at all the low-code/no-code offerings out there, but most of them seem very limited compared to Meteor, either because they intentionally limit scope to make the building easier, or because they rely on heavy SaaS backends and such, rather than Meteor's easy deployabilty to any old server.
Suggestions?
by ianbutler on 6/29/22, 1:58 PM
I do a lot now with Phoenix and LiveView and there are a lot of parallels.
Crazy that it’s been 10 years.
by Tade0 on 6/29/22, 2:42 PM
Curious is the omission of Svelte, which ranks pretty high in some statistics from the author's own project:
https://2021.stateofjs.com/en-US/libraries/front-end-framewo...
by scotty79 on 6/29/22, 9:55 AM
Qwik look super interesting and I was amazed how fast and easy you can try out a framework built on Deno (Fresh).
I already had Chocolatey installed so it was:
choco install deno
deno run -A -r https://fresh.deno.dev my-project
deno task start
And I could start poking around the files of some example project and all the files seem to have a immediately clear purpose.by DonHopkins on 6/29/22, 6:13 AM
Does anyone know where to get a good Meteor hamburger menu?
It would be incredible if it weren't so meaty!
by yawnxyz on 6/29/22, 9:45 AM
Thanksfully new tools like Supabase and Deta provide a somewhat similar developer experience to Meteor, but it hasn't been the same!
by milkers on 6/29/22, 1:54 PM
by mark_l_watson on 6/29/22, 1:44 PM
I wanted to code in Typescript but I had problems with that and eventually dropped Meteor. It really was an amazing project.
by AndrianV on 6/29/22, 9:48 AM