Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Project Maya
88 points by dutchbrit on June 21, 2012 | hide | past | web | favorite | 43 comments
Project Maya has started! For those who haven't read about Maya, please look here: http://news.ycombinator.com/item?id=4103344

Our goal is to build an open source application that can run in your browser and on iOS/Android without being dependent on app stores.

We currently have a working "sneak preview" version viewable over here: http://frontend2.com

Want to dig into the source? https://github.com/SchizoDuckie/project-maya

We recommend you to check it out in Google Chrome/iOS/Android.

Our team currently consists of 5 people. If you think you'd be a good addition, please shoot me an email, sam.granger@gmail.com

Feedback so far is more than welcome!

Basically, our initial sneak preview does the following:

  * generate wav files of words via the google translate api
  * save these wav files into the database (base64 encoding was an (unfortunately failed) experiment
  * do initial setup and fill of the words database
  * showing an html5 clickable grid with words and an icon, based on the database query, of all the words found.

  * create multiple pages from database, list them and switch
  * allow queuing of multiple phrases, and play them as a sentence
  * add custom words via web ui and a little php servicelayer
  * html5 offline storage for all wav files
  * get tablet browsers to fix data uri's for the <audio> tag!
  * have a proper design with customizable icon lib
Not bad for a project kickstart in half an evening. Are we infringing on any patents yet?

Infringe away. Once the code is out there there's no one but the end user to sue and I don't think you can.

Not true:

...whoever without authority makes, uses, offers to sell, or sells any patented invention, within the United States or imports into the United States any patented invention during the term of the patent therefor, infringes the patent.


I disagree. I'm in Europe. US patents do not affect me, or my code, no matter what the US law writes.

Whatever happens when you try to install it, use it, or modify it on US soil is not something you can hold me personally accountable for. (right?!?! citation needed)

[edit]Or wait.. Should we not even use github for this due to this crazyness?[/edit]

"I'm in Europe. US patents do not affect me, or my code, no matter what the US law writes"

Say that to Richard O'Dwyer.


There's a big difference between crazy patent laws and crazy copyright laws, but I see your point.

That's an interesting question. Does uploading a project to github from a foreign country qualify as "importation within the United States" ?

It would make sense that it does, but I haven't ever seen the point raised. Could github receive a takedown notice for a patent infringing project ? Could I be held liable for uploading a project (being a foreigner won't protect me from infringing US laws on US "soil")?

Anything on servers physically located within the US would be subject to US law. GitHub can be DMCA'd and forced to remove the project; you (as a non-US citizen) being liable for the infringement is a murkier question. Technically you can be extradited for criminal charges, but if it's just a civil suit, I'm not entirely clear how non-citizens play there.

Schizo, We will not violate patents until it is complete. Once we label as a complete product, and not just a "Proof of Concept", it will infringe on a patent. However, we do plan on doing a pivot and changing the design once we figure out a way around the patent!

Forget patent infringement. No company is ready to deal with the storm of bad press for sueing a project like this.

Are we infringing on any patents yet?

Don't even think of looking, and sing loudly with your fingers in your ears if anyone tries to inform you. Otherwise you are willfully infringing and the damages are trebled.


I juist found the patent that speakforyourself is infringing on: http://news.priorsmart.com/semantic-compaction-systems-v-spe...

Basically, anyone that creates a soundboard with tiles that you can reorganize and that play a sound is fucked.

Anyone with some law experience in the house? Are we allowed to do this without being sued overseas? Should we move away from github?



Treble is favored in a few specific contexts (in the game of darts, for instance), but triple is generally favored everywhere else. Even in British English, where treble is most common, triple appears approximately three times for every instance of treble. In American English, treble is almost unheard of except in relation to sound and music.

From here - http://grammarist.com/usage/triple-treble

I use both, often without noticing. I think I tend to be more likely to use treble or trebled at the end of sentence and triple or tripled in the middle of one. Note, I am not claiming this as any sort of sensible usage, am just commenting on how I tend to use the words. My pronunciation of words like grass or bath is also similarly scattered. This confuses folk when they try and work out what class background I am from, which is something of an obsession for many people here in the UK.

You are cool people.

Right now the grid buttons can't be unclicked, it seems (on a Galaxy Note/Android 4.0.3 here). Is that intentional? I can't scroll either. I assume a reset button will be coming eventually, along with a play-phrase button. How are you thinking of organising the words into panes?

In its current state I can't see this violating any patents, since it's essentially a soundboard. ( http://en.wikipedia.org/wiki/Soundboard_%28computer_program%... ) It would be hilarious if it turned out soundboards (those programs/pages that play funny phrases and sounds when you click on buttons) actually violated PRC's patents.

Will you (eventually) be bundling the app as .apk/.ipa for distribution? That seems like a great way to ensure it stays out in the wild forever (better still if the audio can be included, so it won't break).

There is already a simple sqlite database that holds info on all the sounds. a name, an icon, a backgroundcolor, and the page it's on.

Pages haven't been coded yet, but are already available in the database. A simple sqlite crud interface should suffice for that.

More important, as you notice is the UI. Right now it just show the toggle, gets the wav file and hits play. This will be fixed hopefully tonight, so that you can gather a couple of audio files in a que to form a prhase. Should be peanuts, but is was 02:30 am for me last night. This is the progess up to that.

And indeed, it's just a sound board, but in my opinion so is the software that started all this.

We haven't decided yet on packaging, but since i believe everyone on the team are mobile developers, that should not be a problem at all.

> And indeed, it's just a sound board, but in my opinion so is the software that started all this.

Agreed, and that's why this is the Lord's work you're doing. Heck, you might invent some better methods for users along the way. Keep going man.

I've just put a new version on github. https://github.com/SchizoDuckie/project-maya/commits/


  * Massively cleaned up codebase. Removed images folder, pure css3 styling.
  * Created a words list, that holds tiles to build a sentence
  * Created play and clear button to operate on the words list
  * Hacked around with setTimeout to play next in queue because audio onended is not fired??
More to come soon :)

This post has restored some of my faith in humanity. The world of software... no, screw that, the ENTIRE WORLD would be a better place with more people like you guys in :)

I believe you should be using MOAI for this:


The reason is that its a high-performance cross-platform tool that can be used to target Android, iOS, NaCl (Chrome), Windows, Linux and Mac OSX. You can write one codebase which will run on all of those platforms, and I think you will be very much more productive with this toolkit, which is designed for exactly this kind of use (multimedia/graphics/audio content - i.e. games).

Please check this out, honestly. MOAI is the perfect tool for this application - HTML5 is not, due to the problems with audio playback involved in HTML5 clients right now.

I seriously disagree. HTML5, even though it has it's (workable) shortcomings at the moment, can do this. Why would you base an opensource project on a non-free, non-standard framework that nobody heard of?

Sure, what it promises is nice, but no.

Well, I'm using MOAI, for starters, and see its power.

Plus there's that whole "sound is utter crap in HTML5" thing, yo.

Also, moai can run where html5 cannot.

Great Idea,

visting your frontend2.com-site, I encountered, that I am not able to scroll in Chrome and that I am not able to activate a sound twice.

So "give me more and more" would not be possible.

But keep up the great work, please.

It's a very first start. I worked on getting the basics done, hopefully tonight i can update it with pages, flowing, queuing, etc. Thx for your feedback!

Here is a list of tasks I have setup for this project for myself (I'm one of the engineers working on):

-List of milestones/tasks so other people can work on this as well -SCM (Bug Tracking etc) system setup (Any suggestions for a hosted free version of SCM Systems HN?)

Hopefully I will have this done tonight. I want to get as many people involved as possible as I think we can do a lot more than just help these people!

Pivotal tracker is still free for open projects, I think and integrates with github, so you may want to look at that.

Thanks sir! This looks like exactly what we need. I will be setting something up tonight!

Trello might be a good fit as well.

This is great (and I'm glad you are doing something practical to help), but I was wondering if you have reached out to Maya's family to see if this tool you are building will fit their particular needs?

I remember reading that they tried out lots of different products before settling on SfY, so there may be issues that aren't immediately obvious to people who don't have a lot of experience with AAC.

I've been in contact with her family, and SfY :). We want to make this as user friendly as possible.

Brilliant, that is great to hear.

SfY brought the cost down significantly but I really hope this project could make it available to even more people. Best of luck!

Appreciate what you guys are doing. Tested it out on Samsung Galaxy note running ICS. Quick feedback:

The application detected that I was a first time user and injected some sounds into the database +1

There is a 1-2 second delay between the tap and the sound.

Guess you guys are already working to sort these out. Looking forward to see this application in its full glory. Any twitter handles to follow ?

Sure, you can follow me here http://twitter.com/samgranger :)

Great project, I +1 this.

I was looking into hacking google translate myself, but failed, or perhaps did not spend enough time. Can you guys post a code on how to tap into word translation speech in google?

And for the reverse, flac audio to text: http://pastebin.com/LQ30iWKD

I +1 both answers. I am sorry, shame on me I should have research bit more!

side note: any idea in this Maya project or others, is it against the law to use those in your non- or commercial project?

cool project

now another approach: you could produce all the wav-s in-browser. see my (100% open source) mvp at http://lalo.li/ - yeah, you would need to do a lot of tuning/optimization of the speech-synthesizer to get a decent voice, but it would be possible.

think in the long term it would be a much more scaleable approach ... there are a lot of words out there .... than storing wav-s in the browser.

Lalo.li is awesome, but unfortunately, you're using WebWorkers and TypedArrays, that's too high-tech for tablets. Also, this would require loading a waveform on a tablet from a data uri, which is also not supported, according to my tests on either iOS or Android with Crome :(

My original prototype (that worked) was to store the wave files as a base64 encoded data URI into the database, but that's been rendered obsolete by this. Now we'll have to rely on pure wave files. Nothing that we cannot overcome, but it would have made the whole concept even more portable.

Really nice initiative,

When you have some free time, do you mind organizing some milestones and tasks on github so random people can help without being active on the project?

I would not mind adding/fixing planned things from time to time.

Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact