For the sake of convenience let’s call my future website amujo.com. Amujo does not mean anything. It is just a name I have chosen for convenience.
Many web hosts provide the facility to have unlimited sub-domains on my domain. This prompted me to initially consider dynamically creating a sub-domain for each user who registers. So if the user fcr logged in and uploaded files, they would go to fcr.amujo.com. His family and friends could navigate to fcr.amujo.com and simply download the files. I later found that on Linux based web hosts, it is not possible to programmatically create a sub-domain. It is possible on Windows based web hosts, ironically. I would have to go through control panel. Obviously, I will be unable to do this for all users who login to my site.
In a way that saved me some time. I don’t have to worry about getting that working now at least. So basically if there is a public_html folder, I suppose each user’s files will be stored in www.amujo.com/public_html/storage/username. The storage directory will be aliased as upload.amujo.com as well as download.amujo.com. In order to upload files, the user will have to be registered and logged in. Once logged in, the user will be able to see
My upload history
Upload files now
Upgrade to premium account
etc.
Upon selecting the “Upload files now” option the user will be taken to a file upload page. Here the user will be asked to click on browse buttons to select files to upload. I think that I should have a file uploader program that will take care of uploading the files in the background. That leads me to ask, why doesn’t Firefox come up with a standards based background uploader that includes the ability to resume broken uploads?
Once the user has uploaded his files to his slice of my website, he can get a link to send to his friends. He can also get this link from his upload history in case he loses it. I am debating whether amujo will send email because of the limit my web host might have. On the one hand, it is a simple matter for the user to copy and paste a url to send an email. On the other hand, it is far more convenient to receive an email which he can simply forward. I guess I will go with the email option and see how it turns out.
Anyway, when the family gets the email, they will just click on the link that says download.amujo.com/username/file1. This begs the question, what if multiple files were uploaded. I could have the email have multiple links to file1, file2, file3 etc. Or I could have the link in the email be download.amujo.com/username/IALDJ33-AVJAER039, a key that will display only the files that were uploaded with one submit session.
What if the user who uploaded is a premium service member and wants his files organized in folders? This means I have to provide the ability to manage uploaded files in an explorer like interface (only for premium users, I would imagine, although I need to see if everyone should have this ability).
And if this premium user wants to distribute a specific subset of his files, then should the downloader be allowed to view and download all his files? Obviously that should not be allowed. So the interface should allow the uploading user to drag and drop a bunch of files into a sharing bucket. This bucket will provide visibility to the files in this bucket only. This bucket is what will be sent to the family and friends. When they click on their link they will see the bucket called “Google acquisition presentation” or “Trick or treat photos” with only the files that belong to that buck.
This bucket feature need not be restricted to premium users. All users should be able to create buckets of files, the link to which is what they will send to their friends. The downloader can then have access to the bucket he needs to access. Access to view the contents of the bucket will be via the complicated key in the link. I am yet to consider if the downloader needs to be a logged-in member. The advantage of having the downloader log in is that the uploader can choose who will see the contents of his shared bucket. Perhaps it can be a combination. You could either have the key in the link, or be authorized to view the bucket.
No comments:
Post a Comment