In this assignment we are asking you to develop project ideas. The overall goal is to come up with a set of ideas (from all students), and then we will go through a voting period where will will determine the top 33% of the project proposals. These proposals will then be used to form project groups around the proposals, and from assignment 4 going forward assignments will be group assignments based on project groups.
The project ideas are based on IoT scenarios and the goal is that they can lead to functional prototypes (meaning that we are not expecting product quality, but we do expect to see things moving end to end). The most challenging part are the data sources. We encourage your proposal to be realistic about potential data sources. One frequent choice may be that a particular "thing" you are interested in already has an existing API, and all you need is to care about how to use that API so that you can access the thing. Another possibility is to "IoT/WoT-enable" things yourself, and we are interested to hear about plans that are realistic.
All proposals should follow this structure, and they must be formatted in plain text (preferably markdown, but that is not required):
Abstract: Use 250 words to describe your idea. Describe why it is interesting, what value you see and for whom, and what you see as the parts that may be relatively easy to achieve, and as the more challenging ones. Our project management will encourage you to go through projects going for the low-hanging fruit first, so it's interesting to know what may end up being tackled first, and what later.
Sources: What are the "things" that you expect to be sources in your scenario? Are these things you expect to IoT/WoT-enable yourself (if so, how?), or are they already made available through some API or other kind of service? What are the activity types that you expect to be produced by each of your sources?
Transformers: What are the components in your scenario that both consume and produce information? What is their task, what kind of information do they produce, and what kind of information to the consume to be able to do their job? Keep an eye on the fact that transformers may be able to do their job with very little context, or that they may require a lot of additional information to do their job. Try to explain that context. For each transformer, what are the activity types that you expect to be consumed and produced by it?
Consumers: What are the consumers in your scenario, and what is their role? Are they human-facing UIs? If so, are they supposed to be fairly narrow (one human looking at all of their things), or fairly broad (a human having access to a large and possibly diverse set of things). If the consumers are not UIs, they are probably services themselves that may drive things such as data analytics or reporting. Another possibility is that a consumer is an adapter into an existing app or service, which is then powered by the information received from the consumer. For each consumer, what are the activity types that you expect to be produced by this consumer?
Structure your proposal so that it is easy to read and easy to see what components you are proposing. Also, try to be modest in scope and not suggest a large set of these components that you may not be able to implement. It will probably be easy to create a relatively large set of instances of each component type, but the set of component types probably should be relatively small.
We are willing to accept proposals that are mostly focused on any one of those categories. For example, the generic UI concept discussed in class would pretty much exclusively focus on consumers. In the end, the goal of the projects and the course's lab model in general is to produce an interesting ecosystem of components, which we can then interconnect in later phases of the projects.