Proteins are a good material to consider for an early form of rationally designed nanotechnology. They are cheap and easy to manufacture, thoroughly studied, and they can do a lot of different things. Proteins are responsible for the construction of all the structures in your body, the trees outside your window, and most of your breakfast.
Why don't we already have a busy protein-based manufacturing base? Because the necessary technologies have arisen only in the last couple of decades, and because older technologies already have a solid hold on the various markets that might otherwise be interested in protein-based manufacturing. Finally, most researchers working with proteins aren't thinking about creating a new manufacturing base. But people in the nanotech community are thinking about it.
One of the classical scientific problems involving proteins is the "protein folding problem". Every protein is a sequence of amino acids. There are 20 different amino acids, which are strung together by a ribosome to create the protein. As the amino acids are strung together, the protein starts folding up into a compact structure. The "problem" with folding is that for any possible sequence of amino acids, it's not always possible to predict how it will fold up, or even whether it will always fold up the same way each time.
But maybe you don't need a solution for all possible sequences. Maybe you can limit yourself to just the sequences that are easy to predict. People have been studying proteins for a long time and it's easy to put together a much shorter list of proteins whose foldings are known. Discard any proteins that sometimes fold differently, to arrive at a subset of proteins whose foldings are well known and reliable.
The next issue is extensibility. Having identified a set of proteins whose foldings are easily predictable, would it be possible to use that knowledge to predict the foldings of larger novel amino acid sequences? A trivial analogy would be that if I know how to pronounce "ham" and I know how to pronounce "burger", then I should should know how to pronounce "hamburger". A better analogy would be Lego bricks or an Erector set, where a small alphabet of basic units can be used to construct a vast diversity of larger structures.
If we can build a large diversity of big proteins and predict their foldings correctly, we're on to something. Then we can design things with parts that move in predictable ways. Some proteins (like the keratin in your fingernails or a horse's hooves) have a good deal of rigidity, and we can think about designing with gears, cams, transmissions, and other such stuff.