I can see that even those of us who are very involved and very technically oriented are getting confused. I work with (real work, volunteer, friends & family, random people on the internet) people with a wide range of devices, skills, understanding of technical terminology, etc. Only a small percentage (mostly the programmers) understand what really goes on when you move an image file around. I’ll spell it out a bit differently.
Ways That Users Store/Access Pictures
- Create a drawing on a computer (Paint, GIMP, Photoshop, etc.)
- Scan an image directly to a file on a computer.
- Scan an image and send it via email.
- Capture a computer screen image.
- Take a picture with a camera and transfer it via a special program to a computer.
- Take a picture with a camera and copy it as a file (either treating the camera as a virtual disk or actually moving an SD (or similar) card to their computer).
- Take a picture with a phone and copy it as a file (either treating the camera as a virtual disk or actually moving an SD (or similar) card to their computer).
- Take a picture with a phone and “share” it via text.
- Take a picture with a phone and “share” it via email.
- Take a picture with a phone and “share” it via some sort of online service (Imgur, Flickr, etc.)
- Take a picture with a phone and let it automagically upload to a Google (Android) or Apple (iOs) server.
- Capture a phone image (and then copy or share etc. - all “phone” options above).
- Receive an image from someone via email and forward it along to someone else.
- Save an image from a web site (Facebook or whatever) on their computer.
and so on. There are probably a few more ways that I haven’t even thought of yet.
The key point is that some (let’s call it half) of these result in:
- A file on a local computer or other device that allows accessing files via user access to the file system, and
- The user knows how to actually find the file, and
- The user can upload that file using a standard browser upload dialog.
That is the group of users/images that we have all (I think) agreed will be MVP. Programmers - no problem. Power users - no problem. Others - some will “get it”, many will not. Trust me. I deal with the non-geeks every day. The simple act of browsing to a file is foreign to many people.
The next largest group is primarily what I would call the “online” batch:
- The images are in some online system - whether that is online email (Gmail, etc.), Imgur, Facebook, Twitter, Flickr or something else.
- The users can click on the image and download it but don’t know what to do next and the next step is very dependent on the particular device, operating system, etc.
- They can however right-click on an image and copy the link or
- If an image is on a page by itself, copy the URL from the top of the page.
- (But note that often times they don’t get even this correct and up pasting a link to a full Imgur page rather than a link to just an Imgur image. It happens. Too often. But that’s fixable.)
This is the group that is taken care of by adding what I recommend we do soon but which is NOT (by general agreement) actual MVP. Trust me, having this will significantly increase the number of images successfully transferred in non-programmer communities. Doing this requires the server to capture the image via URL, which is not hard to do but is an extra step with security & other concerns, which is why it isn’t MVP.
The next group is “drag 'n droppers”. They don’t know how to find files in directories correctly. They don’t know (but likely could be trained) how to copy an image link. But they can find images on their device and copy/paste or drag 'n drop them from a folder “somewhere” (don’t ask them where, they don’t know) into a box on a web page. Most of the time this type of transfer works well, but my general experience is that programming the drag 'n drop mode is a bit more involved than the “browse for a file” mode.
The final group is “clueless beyond email”. They might be regular computer (desktop or laptop) users, but who get their images via email or cloud services and just have no idea about how to deal with files locally. (Trust me, they are out there. A lot of them. Too many of them.) Or they be “mostly phone/tablet” users who don’t understand their local file systems at all (Thank you Google & Apple for making everything so “nice” that people don’t even realize they are working with computer files…). These people can upload using built-in Apps (“share”) or email pictures around to everyone. But they don’t know how to do much else. Many of them can be trained to “find the file or find the URL”, many can’t (or at least not without hands-on training that we can’t do). But they can be told:
- Forward the email to [email protected], to add to their online Codidact image library from which they could select images to add to a post, or
- Forward the image to [email protected] and put the post #: 123456 in the Subject line, which would add the image to the post provided that the From address matches the authenticated email address of post 123456.
and then we can process the images automagically. That would be a really cool feature, but absolutely NOT MVP. It is also a feature that I have never seen in any big public systems, but I have implemented similar features in applications for my own customers.