- Loading...
- No images or files uploaded yet.
|
|
GSOC 2009 IdeasWe are going to apply for the Google Summer of Code 2009, a program that offers student developers stipends to write code for various open source projects. This page will function as an ideas list for the SproutCore application. If you have an idea and would like to mentor it, please add it here.
Keep in mind that according to the GSoC, the most successful projects are the ones proposed by students themselves, so if you are a student and want to work on an idea, please add it here as well.
Some of these ideas might be too big for a single student to accomplish over one summer, so feel free to split them up into more manageable parts.
Note that Google has not announced the list of accepted projects for GSoC 2009 yet. If we do get accepted, we will add more information here on how you can apply as a student.
Possible Projects
View BuilderA browser based WYSIWYG View Builder, similar to what Interface Builder brings to Cocoa. This would use the power of the new SproutCore 1.0 View API as well as being a showcase for SproutCore itself to develop the Builder application. Requirements: Extensive knowledge of Javascript and the DOM.
Rich Text Editor viewA view that uses contentEditable to edit html in place. It should postprocess the DOM so that differences between browsers don't make it into the edited source. It should also be easy to hook up standard buttons and controls to the actions of the editor. Requirements: Expert knowledge Javascript and DOM/browser quirks.
Offline Storage layerProvide an offline storage layer that will use the offline storage capabilities in HTML 5. Requirements: Extensive knowledge Javascript and HTML5.
SC.TableViewRequirements: Expert knowledge Javascript
Separate out the build tools from SproutCoreProvide and package the SproutCore build tools (Abbot) separately from SproutCore so it can be easily used by any framework or web application. Requirements: Extensive knowledge of Ruby and Javascript.
Comet/Long PollingA layer for handling Comet and/or long polling. Requirements: Extensive knowledge of Javascript, HTTP protocol.
Web Services Integration Layer (Google App Engine, Amazon SimpleDB etc)A web services layer that can interact with cloud data services such as Google App Engine, Amazon SimpleDB, EC2 etc. Should be modularized to provide support for any open web data API. Requirements: Extensive knowledge of JavaScript, Web APIs and the HTTP protocol.
SproutCore 1.1Include major classes deferred from 1.0. Requirements: Extensive knowledge of JavaScript
Full Internet Explorer 6 and 7 compatibilityProvide full compatibility with IE6 and IE7, in terms of features and performance. Requirements: Extensive knowledge of JavaScript and IE browser quirks
File UploaderDevelop a robust file uploader that can handle multiple file uploads in various formats and upload them asynchronously with a progress bar (ala gmail). Requirements: Flash?
Audio SupportDevelop a robust way to support audio playback and controls across popular browsers. Requirements: Javascript, Media Pluggins (Windows Media Player, QuickTime) or Flash.
ContactIf you have questions or are interested in any of these projects, please contact Onar Vikingstad (onar at vikingstad.com or onar on IRC freenode) or -someone volunteering?-
Also feel free to use any of our community channels:
|
Comments (9)
Bryon Fryer said
at 6:30 pm on Mar 11, 2009
I really want to make a 'flash-less' mp3 player and in looking for flash alternatives I was led to SproutCore. Any feedback on that idea would be appreciated.
Onar Vikingstad said
at 9:34 pm on Mar 11, 2009
Maybe you can submit your idea around a more general audio/video enhancement and not necessarily just MP3 player? That said, Flash is probably your best for audio on the web in 2009 for maximum compatibility, unfortunately...
Maurits Lamers said
at 11:53 pm on Mar 11, 2009
The problem with audio in a browser is that a plugin is always needed. The problem with the current plugins is that they are all really bad in the sense of high quality audio. If you give Flash access to your microphone and listen back to what it returns, the sound quality is such that you will have trouble understanding your own words.
Moreover, they all seem to regard JavaScript as a script language, as the only thing that is allowed most of the times is doing .start(), .stop() and .pause(). It would be much more interesting to have a new open source plugin that allows JavaScript to be used for small effects. generate it's own audio (it takes about half a second to generate 20 seconds of CD quality stereo audio) and have real control of the audio without having to rely on proprietary software. SC is about bringing desktop grade applications to the browser, why not also bringing desktop grade audio to the browser?
It is not really difficult, as such a plugin can be easily based on open source multi-platform audio engines like PortAudio (http://www.portaudio.com). I worked out a sort of rudimentary way of implementing it, but I have not too much C and C++ experience and also no experience whatsoever in writing a browser plugin, so a reasonable C or C++ programmer could do it, especially within a summer project I think.
Faruk Ates said
at 9:48 am on Mar 12, 2009
Bryon,
Take a look at what Apple's done with the new iPod shuffle's VoiceOver page: http://www.apple.com/ipodshuffle/voiceover.html
It uses Javascript and Quicktime to do audio in the browser, with some Canvas for the rendering. I suspect that it doesn't look or work quite as well in IE6 but using Quicktime for the audio is a good option: it's typically already supported in the browser (meaning you don't have to write a custom plugin that people would have to install) and it offers a lot more controls in Javascript:
http://developer.apple.com/documentation/QuickTime/Conceptual/QTScripting_JavaScript/aQTScripting_Javascro_AIntro/Introduction%20to%20JavaScript%20QT.html
Faruk Ates said
at 9:49 am on Mar 12, 2009
<a href="http://developer.apple.com/documentation/QuickTime/Conceptual/QTScripting_JavaScript/aQTScripting_Javascro_AIntro/Introduction%20to%20JavaScript%20QT.html">Clickable link to the Quicktime JS API reference</a> (I hope)
Maurits Lamers said
at 2:11 pm on Mar 12, 2009
@Faruk: What is possible with Quicktime and JavaScript is still .start(); .stop(); and .pause(); though a bit more extended. While this may suffice for playing back existing sounds, it is completely unsufficient for a proper musical web application. What is needed is functionality that allows JavaScript to be used to generate audio data or process audio data derived from the microphone. Like a normal desktop application is able to when needed. :)
Faruk Ates said
at 4:55 pm on Mar 12, 2009
Hrm. Well if that's the kind of functionality you'd wanna do in a web client, yeah I guess you're right, you'll have to write a plugin for it. A plugin that emulates half of Garageband perhaps, but y'know… ;-)
Juan Pinzon said
at 1:47 pm on Mar 26, 2009
guys check this out javascript/flash winamp
http://www.nihilogic.dk/labs/juicydrop/
Btw, i did an audio/video recorder in flash for an fb app (http://www.facebook.com/video/video.php?v=24951085412) . The main problem is not the quality, you can actually adjust it to be cd quality... the problem is that you need a Flash Media Server ( open source version http://code.google.com/p/red5/) and your architecture will depend on a server and lots of bandwidth.
Juan Pinzon said
at 1:51 pm on Mar 26, 2009
I think if we want a simple audio player flash is the way to go.
You don't have permission to comment on this page.