Tau Meta Tau Physica: Bringing Open Source to Fashion
In this exclusive interview, Susan Spencer Conklin tells Linux Pro Magazine how she re-entered the open source world with a project that combines her programming skills with her interest in fashion. Susan explains how her vision for an open source fashion tool has expanded since she first introduced the Tau Meta Tau Physica application at the Libre Graphics Meeting in Brussels last fall.
LPM: Susan, you are interested in bringing open source tools to the fashion industry. What tool are you working on now? What are the short- and long-term goals for this application, and how closer are you to accomplishing them?
SSC: In today’s global economy, small, independent fashion designers are doing well. Better than ever, in fact. In order for these independents to grow their businesses to keep up with demand, they’ll need tools to expand or speed production, yet retain the high quality, good fit, and creativity that is the source of their success. If they sacrifice any of these characteristics, they may compromise their business. Open source tools are important for programmers, web developers and graphics designers in reducing costs and increasing creativity. It makes sense that open source tools could be developed for fashion designers and garment manufacturers as well.
There are software packages available today that can accept client data and produce custom patterns, but the price level for these tools increases as the amount of design customization increases. I envision a software tool that enables designers to more easily translate their drawings into pattern pieces, enables clients to search and select the designs they like, enables designers to send that pattern as a PDF to their favorite sewist for completion, and assure client satisfaction (yes, I said that!).
The tool that I am working to create is called ‘Tau Meta Tau Physica,’ or TMTP. Nobody I have talked to actually likes that name, especially as there is a tmtp network protocol and several other projects of one type or another. But how else would you describe the process of pulling what’s in your head through a tool and have it come out on the other side as a set of 2D pieces to create a 3D masterpiece, which you get to wear? And then, if 200 other people want it, too, you get these 200 clients to sign on to your website, create an account to enter their measurements, click on the pattern, pay with PayPal, and receive their customized pattern in the mail. There could be other options to click on fabric swatches and have the packet of fabric and the pattern delivered in the mail. Or there could be another option where the customer wants the clothing shipped to them ready-made.
If you have suggestions for something better than TMTP, or you happen to like it, please let me know. I just don’t want anything frilly. There has been more interest from men than women for this project, so it would be a shame for it’s presentation to have any gender bias. Spinning, weaving, and survival self-sufficiency without using a knife or bow has traditionally been designated as ‘women’s work’, but the world can’t afford gender-based work assignment. Men miss out on some of the coolest creativity, and women miss out on mechanical and electrical info that can add to the creative work.
… Currently, I’m working on developing patterns as mathematical formulas coded in Python scripts executed as Inkscape extensions to generate an SVG image, which is then saved as a PDF file and then sent to a printer. The scripts use custom client data to create a custom instance of the pattern. I’m not using a database yet. I’m making use of Inkscape’s custom extension capability, which includes a way to prompt for data each time the extension is executed. Fortunately, the data is retained between runs, so I don’t have to enter data all the time.
At the start of the Python script, the data is converted into Printer’s points (pt) to ensure printout sizing. I need to work out a few more details in making the reference grid, which the designs are generated from. After that, database development with CouchDB is next in the queue. Then the creation of a pattern library will be essential.
At this point, the designer GUI should be developed so that scripts no longer have to be created by hand. The designer GUI should have tools that replicate traditional methods currently used by designers and pattern makers. Maybe even a way to easily move from bizarre alien “fashion drawings” directly to “pattern pieces,” even if some of the pieces are unknown/unknowable as they’ve never existed before. Let the designer name it and save it.
Designers need access to a reference library of style templates, from which the designer can create new or customize old templates. The reference library and pattern library will need secure access based on the designer login, as there may be several designers working together, so the software should provide a business-like environment. The client GUI/web interface should allow access to the client’s measurements and buying history. The client should be able to browse the pattern library’s finished pattern photo/drawings and perhaps provide links to photosets of the pattern as submitted voluntarily by other clients (similar to the Burda website model).
If there are multiple designers working together, the client should be able to ‘enter’ and browse an individual designer’s offerings. It is important that the designers should not remain anonymous. Additionally, it would be helpful to provide a search for patterns based on gender, age, event, reenactment, specialty, etc. Eventually, an Etsy-style designer pattern site would be awesome. No business commitments between designers, just a portal to sell their work.
The model described above promotes several aspects of Open Fashion, such as ‘slow fashion,’ where consumers buy what they really like, and presumably over their lifetime they buy fewer products and dump less in the trash.
‘Cultural sustainability’ is another aspect of the Open Fashion movement. The creativity of these designers can create and reflect cultural histories and current trends for their area. And if someone across the globe likes the design, they can order it on the web. So globalized access to fabrics plus web availability by customers can result in decentralization of the garment industry. It would take a lot of independent designers to do this, but every little bit helps.
‘Eco Fashion’ can be promoted by providing links to fabric distributors that have organic fabric and thread. Also, when someone buys the pattern, they are going to sew it themselves, and they usually save all the scraps for use in a future project. Very little waste. Much less waste than the familiar pattern where we buy something at the store, wear and wash it a few times, see it fall apart or shrink, throw it away or give it to the thrift store, and then go back to the store and gamble that the next item we buy will be better.
The open source programming aspect of the project means that the designer GUI can eventually be written to include tools/icons to integrate circuitry and battery placement into their patterns. Modules for auto-generation of pattern instructions and fabric layout can be in the future as well. If anyone wants to create open hardware cutting tables to reduce the time and error on hand-cutting one-off custom clothing, that would be cool too. Open source is an excellent development model for tools to be used by creative communities because functionality can be added as the user base grows and changes.
LPM: How did you get your start in technology and open source? How long have you been involved in fashion, and when did you get the idea to combine open source technology and fashion?
SSC: I’ve been in computer networking for 20 years. I’ve been sewing since I was four. Upon retirement, I decided to sew again, and realized that I wanted more creativity than I had used when I made all my clothes from patterns. Being an old person at this point, I knew I needed help. I looked at the available options and nothing met my needs. I began reading about pattern making, and realized the old ways were incredibly powerful and encouraged creativity, but I didn’t want to bend over a cutting table all the time. So I started talking to my husband about writing a program to perform the manual calculations to make patterns.
My husband [Steve Conklin, Ubuntu Kernel Engineer] mentioned it to one of his friends (whom some people know as Rejon), who thought it was totally cool and suggested I submit a presentation application to the Libre Graphics Meeting in Brussels last May. They accepted me as a presenter!
I was totally swamped after the presentation with questions and support from guys who were half my age. These guys offered tons of advice and had an equal amount of questions as well. It didn’t hurt that I had brought along a Babbage-era brass pattern-making system. Those brass pattern templates helped to determine that SVG is the way to create the patterns. SVG has commands that can ‘expand’ and ‘contract’ and ‘contort’ and ‘split’ and everything else that you can do to a pattern. The pattern system also indicated the methodology needed to create each pattern -- not from an initial plain block, but the pattern itself based on the client’s measurements plus the pattern’s design ease, which is proportional to the client’s measurements.
LPM: To use your application, do you need technical knowledge in open source and sewing? In other words, do you need to know how to use the command line or is there a GUI? And do you need to know more than how to sew a straight stitch?
SSC: At the moment, I’m creating Python scripts by hand. Each pattern is developed on top of a grid created in Inkscape using client data. I recently developed a procedure to generate the control points that an individual curve requires so that I don’t have to manually calculate them. Yay!
The goal is to create a program suite with a GUI for the designer and a GUI for the client, for the clients who meet with the designer. I would also like to create a web site version, which would allow designers to post their patterns, and for clients to log in, enter data, buy patterns, etc. I envision the designer GUI to be similar to Inkscape’s GUI. The client GUI or web interface needs restricted access to allow browsing of photos/drawing of the patterns, access to a list of patterns they’ve already bought, links to fabric selections, whether they want it sewn for them, and a connection to Paypal. There should be no need for command-line access for the designer or client.
The pattern can be printed by the designer and shipped to the client in an envelope or tube, or at lower cost could be emailed as PDF for the client to take to a local printer (printing an entire pattern is around US$ 7 on 36” paper), or printed on their laser printer and taped together.
I’ve thought about providing some web sewing instructions that can be viewed in addition to the written instructions. This may require some type of additional client service level. A client account should be free; I’ll have to think about the costs of this. Since a non-customized pattern is available for US$ 8-25, and several hours of fitting may be needed prior to cutting the fabric, a customizable pattern is an incredible time saver and money saver. Nothing’s worse than making something beautiful that doesn’t fit or was designed poorly. Maybe additional sewing instructions could be cost-wise viable on a massively multi-designer [MMD] pattern website... .
I expect that designers who create wearable gear to match a client’s MMO game character to be able to utilize this tool as well. Perhaps there may be a way to order 3D pieces from a linked third party when a client requests the pattern. The client receives the 3D parts directly from the manufacturer; everything else comes from the designer. The client can plasti-dip the 3D pieces in the needed color then airspray details. The 3D printed pieces can be connected together to allow for armor articulation, then connected to the character’s foundational garment. There can be articulated 3D armor, which is made from fabric and padding as well. Circuitry diagrams and parts lists to replicate item enchantments would be included, too, and electronic parts auto-ordered same as the 3D printed pieces. It could become very interesting!
LPM: When I heard about your application, I thought about the areas an application like this could affect. What areas of fashion, open source and society do you see your application most affecting?
SSC: I hope that by the end of the first year (coming up in May 2011), I’ll be able to begin the designer GUI. In five years, I’d love for independent designers and garment sewists and fabric manufacturers to have kick-ass connected presences on the web, offering up patterns with links to fabrics and connections to non-sweatshop sewists.
It’s been suggested to me by LetterRip that Blender could be used to show the client what a pattern would look like on them with specific fabrics. The fabric drape specifications are available from the fabric manufacturers, and we’d have the client’s measurements. Plus, it’s just possible that Blender could render fabric and movement better than the most expensive commercial garment design product currently on the market.
LPM: In 2011, will you be speaking or demonstrating your application at any events?
SSC: I’m planning to attend the Libre Graphics Meeting in Montreal, May 10-13, 2011. And I will be going to DragonCon; I have an opportunity to share a vendor booth with a person who sells steampunk clothing. If all goes on schedule, I will be taking measurements and printing out the patterns on-site. So get your DragonCon tickets now while they’re cheap! Other than that, I plan to focus on programming.
LPM: Do you have anyone sponsoring your project? How can people who want to help or get involved with your project do so?
SSC: I don’t have a project sponsor. I don’t feel that the designer/client program is ready to bring anyone else on board. Once I get my code completely in OOP, with a small library of basic template patterns, a small library of finished production patterns, and a basic client database, I will be in a position to ask for more help. I had been bugging some of the Inkscape programmers for help with some internal math functions, but it became clear that my application required more than just lifting a function or two from their source code. Once I’ve reached what I feel to be a tipping point in coding the sewing knowledge base, then the code content and organization itself should convey enough information so that I can request additional assistance and have meaningful conversations with a programmer. This could be around one year from now. Really, transferring mechanical procedures into mathematical representation takes a bit of time.
But I have a related project: I’m using this project to teach programming and math to kinetic learners, kids who like to draw or just daydream out the window during math class, but who are interested in creating computer art or just want to know how things work. Strangely enough, this union of Inkscape, Python, SVG and XML can easily teach how to program. I’m living proof of this concept. There’s no I/O to fumble with, the results via Inkscape are immediate, it’s creative, and an entire program can be created in two hours that does something besides say ‘hello world’ and conveys an immense amount of knowledge about the programming environment. Embedded in the programming is advanced algebra, basic trigonometry, Cartesian math, radian math, and Bézier curves! And it’s also a good way to get kids acquainted with open source operating systems and open source programs.
Hopefully, after creating this series of lessons, we can create a follow-up course to incorporate Arduinos and circuitry. Once I get a 501(c)3 designation, this parallel project will move forward with some buddies who know how to get funding, put together lesson plans and materials, and know that boring doesn’t cut it.
LPM: Tell us about how you are coding the program.
SSC: I am writing this program in Python, using the Eric development environment tool. You know, I learned to program in Fortran with punch cards on a Univac 1170. I learned assembly language on a Motorola 88000. I’ve worked with ‘little endian’ vs. ‘big endian’ data transfer problems, managed data networks that cross this continent, passed my CCIE written test (never tried the lab test, please don’t laugh), played with a lot with SNMP, had to prove many times over that the problem wasn’t the network -- it was the client/server program (yes, I was the BOFH). I’ve written a lot of complex data center scripts in almost every script language available, from Perl to DOS batch files. None of that was helpful in writing this program. And this is so much better than any of that!
I didn’t know the open source community existed, and it’s really changed my view of where the world can go. I finally got over my OOP anxiety, and I’m a better person for it. But my code isn’t fit to read at the moment. I’ve gotten through about 40 percent, and am in the middle of slimming down and modularizing the remaining 60 percent.
LPM: Is there anything you would like to mention that I haven’t asked you about?
SSC: Just thanks for asking! This project is fascinating and fun. Alexandre Prokoudine, Pete Ippel, Jon Phillips, Ricardo Lafuente, and many others have offered great advice and encouragement. I started with a presentation, just an idea, at last May’s LGM, and now have a project that feels real. It’s going to happen.
Re: Other applicationsStoobie,
Those are great suggestions! I'll add these to the list of potential markets. Safety gear doesn't provide protection unless there's a proper fit.
My apologies for not having provided links. I have not updated my progress in a very long time. I've been learning nuances of writing XML with embedded SVG commands from Python. And then learning to convert the ugly experimental code into Python classes, objects, methods, etc which mirror XML elements, attributes, and values. But I intend to work on the public documentation in the near future.
Here's the link to my blog. Once the code is completely OOP I'll post it on the wiki page.
Glad you're interested!
Other applicationsWhile my personal interest in the fashion industry is rather limited, I find the possible applications of this sort of technology in other fields quite interesting. For example, designing personal protective equipment for the military and industry. Custom-fit SCUBA or flight gear might be other examples. Anyone who has traveled any distance by motorcycle can tell you that an ill-fitting helmet can be a literal headache. Using this technology, helmets could be designed in a way that they wouldn't have to compromise on protective materials to compensate for a good fit, and could be made both lighter and stronger. More motorcyclists would be encouraged to wear them and replace them when necessary, (mine is currently about 2 years past it's expected replacement date!). The same could be said for Jackets, gloves, pants, boots, rainsuits and other protective clothing that motorcyclists wear. Most of these are quite expensive to begin with, and knowing that they can be easily and economically tailored to a proper fit beforehand would go a long way in reducing any concerns about investing in them as they would be more effective, last longer, and might actually look good on you!
I am also a big fan of Inkscape, and use it both at home and at work for various graphic and design purposes. It took me 2 years of begging our IT department to get it installed on my work computer, and it is currently the only installation of open source software the company uses at all, to the best of my knowledge.
I see a whole world of opportunities where this project has great value, and I wish you every degree of success with it!
Links?Do you think that maybe links to the project, or to the lead of this work might not be a good thing to include in the article?
MSBuild is now just another GitHub project as Redmond continues its path to the light.
Malware could pass data and commands between disconnected computers without leaving a trace on the network.
New rules emphasize collegiality in coding.
Upstart lands in the dust bin as a new era begins for Linux.
HP's annual Cyber Risk report offers a bleak look at the state of IT.
But what do the big numbers really mean?
.NET Core execution engine is the basis for cross-platform .NET implementations.
The Xnote trojan hides itself on the target system and will launch a variety of attacks on command.
Spammers go low-volume, and 90% of IE browsers are unpatched.
Adobe scrambles to release patches for vulnerable Flash Player.