If you'd like to use the site and help me test it, you can join here.

Monday, September 29, 2014

How Did You Learn to Distinguish the Myriads of Different Fabric Types?

I recently read an interesting blog post about fabrics at http://www.coletterie.com/fabric-haberdashery/choosing-fabric-weight-vs-drape. I'm pretty sure that what Sarai wrote in hat post is no big news to most of you. To me it was quite interesting - when you want to set up a site in such a way that we can classify fabric in a detailed enough way to get a useful search feature out of it, posts like this are very helpful.

Actually, when I read further through the comments on that post, I realized one more thing I had been struggling with: There is a myriad of different fabric types out there. While I can distinguish a few common ones, like batiste, crepe, organza, denim, I have trouble visualizing (and imagining the touch/drape/weight) the large majority of fabrics found in patterns' fabric recommendation sections.

That's when I started wondering... what if the site would aggregate information regarding these fabric types - what if you could look up what attributes the majority of fabrics of a given fabric type have? E.g. batiste is a fabric that commonly has the attributes "lightweight", "plain weave", "densely-woven" and it is often made out of cotton fiber?

How it would work... We note down the fabric type and all the attributes when we record fabrics in our virtual stash. At some point, there is enough data on the site, that a script can go through all the individual stashed fabric entries to extract information about what attributes fabrics of a given type have.

What do you think? How much time did you need to learn the ins and outs of fabric types?

Sunday, September 28, 2014

What Was The Biggest Project You Ever Started (And Finished)?

It's time for some retrospection on projects, procrastination, perfectionism and the likes. So, let me start out with admitting that I used to have lots of trouble with procrastination. I'd always see the flaws and I had trouble being content with something I made. People expected a lot from me - and I was scared of disappointing them (and myself).

The biggest issue with procrastination and perfectionism seems to be the following:
  • to master any craft, you need to practice (often over years) - but when you don't dare to practice for fear of failure, you can't master the craft
Today I see the ability to see the flaws in something as an asset. And I learned - to a certain degree - to accept that what I make won't be perfect. I've also made it a habit to work on my craft every single day - even if it's just a little.

What about you? Have you ever had trouble with procrastination, putting off things to do them at a later time, or unwarranted perfectionism in general?

What was the biggest project you ever started (and finished)?

My biggest project I ever started isn't a sewing project. And I've come to terms with the fact that it will never be finished. Ravelry isn't finished - and likely won't be ever, either. Websites evolve. There's always a way to do things another iota better, there's always something useful that could be added. That's why I explicitly permit myself to let people see it before it is finished.

Friday, September 5, 2014

A "Ravelry for Sewing" Must Differ From the Original Ravelry

This post will appear incoherent and not make much sense unless you know the website Ravelry (here, I explain a bit about what it is and why it would be nice to have a similar site for sewing) and it's pretty much a follow-up post to this one.

Okay, so going forward with the project and asking for feedback was absolutely the right thing to do. I've met some really awesome people and there's a lot of discussion going on.

So, a very important observation is the following:
  1. You can't copy Ravelry 1:1 - it just won't work.
First off, I have to say that, despite just having said that you can't copy Ravelry as it exists, there exist parts of Ravelry that you can in fact copy 1:1 and they will work decently. Which parts do I mean? Let me list them:
  1. forums, groups and pages (they're intuitive to use, not too fancy and the traditional format simply works without stressing people out)
  2. projects (giving people the ability to upload pictures, write a bunch of notes and record data about their projects is pretty universal)
  3. profiles that let you link your blog feed
Okay, so there are parts you can copy, so why can't we just start with copying these and then build the rest and everything is great? Here's bunch of plain reasons:
  1. Implementing these is not the hard problem that needs to be solved in order to get a "Ravelry for sewing". 
  2. If you start this way, you'll be wasting a lot of time building all these things and then, after months of battle, you face the hard problem. So, now you're at a point where you poured all your heart and soul into building something and into reaching out for people to use the site - but it didn't take off yet because it's not much more than just another forums/groups/projects site. People simply aren't as impressed as you hoped them to be. You become disillusioned and the project fades away... It's a trap.
So.. what's the hard problem, actually? Let's face it: The hearth around which the Ravelry-community gathers is a comprehensive knitting/crocheting database that actively helps people organize their craft - the forums, groups and pages are just the inviting cushions around it where you meet and chat with others who are into the same crafts. In fact, only a part of Ravelry's userbase even uses the forums: there are people who come simply for its other features.
  1. The fact that people enter and share craft-related data freely and improve the entries in the database makes it possible to successfully search for things that would, otherwise, be nearly impossible to find. You can easily find "green yarns that are made of alpaca and polyester". You can easily get a huge list of patterns for "seamless, fingerless gloves", or, for that matter, lots of other much more involved queries.
  2. You can organize your stash and assign stashed yarns to your projects. This helps you keep track of what you're working on and what items are available to use for new projects.
  3. Through the database, Ravelry is able to give you smart suggestions about patterns others have used with a given yarn that you have stashed, or suggest yarns from your stash that could be used with the pattern you're looking at.
  4. And Ravelry does so much more on top of that.
So, between stash, projects and the yarn/patterns database, there is a huge synergy: People enter data into the database so they can link to that data from their stashes/projects. Through linking projects to database entries, the database entries themselves are enhanced: There's a tab that shows you all projects linked to a database entry.

Okay, so why I'm saying all this: I'm telling you what the hard problem is. It's building something that makes it possible to search successfully, that lets you keep track of what you're working on and what items are available to use for new projects. It's something that gives you smart suggestions.

And in this point, any "Ravelry for XY"-project will differ substantially from Ravelry. To enable smart suggestions, you need to build a system that understands the data by structuring it in the same way people think about the data. There's a word for that which is floating through the web since years: "Semantic Web".

And now comes the insight: People think about fabric in a completely different way than they think about yarn. So when you build a system that's supposed to give smart suggestions and answers, you engineer the database for that system with the questions in mind that people want answered:
  1. "What fabric from my stash can I use with this pattern?" (Here, the system must check which stashed fabrics have sufficient yardage to cover the fabric requirements of the pattern.) The converse "Which patterns from my stash can I use with this fabric?" works in a similar fashion.
  2. "What fabrics have others used when they made projects using this pattern?" "... and how happy were they with the result?"
  3. "Wow, I like this fabric, has this fabric recently been sold by a fabric store in my vicinity?"
  4. "Where is the location closest to me where I can take sewing lessons?"
  5. "Where can I shop a blue seersucker fabric that is 100% cotton?"
  6. There are countless more.
What's your question that you would like to have answered by the web?

Wednesday, September 3, 2014

To Open-Source or Not To Open-Source...

When I posted on Reddit about that I'm building a Ravelry-inspired sewing database site, I got a bunch of very kind responses from developers that totally took me by surprise. It seems that there are people who would consider joining this project if it were open source.

Yet, I hesitate to open-source this project and I've been thinking about why I do.

The list of reasons I came up with is
  • I'm scared of people looking at my code and laughing. (Actually, I know that in the long run getting feedback on my code would help me improve my skills a lot. So this is more or less an irrational excuse.)
  • At the moment, I don't see my passion in coordinating a bunch of developers but rather in creating. I'm not sure I'd enjoy this journey as much as I do now if I'd be taking care of architecting a project with multiple contributors - whether I do would depend on how well I get along with the contributors I manage to rally.
  • I'm a bit of a control freak and definitely a strong introvert which might make it hard for people to deal with me.
  • I hate criticizing people. It makes me feel bad. I'm fine with receiving criticism, though.
  • I need to earn a modest income from the site at the latest in three years so I don't have to take on a regular day job that kills the project. Yet, I feel that me getting the "get-out-of-the-corporate-world-for-free-card" while everyone else gets nothing tangible wouldn't be fair to the open source contributors.
On the other hand, there's good reasons why going for a larger Open Source effort could be interesting:
  • With a bigger development team, we could completely transform the web for the sewing hobbyist scene - and also for pattern designers and small businesses. Both in much less time than I alone would need and on a larger scale.
  • I feel a lot better about being a part of an Open Source project than about raising funds from venture capitalists.
Still, there are more options than just "the big open source project" and "a closed-source one-developer-job":
  • I could do a Kickstarter to raise money to hire experts to code Open Source libraries for use on the site or to improve existing Open Source libraries I'd like to use if they had a certain feature. Though, I'm not a Kickstarter expert and I don't have good contacts into the Open Source scene.
  • More realistically, I could open-source potentially reusable parts of the site's code I'm struggling with and try to get collaborators/feedback for these parts.
What do you think?

Monday, September 1, 2014

Shopping With Your Stash in Your Smart Phone - Why don't People Use the Existing Stash Management Apps?

So... one thing that I've noticed is that people are really longing for something that helps in the following situation:

You're in the fabric store and can't remember what's in your stash.

So what happens in that case? There's a bunch of outcomes
  1. you buy a few cones of thread / patterns only to discover that you now have more than enough of them (while having excess thread in a given color might eventually be solved through using it up, having duplicate patterns means you just incurred something you'll eventually want to destash, i.e. give away or trade for something more useful)
  2. you remember a pattern for a project you want to make and buy fabric without knowing how much fabric exactly you need (this means either having excess fabric you didn't need or ending up short on fabric and cursing)
  3. you decide not to shop because you don't want to take the risk
People all seem to agree that the solution is to have an app on your smart phone that lets you keep track of your stash.

So, now you're 
  1. in the fabric store,
  2. get out your smart phone to check 
    • whether you can use the item,
    • how much fabric you need,
    • what colorways of a particular thread are depleted, and
  3. can shop or not shop with confidence.

Yet, while there seem to be several Android and iOS apps that claim they do let you do exactly that, very few people seem to use these apps.

So why aren't these existing apps welcomed with open arms, smiling faces and all that?

I have to admit that I haven't studied these applications in detail, I just browsed a few websites. And the impression I get is the following:
The applications are either
  • really basic, free and appear tedious to use, or
  • come with their own database that is maintained by the provider of the application and cost a good bit of money.

I believe that
  • the center piece of a good stash management application is a shared database of patterns, fabrics, notions, thread 
    • without such a database, entering all the data about your stash becomes a chore - and people would constantly repeat recording the same data in different ways
  • this database needs to be user-maintained
    • only when the database allows users to add and edit entries, there's a chance we can keep up with the influx of new items while keeping the stash management tool free to use for everyone

I'd be totally interested in hearing why you do or don't use existing stash management applications - and, in particular, which ones you've tried.