Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mention the prior art: SimpleSchema, CollectionHooks, Collection Behaviors #27

Closed
dandv opened this issue Jun 9, 2015 · 16 comments
Closed

Comments

@dandv
Copy link
Contributor

dandv commented Jun 9, 2015

Many people in the Meteor community are familiar with @aldeed's SimpleSchema and @matb33's CollectionHooks. @Sewdn's collection-behaviors is another prior art that also seems to have been used as source of inspiration.

After reading the documentation, Astronomy seems to reinvent all these three packages and use neither. A lot of work has gone into both SimpleSchema, CollectionHooks and Collection Behaviors on one hand, and Astronomy on the other. There are probably good reasons for not reusing the existing packages, and why Astronomy decided to build its own schema, hooks and behaviors. Users would love to know these.

Thanks!

@lukejagodzinski
Copy link
Member

First of all, the first version of the package was created summer 2013 and it was about the same time the aldeed's package was created. That time no one known about simple schema. My package was not inspired by simple schema.

I'm not reinventing the wheel. I receive many comments that my package is better than simple schema. After using astronomy and simple schema, people can just choose their favourite tool.

Moreover the concept of MVC, behaviors, hooks is not new and wasn't invented by aldeed :). My package was inspired by PHP Doctrine library and when you look at my code you will see many similarities and you won't see these similarities between astronomy and simple schema.

@dandv
Copy link
Contributor Author

dandv commented Jun 9, 2015

Thanks, this is informative. I didn't know when Astronomy was created, and there's no easy way to know because the initial commit was made this year. Might be worth adding this little bit of history to the README.

After using astronomy and simple schema, people can just choose their favourite tool.

I'm a new user, and haven't used Astronomy. The majority of users will be in this category, and some of them will have used SimpleSchema. These users will want to know how Astronomy (which will hopefully become popular with a bit of marketing) is better or easier than Simple Schema (which is very popular).

A comparison will help.

For example, @arunoda explains how Flow Router is different from the much more popular Iron Router.

It's generally good practice in the open source world and a courtesy to mention alternatives, and good marketing to mention how/when this project is a better choice than the alternatives.

@lukejagodzinski
Copy link
Member

The first public version was named verin-model and you can find it here https://github.com/jagi/verin-model. The first commit was made Oct 26, 2013 however it was already working library, so I've started creating it few month before. It can be dated on mid 2013 :). Originally it was named zeitgeist-model because it was a model layer for Zeitgeist website and I decided to share it with a community. At the beginning it was simple package but with the time the original idea had been improved to be what it is now :).

But yes, I think writing a little bit about history of the package can be good idea. I will definitely do it :). Thanks for this suggestion.

The majority of users will be in this category, and some of them will have used SimpleSchema, These users will want to know how Astronomy /* ... */ is better or easier than Simple Schema

Yes probably you are right, but you know I don't like to say things like: "Hey guys, here is my package it's much better than SimpleSchema. Just leave your old tool because mine is better" :). I'm glad that people like it and I received many comments that it's actually better than SimpleSchema. Many people coming from other languages (especially PHP) are glad that they can use similar approach when creating model. Maybe I will try pointing differences without saying that my work is better.

which will hopefully become popular with a bit of marketing

Yes I need to make it more popular. People just need to know that it exists. I have an idea how to achieve that. I'm creating video tutorial about Astronomy. When I'm finished I will publish it on Twitter (with proper tags) and send it to the Meteor team. I hope that they will post info about it on their FB and Twitter profiles. But I don't want to promote to widely unfinished product. But I'm almost ready. The 1.0.0 version is closer and closer.

I will take your suggestions into account :). Thanks!

@aldeed
Copy link

aldeed commented Jun 9, 2015

I like competition.

@frankapimenta
Copy link

jagi 👍

@lukejagodzinski
Copy link
Member

Ok I've added two sections History and Why use Astronomy?
I hope that I did not exaggerated :)
I'm closing this issue for now

@dandv
Copy link
Contributor Author

dandv commented Jun 10, 2015

👍 !

BTW, out of curiosity, how/where were the testimonials received? I hope Atmosphere implements comments soon because that's exactly where these testimonials should go..

@lukejagodzinski
Copy link
Member

Great idea with the comments on the Atmosphere!
Right now comments mostly comes from GitHub issues and from Crater.io https://crater.io/posts/MT9dPLYiydEWmqYi5/comment/tCQH3LGahRQDhCkNs

@aldeed
Copy link

aldeed commented Jun 11, 2015

Here's another one for you:

"If this package were around when I created SimpleSchema, I would have used it instead of creating SimpleSchema."

It looks pretty slick. People only like SimpleSchema because it was the first decent schema package with good test coverage for Meteor. (And because they want to use AutoForm.) They'll eventually move on.

Speaking of AutoForm, the AF schema logic could be abstracted pretty easily allowing this or other types of schemas to be used instead of SimpleSchema/Collection2. It's on the "someday" list.

@dandv
Copy link
Contributor Author

dandv commented Jun 11, 2015

  • + 💯 for @aldeed for that testimonial.

@lukejagodzinski
Copy link
Member

@aldeed I appreciate it :)

@rclai said that he will work on the package allowing transformation of SimpleSchema to Astronomy schema and vice versa.

This Friday I'm going on two weeks vacation but after that I will focus on Astronomy Forms package.

@dandv
Copy link
Contributor Author

dandv commented Jun 11, 2015

Thanks for all your work!

BTW another "prior art" package I hadn't mentioned: @dburles collection-helpers

@rclai
Copy link

rclai commented Jun 11, 2015

I haven't gotten the chance to work on that transformation package yet. I was going to wait until Astronomy was more ready before I do that. Thanks again for making it easier to see the validation definitions.

@lukejagodzinski
Copy link
Member

@rclai sounds good. 1.0.0 is very close.

@dandv
Copy link
Contributor Author

dandv commented Jun 19, 2015

Very similar project: @emmerge:graviton by @mhwheeler and @fractallian.

@lukejagodzinski
Copy link
Member

Ok thanks I will add it to the list

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants