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

Create vision.md #1226

Merged
merged 74 commits into from
Dec 12, 2022
Merged

Create vision.md #1226

merged 74 commits into from
Dec 12, 2022

Conversation

andrej-schreiner
Copy link
Contributor

@andrej-schreiner andrej-schreiner commented Jul 4, 2022

Proposed changes

Types of changes

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Improvement (general improvements like code refactoring that doesn't explicitly fix a bug or add any new functionality)
  • Documentation Update (if none of the other choices apply)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)

Paste Link to the issue


Checklist

  • I have read the CONTRIBUTING doc
  • I have signed the CLA (in all commits with git commit -s)
  • I ran cargo fmt as mentioned in CODING_GUIDELINES
  • I used cargo clippy as mentioned in CODING_GUIDELINES
  • I have added tests that prove my fix is effective or that my feature works
  • I have added necessary documentation (if appropriate)

Further comments

vision.md Outdated Show resolved Hide resolved
Copy link
Contributor

@TheNeikos TheNeikos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall I think that the document is going in the right direction. I think some points are under-specified:

What tradeoffs does thin-edge promise? You can't have tight security and 'no knowledge, easy to use, low touch provisioning' while also being 'highly extensible'. What are the limits?

I know this is not necessarily user-facing, but even for contributors I think answering these questions is paramount. How would one judge if a component should be added to a release with conflicting 'soft' requirements? Is it 'highly extensible' but requires expertise to wield? Or is it low touch but not that extensible? In between sounds messy but potentially useful?

These are IMO the most important aspects to nail down for the project, as this is what will make or break it for end-users.

vision.md Outdated

## What is our vision?

The aim of creating thin-edge.io is to provide a IoT edge device framework for IoT project teams which makes it easy to enable resource constrained devices for IoT. Unlike other solutions, we are not just another single-purpose agent but a flexible platform with re-usable components without any vendor lock-in, focused on adressing the needs of both IT and OT users.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would not use passive voice here -> "The aim of thin-edge.io is to provide"...

I also think that saying "Unlike other solutions" is not that interesting to potential readers. What other solutions? Why is not being a single-purpose agent a good thing?

What about: "thin-edge.io is a flexible platform focused on bridging the gap between IT and OT users. It achieves this using re-usable components and without any vendor lock-in!"

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@TheNeikos "Why is not being a single-purpose agent a good thing?"
Answer: this is one of the reasons we started thin-edge.io, because we have collected evidence that:

  • single purpose agents are hard to maintain and do not offer the flexibility needed for iot solutions
  • single purpose agents are often bound to a specific device
  • single purpose agents have usually only few people who can develop them , and those embedded devlopers are hard to find

--> I like your suggestion

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thin-edge.io is a flexible platform focused on bridging the gap between IT and OT users. It achieves this by using reusable components and without any vendor lock-in. - that's what we agreed to replace it with

vision.md Outdated Show resolved Hide resolved
vision.md Outdated Show resolved Hide resolved
vision.md Outdated Show resolved Hide resolved
vision.md Outdated Show resolved Hide resolved
vision.md Outdated Show resolved Hide resolved
vision.md Outdated Show resolved Hide resolved
vision.md Outdated Show resolved Hide resolved
vision.md Outdated Show resolved Hide resolved
vision.md Outdated Show resolved Hide resolved
vision.md Outdated Show resolved Hide resolved
Copy link
Contributor

@matthiasbeyer matthiasbeyer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I found that the DCO trailer on the commit is missing.

vision.md Outdated Show resolved Hide resolved
andrej-schreiner and others added 24 commits August 19, 2022 12:33
Co-authored-by: Marcel Müller <com2040@gmail.com>
Co-authored-by: Marcel Müller <com2040@gmail.com>
Co-authored-by: Marcel Müller <com2040@gmail.com>
Co-authored-by: Marcel Müller <com2040@gmail.com>
Co-authored-by: Marcel Müller <com2040@gmail.com>
Co-authored-by: Marcel Müller <com2040@gmail.com>
Co-authored-by: Marcel Müller <com2040@gmail.com>
Co-authored-by: Marcel Müller <com2040@gmail.com>
Co-authored-by: Marcel Müller <com2040@gmail.com>
Co-authored-by: Marcel Müller <com2040@gmail.com>
Co-authored-by: Mᴀɴᴀsᴇ̄s Jᴇsᴜ̄s <manasesjesus@users.noreply.github.com>
Co-authored-by: Marcel Müller <com2040@gmail.com>
Co-authored-by: Marcel Müller <com2040@gmail.com>
Co-authored-by: Marcel Müller <com2040@gmail.com>
Co-authored-by: Marcel Müller <com2040@gmail.com>
Co-authored-by: Marcel Müller <com2040@gmail.com>
Co-authored-by: Marcel Müller <com2040@gmail.com>
Co-authored-by: Marcel Müller <com2040@gmail.com>
Co-authored-by: Marcel Müller <com2040@gmail.com>
Co-authored-by: Marcel Müller <com2040@gmail.com>
Co-authored-by: Marcel Müller <com2040@gmail.com>
Co-authored-by: Marcel Müller <com2040@gmail.com>
Co-authored-by: Marcel Müller <com2040@gmail.com>
Co-authored-by: Marcel Müller <com2040@gmail.com>
vision.md Outdated

**Smart equipment operators:** Rather than dealing with single equipment, smart
operators are looking to enhance or optimize whole manufacturing processes with
the help of IIoT. Operating complex manufacturing systems requires not only to

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems like we are a bit too narrowly focusing on manufacturing here.

Co-authored-by: Marcel Müller <com2040@gmail.com>
Copy link
Contributor

@nneuerburg nneuerburg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few comments on the vision dock from my point of view.

vision.md Outdated
IoT project teams which makes it easy to enable resource constrained devices for
IoT. Unlike other solutions, we are not just another single-purpose agent but a
flexible platform with re-usable components without any vendor lock-in, focused
on adressing the needs of both IT and OT users.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't like the word platform but prefer framework and propose to be more specific than IoT project teams, hence the following proposal:

The aim of creating thin-edge.io is to make it easy for IoT device integrators to enable resource constrained devices for IoT. Unlike other solutions, we are not just another single-purpose agent but a
flexible framework with re-usable components without any vendor lock-in, focused
on addressing the needs of both IT and OT users.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

proposal incorporated below

vision.md Outdated

## Our motivation

We believe that IoT (edge/device management, middleware, data analytics) are the
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We believe that the IoT is the driving force ...

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would add machine learning to the set ( data analytics doesnt explicitly capture it)

vision.md Show resolved Hide resolved
vision.md Outdated Show resolved Hide resolved
vision.md Show resolved Hide resolved
vision.md Show resolved Hide resolved
vision.md Outdated
- Configuration and components are written in such a way that they may be
changed in the future with no or minimal impact on their intended purpose

### Functional requirements
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Previously, we mention that thin-edge.io should also allow to integrate with existing projects / device software. I believe that this is important for each device manufacturer who has already significantly invested in device software and does not want to start from scratch. Is this a requirement we should add here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I belive the extensibiliy and openness for integration with other compoenents is a key need agree, I tried to include this in the capabilities and reference to the design pricniples later

vision.md Outdated Show resolved Hide resolved
vision.md Outdated
Comment on lines 11 to 22
We believe that IoT (edge/device management, middleware, data analytics) are the
driving forces of the fourth industrial revolution: companies are forced to
leverage IoT solutions to stay competitive. In the past a large amount of
companies have suffered from failed IoT projects and initiatives, where a lot of
time and money was spent on device enablement: connectivity, security, device
management, etc...

Thats why we are creating thin-edge.io. It provides an easy and flexible way for
IoT project teams and device manufactures to make their devices IoT-ready
without having to re-invent the wheel with costly and time-consuming,
potentially embedded, development projects and without having to reevaluate
existing projects or applications to enable them with thin-edge.io.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
We believe that IoT (edge/device management, middleware, data analytics) are the
driving forces of the fourth industrial revolution: companies are forced to
leverage IoT solutions to stay competitive. In the past a large amount of
companies have suffered from failed IoT projects and initiatives, where a lot of
time and money was spent on device enablement: connectivity, security, device
management, etc...
Thats why we are creating thin-edge.io. It provides an easy and flexible way for
IoT project teams and device manufactures to make their devices IoT-ready
without having to re-invent the wheel with costly and time-consuming,
potentially embedded, development projects and without having to reevaluate
existing projects or applications to enable them with thin-edge.io.
We believe that IoT (edge/device management, middleware, data analytics) is the
driving force of the fourth industrial revolution: companies are forced to
leverage IoT solutions to stay competitive. In most IoT initiatives a lot of
time and money was spent on device enablement in areas such as device connectivity, security, software, firmware, or configuration management.
This motivated us to create thin-edge.io. It provides an easy and flexible way for IoT project teams and device manufacturers to make their devices IoT-ready. This saves them time as they do not have to reinvent the wheel with costly and time-consuming, potentially embedded, development projects. Our modular architecture does not force IoT project teams to start from scratch but instead enables existing projects or applications to be enhanced or integrated with thin-edge.io functionalities.

Copy link
Contributor

@didier-wenzek didier-wenzek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this document can be made stronger by moving some sections elsewhere (notably the requirements, but also the detailed description of the business targets) and by adding more insights on the design principles we believe as key enablers for IoT project success.

vision.md Outdated
Comment on lines 3 to 7
The aim of creating thin-edge.io is to provide a IoT edge device framework for
IoT project teams which makes it easy to enable resource constrained devices for
IoT. Unlike other solutions, we are not just another single-purpose agent but a
flexible platform with re-usable components without any vendor lock-in, focused
on adressing the needs of both IT and OT users.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I find this introduction not strong enough. "make IoT easy" can be a mission but is a bit too vague to be a vision that guides decisions, aligns contributions and tells the users where we plan to go. I'm missing a direction of work. What are the challenges and our approach to tackle them? How do we plan to address ease of use, flexibility, re-usability, freedom of choice, IO/OT needs?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

any counterproposals? I believe your open questions are addressed below

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@didier-wenzek I realized you question realte to questions you ask in prodcut strategy and not prodcut vision, while there are some indications of answers to them below I do not think they fit into this document

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like the short vision summary. Few changes I would recommend -
a) Changing "flexible" to "flexible and extensible"
b) Though its important to qualify that we work on resource constraint devices, but at the same time most use cases we see are Pi kind of gateways. It would be good to make it clear that thin-edge.io will work on all of them too.

vision.md Outdated Show resolved Hide resolved
vision.md Outdated
for asset configuration/management including software and firmware management
of underlying systems to keep them secure and up-to date

## thin-edge.io as a game changer
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would really avoid the word "game changer". The future will tell.

vision.md Show resolved Hide resolved
vision.md Outdated Show resolved Hide resolved
vision.md Outdated Show resolved Hide resolved
vision.md Outdated
IoT project teams which makes it easy to enable resource constrained devices for
IoT. Unlike other solutions, we are not just another single-purpose agent but a
flexible platform with re-usable components without any vendor lock-in, focused
on adressing the needs of both IT and OT users.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

proposal incorporated below

vision.md Outdated
Comment on lines 3 to 7
The aim of creating thin-edge.io is to provide a IoT edge device framework for
IoT project teams which makes it easy to enable resource constrained devices for
IoT. Unlike other solutions, we are not just another single-purpose agent but a
flexible platform with re-usable components without any vendor lock-in, focused
on adressing the needs of both IT and OT users.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

any counterproposals? I believe your open questions are addressed below

vision.md Outdated Show resolved Hide resolved
vision.md Outdated Show resolved Hide resolved
vision.md Outdated Show resolved Hide resolved
vision.md Outdated Show resolved Hide resolved
vision.md Outdated Show resolved Hide resolved
vision.md Outdated Show resolved Hide resolved
vision.md Outdated Show resolved Hide resolved
vision.md Outdated Show resolved Hide resolved
vision.md Outdated Show resolved Hide resolved
vision.md Outdated
- Configuration and components are written in such a way that they may be
changed in the future with no or minimal impact on their intended purpose

### Functional requirements
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I belive the extensibiliy and openness for integration with other compoenents is a key need agree, I tried to include this in the capabilities and reference to the design pricniples later

vision.md Outdated Show resolved Hide resolved
vision.md Outdated Show resolved Hide resolved
vision.md Outdated Show resolved Hide resolved
vision.md Outdated Show resolved Hide resolved
vision.md Outdated Show resolved Hide resolved
vision.md Outdated Show resolved Hide resolved
@andrej-schreiner andrej-schreiner added the discovery topics that require further analysis label Sep 22, 2022
@andrej-schreiner andrej-schreiner self-assigned this Sep 22, 2022
@reubenmiller reubenmiller dismissed stale reviews from matthiasbeyer and TheNeikos December 12, 2022 14:42

Review is stale and taking the pragmatic approach and merging the PR. If there are any further changes please submit a new PR. Thanks

@reubenmiller reubenmiller self-requested a review December 12, 2022 14:43
Copy link
Contributor

@didier-wenzek didier-wenzek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved.

Copy link
Contributor

@reubenmiller reubenmiller left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved. Merging this long-lived PR. Any changes should be submitted via the normal PR process (from forks).

@reubenmiller reubenmiller merged commit fae69b7 into main Dec 12, 2022
@reubenmiller reubenmiller deleted the project-vision-update branch December 12, 2022 15:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discovery topics that require further analysis
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants