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

Tracking issue for v0.X #33

Closed
2 of 5 tasks
ssnover opened this issue Sep 2, 2022 · 2 comments
Closed
2 of 5 tasks

Tracking issue for v0.X #33

ssnover opened this issue Sep 2, 2022 · 2 comments
Labels
documentation Improvements or additions to documentation

Comments

@ssnover
Copy link
Collaborator

ssnover commented Sep 2, 2022

Creating this super-issue to make a list of things we want to get into the crate prior to releasing v0.3.0.

Feel free to add more, trying to get some semblance of when we're targeting what, what features we're prioritizing, etc.

@ssnover ssnover added this to the v0.3.0 milestone Sep 2, 2022
@Carter12s
Copy link
Collaborator

Yeah I've been playing around with Github's milestone feature for this and marking issues I was intending for a release with a given milestone, but that is hard to communicate / plan around.

In general, I'm a pretty big fan of in the early stages like this releasing super frequently. Like every time we get to a stable / happy place just go ahead and release. If we had really good CI coverage I would auto-release on ever merge to master, and I'd like to get to that point.

Setting that aside what do I think the real priorities are:

Current Goal; Attract some users

None of this matters if no one starts using it

What do users need: Basic publishing, tutorials and documentation

Therefore my current priorities are:

  • Better documentation / tutorials
  • Better / more examples (Would love to make some more complex ones)

I have a separate longer term goal that I'd like to work towards where more of the cbor-raw work lands. I've registered a crate called topics that I'm really interested in making a generic "topics" API for rust in. I envision the ability to describe topics pretty generically with a TopicProvider, Subscribers, Publishers, etc. . The top level topics crate will define abstract traits for these things that describe the async nature, error handling, and type binding.

Then I want to implement the topics traits for a variety of "topic backends": ROS1, Rosbridge, ROS2, MQTT, tokio channels

Then we can build a lot of useful utilities on top of the abstract topics:

  • CLI for echo / pub
  • Monitoring tools: rates / bandwidth / buffer size
  • Database / Recording tools
  • Orchestration tools

I have a hunch that while channels are extremely performant, a lot of Rust use cases could be better served by a stringly identified (but still strictly typed), topic system.

Sorry this turned into a lot of rambling, but it helps me to type this all out to get my thoughts in order.

@Carter12s Carter12s added the documentation Improvements or additions to documentation label Sep 11, 2022
@Carter12s Carter12s changed the title Tracking issue for v0.3.0 Tracking issue for v0.X Sep 19, 2022
@Carter12s Carter12s removed this from the v0.3.0 milestone Oct 6, 2022
@Carter12s
Copy link
Collaborator

Closing this, don't think I'm going to do tracking issues like this, and instead try to pseudo standardize on releasing every merge.

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

No branches or pull requests

2 participants