Time for a Community Fork?

@joshowens
Nothing is forever - remember parse? :slight_smile: ā€“ that didnā€™t exactly go forever. And it was Facebookā€™s.

The trick for open source is to chose projects with a good features vs risk ratio. Blaze suffered because itā€™s taking a long time to take it over ā€“ and thatā€™s MDGā€™s doing. Once it is taken over who knows where it goes. Making it have great performance shouldnā€™t be too hard, we just need to start.

My philosophy ā€¦ instead of watching ā€¦ we are doing.

1 Like

Donā€™t want to come off rude but Instead of replying forum posts, if you put that time and energy into react, you will nail it.

I too was very unsatisfied with blaze situation and was quite vocal on that famus 1000 reply thread. Then I stopped being active (replying ) on these energy draining, fear induced threads and kept my head down and learnt react. Guess what ? Iā€™m loving it.

Also, I love the idea of Apollo. May be we have been using pub sub for so long that we have forgotten how painful building a rest api is. There are companies like loopback whoā€™s value prop is solving the pain point of generating rest APIs. Apollo brings the best of meteor to the rest of the web dev world, not only to JavaScript. As soon as the accounts with Apollo is made somewhat easier like meteors accounts, I would say mdg have hit jackpot

5 Likes

No worries friend!

When I said I donā€™t have the time, I meant I donā€™t currently have at least a month worth of hours I would need to convert the now two hundred screens of Blaze over to React. 30 min here or there on these forums doesnā€™t hurt me, it helps sometimes.

But I think if I take it slow, and pace myself, I might be able to manage.

To share, I was off these forums for a while, I come back and things have changed a lot. Iā€™m on these forums now to try to get a better understanding of what the situation is and what is coming. Actually this thread in particular has helped me a lot I think.

Although, I must say, the technical help we once enjoyed on this forum has seemed to wain a bit.

Youā€™ve benefited from being on these forums too. Iā€™ve seen you in the Meteor Mentoring group, and the youtube videos where youā€™re asking the React questions, maybe thatā€™s how you got over the React hump after all. Iā€™m sure they helped you out a lot as they have a few star Meteor devs in that slack group.

To share, Iā€™m all in on Apollo too as soon as it gets reactivity nailed. Iā€™m glad you like it so much, that gives me great comfort to see such positive feedback.

Also, I donā€™t think this thread has been negative really, but everyone has a different perspective.

2 Likes

I think there are a few possible action items from this thread that we should get started on right away, but itā€™s quite hard to parse them out. Hereā€™s what weā€™re doing:

  1. Splitting Blaze out of Meteor, so that new versions can be published quickly:
  2. We already released Meteor 1.4.1 with version unpinning, so itā€™s possible to publish a new version and upgrade to it today, as far as I know.
  3. Weā€™re still working on actually deleting the Blaze codebase from the monolith repo, so that there arenā€™t two copies of the code out there.
  4. Looking for people who are interested in a particular part of the Meteor stack, and want to get more involved in working on it. We didnā€™t get much response when we asked about this before, but I imagine there are a lot of people who have great ideas about improvements that could be made.
  5. We have two applications internally built on Meteor, which are the only revenue source of the company. So we, as a business, are as heavily invested in the technology as we could reasonably be.

Are there some other action items, and people who want to sign up for working on them?

BTW, thanks @joshowens for proactively opening an issue about the Accounts/Blaze dependency and driving the discussion: https://github.com/meteor/meteor/issues/7715


As a meta-issue, perhaps we should split this into several threads about the different topics? I came back this morning and there were 40 new great messages, but I wonā€™t be able to keep track of that volume and convert it into actionable information for long.

8 Likes

Hey @kaiyes,

Some of us really donā€™t like React, or have business / technical reasons not to want to embark on it.

And btw, React in itself is super-easy.

I donā€™t like the over javascriptization of view layer, donā€™t like jsx, donā€™t want to use flux / redux, or fb stack, I like how things work well as it is, like how easy it is to make changes, like separation of HTML.

Many switched to react just because MDG told them to so :slight_smile: For us, it takes away value - doesnā€™t add. Also, many on this forum are freelancers. We have our own product to build and maintain.

6 Likes

Is there anything in the following that can be added to the action items?

1 Like

Exactly, @ramez
React is, Iā€™m sure, super cool and everything, but whatever advantages it may provide - I donā€™t need it. Would be interesting to know how many who switch are doing it because they need it and how many is switching because everybody is talking about it.

To me, writing functions that returns HTML feels just wrong and it makes it much more difficult to work with designers who knows basic html but nothing about JavaScript. Handlebars are much easier to understand and the templates becomes human-readable and connection to the helpers are super easy to explain if you want to add another developer to the team.

3 Likes

Thanks @sashko,

I should be having the call the MDG community team sometime this week.

I would add this:

-4. Abstract a database layer, while keeping mongo syntax - i.e. Mini mongo on client and adapters on server. We already have MySQL/SQL operational, and rethinkdb (almost) operational. This will cover 99% of DBs being asked for on this forum. In addition, mongo syntax is so much simpler, it may even increase adoption of meteor (hence Galaxy) for people wanting to use these dbā€™s (especially rethink with its quirky syntax).

If MDG wants to include its analytics API to monetize, we are all for it.

1 Like

Yes @sashko, this is a necessity.

Currently, all the accounts-* packages presume that they are accessing a Mongo.Collection object. This makes it a very difficult task to implement support for MySQL (and other databases).

There needs to be an overridable/replaceable data abstraction layer for all database operations so that they can be handled in a custom manner for any specific database that a developer wants to support.

1 Like

MDG and the community of Blaze users can continue contributing to Blaze, it just wonā€™t be hosted by MDG.

Perhaps this was not your intention, but this looks like an expression of FUD about deprecation of core Meteor components when many of us are happily using Blaze as well as DDP, Tracker, Minimongo and Atmosphere.

These packages work and they make us productive. The only issue is that they are not ā€œshiny and new, like a virgin touched for the very first timeā€ - that is not a problem with them, that is a problem with those who are neophiles - that is, overly attracted to new products/tools/libraries regardless of their worth and usefulness.

MDGā€™s mistake was not appreciating the massive psychological impact of discontinuing their support for Blaze as the main Meteor templating system. Many people incorrectly perceived it as a indication that MDG had begin a process of dismantling the Meteor ecosystem altogether.

MDG should appreciate that understanding developer psychology and perceptions is a key part of successful technology evangelism.

5 Likes

@vlasky, can you be responsible for the SQL driver? Iā€™ll hand off what we did to your driver to have client-side updates, allow/deny, server side mongo syntax and mini mongo support and you can take it from there.

We can keep developing rethinkdb for scalable reactivity

3 Likes

Youā€™re basically rewording what I wrote, MDG will not maintain Blaze, the community will.

No one is taking anything away from Blaze or the Meteor-classic stack. I think DDP/Tracker/Blaze/Minimongo are great and Iā€™m super productive with it.

Further there is nothing to be afraid of. There might be uncertainty and doubt by some, but for my business I can only try to calculate risk/reward ratios.

Like it or not, MDG will no longer maintain DDP, Tracker, Blaze, Minimongo, useraccounts and Atmosphere ā€“ Meteor-classic. Theyā€™ve stated this plainly in the case of Blaze and Atmosphere, and indirectly with the others. The community will need to pick up slack ā€“ or not.

I think moving forward, for the most part, MDG will focus on Apollo, itā€™s that simple. This should be crystal clear by now. So if someone would like to take over one of the areas of Meteor classic they feel passionate about and want to advance, reach out to MDG now.

I have a business with paying customers and Iā€™m using the tech thatā€™s no longer going to be maintained. Iā€™m in the same boat as a lot of you using this tech. I have the job now of deciding if Iā€™m going to migrate my code to GraphQL + Apollo + React or stick with my current Meteor-classic stack and trust the community to step it up.

Also, I would never change my tech stack just because something new comes along. But I will absolutely consider migrating away from tech that will no longer be maintain by MDG or maintained sufficiently by community ā€“ these are business risks I have to account for.

Iā€™d like to add, we still should be able to use Meteor classic, and migrate to Apollo and/or React. From MDGā€™s perspective, Meteor classic will be just one of many integration points for Apollo.

Iā€™m sorry if me laying-it-out plainly like this seems disingenuous or too harsh, that was never my intention friend. I believe its the reality we need to start living in and face up to. I believe we should be walking through this transition with open eyes. Itā€™s the only way we can map out successful community strategies to deal the situation.

1 Like

Specifically, the pace of development of Meteor has slowed down dramatically in favor of Apollo.

Apollo is the MDG answer to the two issues you highlight:

ā€¦the main struggles we see on the forum, namely DBs:

  1. Replace Mongo with RethinkDB (95% ready some quirks to solve before going to production)
  2. Replace Mongo with MySQL

Meteor 1.5 will feature fast integration with Apollo, so it will take care of these two issues. Also, thereā€™s an argument that since Meteor 1.5 is all about Apollo, the MDG team being focused on Apollo right now really is for the benefit of Meteor. Technically Apollo is stand-alone, but as you point out, two of the things Meteor needs most are access to SQL and other databases, and thatā€™s what Apollo provides to Meteor.

3 Likes

@vikr00001

Apollo is a different paradigm then pub/sub, and is overkill for many apps. Like React for us, no value add, just trend chasing.

Second, these drivers are already operational and work great with our apps ā€“ so why bother, change our apps, wait for rethinkdb to be tested with Apollo etc ā€“ shortest path to $$$

2 Likes

@eosimosu,

You make some interesting points (some forcefully :wink:

We could always reach out to rethink folks once the db driver is officially released. There are many things meteor offers that horizon does not, like you say. Including client-side changes.

In terms of atmosphere, I think the new approach is to clone repos directly into packages/

I find this thread very interesting.
Personnaly, I discovered Meteor and work 6 months on a site, I was very happy with it. Then after the 1.3 update, without warnings, I could not pursue on the 1.3 nor going back to 1.2. I felt cheated. So I am waiting for a clearer choice. Now I am on an other project and just suspend my Meteor project, waiting for Meteor to be mature while still looking at others javascript frameworks.

Why?

You should be able to revert back to an old version.

Blaze has been removed from core Meteor repository and a community Meteor organization on Atmosphere has been created. I think now it is time for community to start contributing to Blaze. We can also now release our own versions of Blaze.

12 Likes

Awesome. Something so important should also be announced in its own thread as well IMO rather than just 100 posts deep in this one.

6 Likes

OK cool.

My concern was mainly over the incorrect use of the term ā€œdeprecatedā€ - a strong negative term meaning that that something is being discontinued and is on its way out, being kept purely for backward compatibility and/or to provide sufficient time for people to move to something else before it is eliminated in its entirely.

For example, Facebook deprecated version 2.0 of its Graph API on August 7th 2014 and they totally disabled it on 8th August 2016, so any app that tries to access it will receive an error.

For this reason, ā€œdeprecatedā€ should not be used willy-nilly.

When it comes to Blaze, the only way I would consider correct is by saying ā€œBlaze has been moved out of the MDG meteor repository and is now community-supportedā€. That way it is clear that it is still alive and people know that others have been assigned the duty of maintaining it - it is not going to be turned off in any sense of the word.

I am not familiar with these indirect statements - I try and avoid making inferences as its easy to get things wrong. As you say, MDG have not made any direct statements about DDP, Tracker and the others. I havenā€™t really needed them to - the important thing is that MDG staff are responding to and resolving issues on Github and that is really good.

Right now, I see the current version of Meteor 1.4.1 as being the best one MDG have ever released. For us, itā€™s been a succession of monotonically increasing improvements since we first started with Meteor in early 2015.

As someone whose main business activity revolves around Meteor ā€œClassicā€, I want to do what I can to provide the necessary inspiration, motivation and means for its continued support and enhancement.

4 Likes