We began searching for existing tools that would allow us to provide the desired experience to our users. We wanted pMD to feel almost like an extension of their desktop. What we found was pretty disappointing: there were a few options available that gave us parts of what we needed, but nothing that would function well for the wide variety and age of browsers that our users utilize. For example, one tool we really liked worked well in Chrome and Firefox, but didn’t function at all in older versions of Internet Explorer. After an exhaustive search, we decided that we needed to write an all-new upload tool from scratch.
After several days of development and testing, we were able to come up with something that we are really excited about. It supports all modern browsers (Chrome, Safari, Firefox, Internet Explorer 10), but also functions well in older versions of Internet Explorer, which many of our customers use. The utility we created detects the browser version and offers as much functionality as that particular environment can support, and then degrades gracefully in cases where certain components (e.g. file upload progress updates) aren’t available.
After we released the new upload feature to our customers, we realized that the software tool we had created to support it could be useful to others. So, we decided to share it with the rest of the software development world as open-source software. Doing this has two benefits: it allows others to reap the benefits of the hard work we put into the software, and it also enables us to solicit suggestions and feedback on the utility we’ve created. In the end, we hope that both the software development community, as well as end users will really benefit from this effort.
For the developers out there, we encourage you to fork our repository on GitHub, try it out, and submit any improvements that you come up with. We can’t wait to hear your feedback and see your creative uses of pmdAjaxUploader.