I have never built a web app with Xojo, just desktop, but I have built a lot of web sites in the past 30 years. We’re working on a web based project that would involve customers uploading very large (tens of gigabytes, potentially up to 1-2 terabytes) of files from their desktop to an S3-compatible bucket. We would store these files with Wasabi rather than Amazon, since they have better pricing and don’t charge ingress/egress fees. The kind of files being stored would rarely be accessed, so we’d be well within their free egress policy.
The issue is getting the files to Wasabi. In some cases (many, actually), we’d upload the files to the S3 bucket from our office via a desktop app. This would be a direct connection to Wasabi. But when customers upload their own files from their desktop, we run into issues. Unfortunately, Wasabi doesn’t support CORS, which means when the customer uploads their own files through our web site (likely built on Drupal), the data has to go from their desktop->our site->S3 Bucket. That means we’re dinged twice on the bandwidth costs, and based on our projections, these are significant fees. We want to avoid this. (and hosting it at Amazon is cost-prohibitive, driving the cost of our service to too high a level for the customer base we’re targeting).
One option is to make a desktop application that the customer downloads, which uses the Wasabi API to directly upload the file to them, bypassing our web server. This is relatively easy to do, and would make for a simple, secure method of uploading the files. But there’s a fair bit of friction here, which I think would be hard for some users to deal with. (many of these customers are older and are not tech-savvy).
Another option is to embed some kind of app hosted elsewhere, such as within Xojo Cloud, within our site, so that the bandwidth is used elsewhere, even though it looks to the user like they’re uploading through the site. There are reasons we want to keep our web site where it is, but we could put the upload/download stuff in an embedded xojo app within our site, with that app being hosted on xojo cloud, no?
What are the costs for bandwidth overages with Xojo cloud? We would need minimal space, but maximal bandwidth in this scenario.
How reliable is Xojo cloud? How’s the speed? Is there a better way to make this seamless than what I’ve outlined?