Hi all,
thought it might be worth updating this thread on my progress with S3, 
which I have now solved by adding one small hack to the Filereader 
<https://github.com/simonh1000/file-reader> library (github only because of 
the native code). I have documented this at 
https://simonh1000.github.io/2016/12/elm-s3-uploads/ 

Meanwhile, I have a new use to register. I was looking at MessagePack 
<http://msgpack.org/> and noted that Elm is not included in the long list 
of supported languages. I suspect that it currently could not be because of 
the lack of ArrayBuffer support?

Simon


On Wednesday, 24 August 2016 18:06:40 UTC+2, Erik Lott wrote:
>
> Our primary application allows photographers to upload hundreds/thousands 
> of images for portfolio display. image delivery, etc. I guess you could say 
> that our app is generally driven by image uploads. I would love to see this 
> functionality provided by Elm, rather than having to use ports...
>
> On Thursday, July 28, 2016 at 5:17:51 PM UTC-4, Daniel Bachler wrote:
>>
>> I'd love to see support for the File and ArrayBuffer Apis, and maybe 
>> TypedArrays/DataViews as well. IMHO they are an important piece of the Web 
>> Platform that is still missing in Elm.
>>
>> Evan suggested collecting concrete use cases to guide the design. I would 
>> like this thread to be the starting point of this effort. I would like to 
>> ask anyone who would also like this feature or who has substantial 
>> experience using either Api to add use cases or comment here so that we can 
>> try to define the user story for both apis. From there, we could decide 
>> what we would like to see supported and what, if anything, we don't need 
>> for now and suggest Elm Apis.
>>
>> I have two stories from a side project of mine. It is a slideshow editor 
>> that allows the user to select photos and audio files from the local 
>> system, uploads them to a web service, let's the user arrange and 
>> manipulate photos and music and then share the result with others. For 
>> this, I have two immediate use cases plus some more ideas:
>>
>> *Upload local files as binary blob to AWS S3*
>>
>> In my current, (hacky) version, I use the FileReader api (via 
>> simonH1000's filereader library) to read the content of a file into an 
>> ArrayBuffer, (represented as Json.Value in Elm) then use a modified version 
>> of elm-http to upload the content of the ArrayBuffer to an S3 storage 
>> bucket.
>>
>> *Download mp3 files, decode them and play them back via the AudioApi*
>>
>> Currently I do this with my modified http library to download the mp3 
>> file into an arraybuffer, then pass the resulting arraybuffer through a 
>> port to some native javascript that then uses the Audio Api to decode the 
>> mp3 file into a playable audiobuffer.
>>
>> *Parsing or otherwise processing local text files. *
>>
>> For another project I would be interested in reading and parsing 
>> Swagger/OpenAPI definition files and then providing a UI to compare rest 
>> apis. Since the processing will be done on simple Strings, this would only 
>> require FileReader support (specifically the readAsText method). This would 
>> already work with the FileReader library as is (though that one is not 
>> available on package.elm-lang.org because it contains native code and is 
>> not whitelisted).
>>
>> *TypedArrays and DataViews*
>>
>> I haven't worked with these yet, but I can anticipate some cases that 
>> would be interesting:
>>
>> *Parsing/manipulating of binary data via the ArrayBuffer api.*
>>
>> One case I personally would like to do with this, is to parse the Exif 
>> header of the jpeg files the user loaded from the local file system. My 
>> slideshow could then display metadata information without roundtripping to 
>> the server.
>>
>> *Create geometry for WebGL in the form of Vertex Buffers*
>>
>> *Generating sound/music by writing raw audio samples*
>>
>> These could then be played back via the Web audio apis.
>>
>>
>> Please add your own ideas to this thread. Once we have compiled a list of 
>> use cases, we can look at the JS Apis available under the Web Platform for 
>> Files, ArrayBuffers, Typed Arrays etc. and think how these could be exposed 
>> to Elm. 
>>
>

-- 
You received this message because you are subscribed to the Google Groups "Elm 
Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to