Re: Previous Patterns
« Reply #1 on: August 08, 2016, 04:02:14 PM »
Thanks so much for this question, it is probably the question I have received most in the last years.
With such a large user base, a significant amount of people lose one or more pages of their pattern during the stitching process, either due to a computer crash, spilling coffee on it or the dog eating some pages. I therefore would like to create an option for users to retrieve their previously created patterns. But I haven't created such an option yet due to a few reasons.
First of all there is a technical and financial reason. With an estimated size of 2 megabytes per generated PDF file and 2.8 million patterns generated in total, I would need 6 terabyte storage just to store the patterns. Reliable storage on the internet including backups with this size would cost around $1000 per year.
The second reason is privacy. Currently all uploaded and generated data to create a pattern is erased from the server after a maximum of six hours. Many patterns contain personal information like pictures of people and private areas, and with this policy I can guarantee that no private information will remain on the server. If patterns would be archived on the server, I would have to take measures to protect that private information, by authentication, encryption or probably both.
Authentication would mean that people have to identify themselves before using the service and generating a pattern. Otherwise I will not be able to match a user with their own patterns later on. This would increase the barrier to use the system significantly. Pic2Pat has been designed to be used by people with practically no experience in using computers or websites. When designing the system my main test user was my then 73 year old mother who liked cross stitching but only had limited computer skills. Only when I was confident she could use the system without difficulties, I released it on the Internet. Having an authentication wall with registration, password selection etc would have made it too difficult for her and for many other users.
So the only way I can guarantee privacy and use authentication to retrieve lost patterns is by providing a unique authentication key AFTER the pattern is generated. Besides the current sequence number P2P-2345678 there could be another code printed on the pattern which is used as a password to logon to the system to retrieve a duplicate of that pattern. That is technically possible although one should have at least one page of the pattern with the key to retrieve the copy.
Lets assume that I'll manage to store the PDF files in a secure way, and that each PDF file has a unique authentication key which is printed on each page. Then I'll have still two problems left.
The first problem is that some users want to share one or more pages of a pattern on the internet to show others their stitching projects. If they just publish one page (for example the front page with the image) and the authentication key is readable on it, then anyone on the internet can download that full pattern. That may not be desirable because the user may not have had the intention to distribute their work freely and just wanted to show one page.
The second problem is that if the pattern contains copyrighted work not owned by the user who generated the pattern and the pattern can be distributed from my server through a "retrieve old patterns" option, there may be liability issues regarding the intellectual property rights. The copyright owner can in principle sue me for distributing copyrighted work. To tighten that hole, all patterns must be encrypted individually with a key only known by the owner. In that way I can guarantee that I couldn't have known if the content of a pattern was copyrighted. I must also have procedures in place to reply in a timely matter to copyright infringement notices. And last but not least, a Terms of Service on the site should be in place which complies to the copyright laws of the 150+ countries the users are coming from.
So hopefully you can see there are some challenges before I can add an option to the website which allows the retrieval of old patterns, the financial part currently being the biggest hurdle. Providing a free service doesn't make it easy to generate a constant $100 per month to store patterns for future pattern retrieval. The only option I can think of is to have a "pay per restore action" option which let people only pay if they want to retrieve an old copy of their pattern. General users would then still be able to use the service free of charge.
If you have any alternative ideas how to implement a pattern backup service which tackles the issues mentioned above, just drop them here and I will be happy to discuss them.