Project Planning
You want to create a project, but don't quite know where to begin.
Problem
You have an idea for your project but you don't know where to start.
Solution
We've put together some tips, which we hope will be helpful in bringing your project into fruition. They are broken up like so:
- Be as specific as you can
- Manage your Time
- Program
- Develop and Test
- Safety
1. Be as specific you can about your idea
Deciding on a project is most the difficult step of any creative venture, but it can be as simple as answering a couple questions:
a) What will my project do?
b) How will my project work?
Make Sure Your Project Is Possible. Limit your design to things that are simple to build. If this is your first project, you must resist the urge to take on too much! Start simple. You can always build on it later.
2. Manage your Time
This only applies if you're on some kind of deadline, of course, but it usually pays off to pick the most essential element of your project and set aside plenty of time for getting it right. It is also a good strategy to get the riskiest or most difficult stuff out of the way first.
Make sure to allow plenty of time for testing before the project goes on display or is put to use. It can also be helpful to get some input from others on your project before declaring it complete. It's surprisingly easy, as the project's creator, to test your own creations too gently, skirting around the areas that you know have problems. Get someone else - the less familiar with the project, the better - to point out potential problems.
3. Program
With the Make Controller, there are a variety of programming options. The biggest dividing line is whether you're going to program the Controller itself, or communicate with the Controller from a program running on your computer. Generally, programming the Controller itself is a bit more involved than the desktop options.
If you're working on the desktop, there are a variety of options since the Make Controller supports OSC.
- For non-programmers, there are visual programming environments like Max/MSP and Pd.
- For script language programmers, there is excellent OSC support for langauges live Python, Ruby and Perl.
- And there is great OSC support for languages like C/C++ and Java as well.
Try to understand your program as best you can. If it has some behavior that you didn't anticipate, take the time to figure out why. This is a good idea (even if the behavior is something you can live with) because it might cause larger problems later. However, don't spend huge lengths of time on a bug. Tear yourself away and do something else for a while.
4. Develop and Test
To increase your confidence that your project will work, develop and test the different parts separately. It can be difficult, in complex projects, to determine exactly where a problem is coming from. If you can test parts separately, it's easier to track down potential problems. For example:
- If you want something to lift a certain amount weight - make sure that your chosen motors can actually do it.
- If you want your project to work for 10 minutes during some kind of performance, you might be able to cut some corners in its construction, but if you expect it to run flawlessly for months on end, every element has to be considered with this in mind. Materials need to be stronger, construction tolerances need to be tighter, and so on.
- Test the programming without the hardware if possible. You can often simulate the hardware with more software to make sure it works. Learn where to get help when you need it. Get an outside opinion or feedback whenever possible.
Resist the urge to bring all aspects of the project together at once without testing. Often times, when a person does this, the project will not work the way they want it to - see: Murphy's law. At that point, it's hard to determine if it's a faulty sensor or actuator, a bad cord, etc.
5. Safety
- - of yourself
- - of others
- - of your project
Some people like to leave their mark. Some folks like to steal stuff. What is required to protect your machine? Think about how robust ATM's and public phones have to be to withstand an angry public. Remember that art galleries have security guards making sure people don't disturb the exhibits. If you aren't going to be around your project the whole time, you'll need protection.
Still Have questions?
Feel free to post a question in our forum.

