

I want to solve the uploads problem - va1en0k
http://unfoldthat.com/2011/10/16/the-uploads-problem.html

======
phzbOx
This is a great idea.. and something I've been wanting to do for a while! The
reason I didn't do it was because of a competitor that pretty nailed it. I've
been trying to find the website.. it's done in node.js with "robots".
Basically, it takes care of uploading your file and then you tell robots what
to do with it (Compress it? Store it on Amazon, etc.)

Anyhow, great job doing it. Depending of the pricing, I'd surely use it.

I've seen that you make your widget code open source. I guess this handle the
flash hack / html5 version for all different versions of browser? Hopefully so
because that's the most annoying part of getting the ajax upload working. But
then, if that's _free_ , I'd probably take these widgets and just manually
code the amazon part.. The only reason I'd use the service is if the pricing
is _a very little_ more than what amazon would cost me.

However, that's just for me. Other startups or bigger company might be willing
to pay the big price it can save them hours of coding.

And, to everyone you've never done the ajax upload.. trust me that it's a
_pain_. So many browsers and hack.. compressing the images, storing them,
limiting the size, etc etc etc. It seems like a trivial task and the first
thing you know is that it's been a week you're working on that and then, once
you think everything is done, you receive weird message like it doesn't work
on IE9 for some reasons, or whatever.

~~~
PStamatiou
Are you referring to <http://transloadit.com>?

~~~
pbhjpbhj
They have "the cloud" too! - <http://news.ycombinator.com/item?id=3117017>

------
JonnieCache
Personally I'm waiting for Fabrice Bellard to port FFMPEG to javascript so we
can do video transcoding client-side.

Shouldn't be long now.

~~~
mappu
The mind boggles. I know you said that tongue-in-cheek, and that would be an
_incredibly cool_ project, but i feel that unless we put this to rest now
someone might actually take you seriously.

A huge amount of work has gone into making FFMPEG and x264 as fast as they are
today. Not only would you lose performance (and integer types) going from C ->
JavaScript, but you also lose all the assembly, handwritten for tens of
different architectures (including SIMD like SSE). I would expect at least a
100x slowdown.

For your users' sake, please don't do this ;_;

~~~
X-Istence
Well, we have already have JavaScript Linux[1] ... lets just compile FFMPEG
for that, and use it within the users browser.

[1]: <http://bellard.org/jslinux/>

~~~
JonnieCache
Yes, in case it wasn't clear, Fabrice Bellard is the author of both FFMPEG and
jslinux, and my comment was referring to his outrageous productivity/ability.
As great as V8 may be, it isn't a great target for an ffmpeg port.

Still, I wouldn't put it past him.

------
bobfunk
Have just been writing something similar for <http://www.webpop.com>

Wrote a small service in Haskell to handle large uploads in preparation for a
new feature. Does interleaved IO and streams the uploaded file directly to
Cloudfiles while also saving a copy on the local disk to be able to extract
some metadata and add them to our DB at the end.

Also did play with the idea of creating a general upload service based on this
implementation, but for now I'm focusing on other things.

~~~
phzbOx
This is a great design and idea. I'm always perplexed about trusting a "CMS
that will make your life _way_ easier". But, this one seems well done.

Let's say I use html/css from scratch; or integrate some coffeescript in it..
How clients are supposed to edit the text? I.e How the intuitive widgets works
to change stuff?

~~~
bobfunk
You'll work with a template language to define what parts of the page the
client should be able to edit.

Webpop lets you work with structured content, pull the content into your
templates and define exactly the HTML used to present the content.

The system then automatically detects what part of your site is dynamic
content that the client should be able to edit and what's design. The client
then get a simple on-site editor for updating his contents.

There's a video of it all in action here:

[http://www.webpop.com/blog/videos/on-site-editing-the-
easies...](http://www.webpop.com/blog/videos/on-site-editing-the-easiest-way-
to-update-a-website)

------
aw3c2
offtopic but submitter == author so here it goes:

Your site was nicely readable until the custom font got loaded. It is tiny and
a colorful blurry mess (subpixel) on my monitor. The text right above the
bottom image is almost unreadable.

~~~
va1en0k
ouch, thank you very much. I'll definitely think about dropping it

------
localhost3000
I just spent the last week implementing something very similar for a client
project...most of the problems in that list of yours already have solutions...
Nice idea to try and productize them, though. In the case of my client your
product could have saved them a weeks worth of paying me so there is
considerable value if you can make it super duper easy to integrate

------
memset
This looks very cool. I myself am working on a video service wherein users
upload large videos.

For my particular application, I'm looking for something which can handle
large files (500MB - 2GB), preferably giving file upload progress and being
able to resume broken uploads. Could you talk more about those features?

Also, it seems like we would upload files to your servers, and then to
integrate them with an app, I would then use your API to bring them over to my
servers or storage. Are there plans to make the source of the uploading
widgets/mechanisms themselves (not necessarily open-source) so that we can
host our uploads ourselves?

Ooh, and how about something that is mountable?

Anyway, those are just a few of the things that immediately crossed my mind in
terms of use-cases for my current project. I can see this being very nifty!

~~~
va1en0k
Hi!

Our widgets are open source: <https://github.com/uploadcare/careful-uploaders>

To handle videos, I'd recommend you to check out <http://transloadit.com/> .
They are something like our competitors, but I believe we have different
targeted audience.

We've been thinking about splitting files in parts and everything, but not
right now.

Thank you for your suggestions!

------
mrspandex
A worthy goal, I often shy away from accepting uploads if I can due to many of
these issues. A couple questions though:

-When I upload files, are you serving them infinitely, or just caching them so I can fetch them from my server?

-Are there any x-domain issues here? Can it work over SSL?

~~~
va1en0k
1\. I'm storing them on S3 infinitely. They're stored either on my
(uploadcare) S3 account, or on yours, if you prefer it that way.

2\. We haven't tested it properly yet. But there are no rocket science; I
believe, everything is going to be fine as soon as we get the SSL certificate

~~~
jerf
There's an aspect to "the uploading problem" you didn't name, which is the
"uploading services rapidly turn into hosts for pirate and illegal content,
and even if that doesn't bother me ethically it bothers me when I get the
bills" problem. "Storing on S3 infinitely" only scales as far as your
pocketbook.

(Also, by "illegal content", think "Feds literally busting down your door and
hauling you away" sort of illegal content, and by "you", I mean, _you_ ,
va1en0k. This is _not_ necessarily a reason to stop right now, but don't get
too far down this path without legal consultation about how you should protect
yourself from this eventuality. There are things you can and should do, like
make sure you qualify for DMCA safe harbor provisions.)

~~~
va1en0k
yeah, I've been thinking about it. thank you for suggestion! I'm going to
contact a lawyer as soon as it becomes reasonable

------
adamcharnock
This sounds like a great idea. Sure there may be competition, but that isn't a
reason not to do it.

You may want to take a look at how Twilio handles in-browser audio recording
(even though they offer something different). Basically, you insert some JS
into your page, then the audio is streamed to Twilio, and then Twilio does a
callback to an endpoint you specify (with meta data, the URL to the file etc
etc). What is also great about this is that I can serve the files right of
their servers and not have to worry about it as a developer.

Best of luck with it!

------
JonnieCache
To get that "on-the-fly-thumbnails-from-urls" behaviour in ruby/rack, take a
look at Dragonfly.

<http://markevans.github.com/dragonfly/>

------
yurylifshits
UploadCare fan mail from prospective beta tester
<http://cl.ly/1L0I3e0T3l1m3h2d3g0I>

------
Morendil
For a second there I thought you meant Moravec-type uploads. (Not that there's
a problem with those. No, nothing could possibly go wrong there.)

------
philfreo
the jab at PHP wasn't really necessary...

~~~
nolok
That's how you detect hipster articles ! More seriously, as a php developer
all this told me was that I shouldn't use his product, because someone who
thinks file uploading in php poses more of a threat than in other language
probably doesn't know php much, yet he still finds himself competent enough to
jab at it.

~~~
SimHacker
Why as a "php developer" do you restrict yourself to one language? Why not
just be a "developer" who uses the right tool for the job? Then you won't have
to use PHP all the time. And your feeling won't get hurt when people point out
how horrible php is. That's just an objective fact. Don't assume that because
he hates PHP he doesn't know it. When you learn other languages, you will find
out that you have to know something well to truly hate it properly.

~~~
nolok
Who said I restricted myself ? Is a python (or whatever suit your boat)
developer restricting himself to python ? I said of myself that I am a php
developer because I actively use it on a weekly basis and it helps me make a
fair amount of money on the side while others argue about which is worse
between php and the devil. I also use quite a few other languages, mainly at
my job.

> Why not just be a "developer" who uses the right tool for the job?

That's exactly what I do, and there are a few cases where php is the right
tool. When someone tries to use php in other situations and complains that it
sucks at it, it just shows how poorly he chose his tool.

> And your feeling won't get hurt when people point out how horrible php is

Where have you read anything like that ? My feeling aren't hurt at all, I'm
just saying his remark is stupid, plain and simple. File uploading in php is
no more (or no less) of a threat than in other languages, you just have to
know what you are doing, that's what I posted about, not some "php is
horrible" that you imagined reading.

> When you learn other languages, you will find out that you have to know
> something well to truly hate it properly.

That is exactly my point that you missed, given his remark on file uploading
(the only thing he mentioned and that I commented on), he doesn't know php
well. Thus he should abstain from trying to take a shot at it in a product
description page, especially since - given php popularity - a lot of his
potential users are using it.

------
fduran
Looks like <http://plupload.org/> does the uploading part of what you want to
do?

~~~
va1en0k
Well, it has several features similar to ours, but being a client side-only
library it can't do everything.

------
rhdoenges
Will this do anything that <http://transloadit.com/> doesn't?

------
roachsocal
Also check out <http://cdnimag.es/> for the auto-resizer stuff.

------
drudru11
why can't we just fix the standards?

~~~
va1en0k
I don't believe all of these problems can be reasonably fixed without worries
about security and stuff.

However, in my dream, the service becomes so awesome so it inspires new,
better standards! :-)

