Considerations
Reminders
In making choices on which implementation path to choose, here are a few things to keep in mind:
- It's all about an easy user experience on the one hand and effective and pragmatic realization on the other. If in doubt, go for the user experience.
- Use an environment that is easy to learn and accessible (documentation) so that designer-programmers can contribute (low threshold). This means Java or Python for the programming language.
- The final product has to be cross-platform (Windows, Mac OS X, Linux) and without any additional install steps.
- It must be possible for advanced users to move on to more professional tools smoothly. This means compatibility to widely-used standards, but also means not to move too far away from their interaction principles.
- We don't want to reinvent the wheel on the back-end. Electrical engineering is not our expertise and we want to rely on existing expert-engineered software for that. Ideally, we should also benefit from their future developments by staying compatible.
- We do want to reinvent the front-end and therefore need full design flexibility here. Nevertheless, it would be helpful if we were able to reuse the interactive routing features of the software we build on.
- Keep the number of used tools and libraries small - due to the limited time of the developers and due to the smoothness of the interaction experience for the users.
Workshop Findings
With very special thanks to participants in the kickoff workshop, these are some suggestions about the course of development for Fritzing:
- Release first version in three weeks, try to keep a three-week release schedule after that, at least until the end of the year.
- Discuss and develop in public - share what we're doing with the community, get their suggestions at every stage.
- Test, test, test with individual users, universities, any group or
institution possible - get as much feedback as possible on the way
people are using the tool and how they want to use it.
- In "beginner" mode at least, it should make almost all the
assumptions for the user - these assumptions should be based on best
practices and should be tweaked based on user feedback.
- Automate as many processes as possible - Fritzing's target users are interested in the results, not the process.
- Keep aesthetics in mind, both in how the program looks and in how it
allows users to create electronic designs that meet their own
aesthetics.
- Absolutely must encourage exploration, experimentation, play.
- Should make documentation of an electronic design easy, preferably with no additional effort from the user.
- Design it for beginners and more advanced users may use it anyway.
