

VoodooJS – Mix 2D and 3D content on the same page - chrislloyd
http://www.voodoojs.com

======
foxbarrington
"U.S. Patent Pending." \-- wasn't expecting to see that on a JS lib.

~~~
bpierre
Yes, especially coming from a library built on top of three.js [1], which is a
gigantic and awesome piece of work licensed under MIT, using Twitter Bootstrap
(Apache License), and a logo free for non commercial use only [2]. But
everyone can do what he wants with his work, as long as licenses are
respected.

A question for the author: this is a really cool demo, but I can’t see where
is the innovation which needs protection here? A parallax effect when the user
scrolls? 3D on a Web page? The “Next Generation Internet” concept?

[1] [http://threejs.org/](http://threejs.org/)

[2]
[http://findicons.com/icon/33154/mask_02?id=33154](http://findicons.com/icon/33154/mask_02?id=33154)

~~~
skore
The patent thing, the licensing uncertainty, the use of public libraries and
the somewhat overly enthusiastic comments here on HN (most from <300 accounts)
give me a very weird taste in my mouth.

~~~
SnowProblem
I'm sorry to hear that. Point taken. My focus for Voodoo has always been about
creating a great framework to fix a problem and make the web better. Legally,
I am edging on the conservative side for now because I want to make sure the
correct steps are taken for it to succeed. So I'm listening to everything
everyone is saying and I plan to seek advice/mentoring as well. It's still
early.

bpierre, good questions. I'll come back to answer them in a bit. Have to catch
up on a little work.

~~~
bpierre
Thank you!

~~~
SnowProblem
Basically yes, I believe there are some novel ideas here worth patenting.
Specifically, the unified coordinate system between 2D and 3D, and the methods
of implementing it (here by using a virtual camera to align 3D coordinates
with pixels and sandwiching the 2D page with fullscreen canvases). To date, I
don't believe this idea has been suggested anywhere else, and while it might
seem obvious in hindsight, it took many late nights of experimenting
developing it. There was no promise that the research would pay off or the end
result would even work. You should see the early prototypes.

Also, you're right. Voodoo needs a different logo.

~~~
skore
> Basically yes, I believe there are some novel ideas here worth patenting.

Analogous to what Stallman once coined, you are now literally talking about
patenting ideas[0].

> To date, I don't believe this idea has been suggested anywhere else, and
> while it might seem obvious in hindsight, it took many late nights of
> experimenting developing it.

> There was no promise that the research would pay off or the end result would
> even work.

Aka every single software that is a little more daring than standard CRUD. Are
you seriously suggesting that a patent is the only way to be properly
compensated for your work?

Might I suggest a different route? How about you release what you have there
the same way all those libraries you base your work on were released. Trust
me, they are full of research that nobody knew would pay off, with things that
seem obvious in hindsight, but took many, MANY late nights of experimenting.

If what you're saying is true and your "novel ideas" and the solutions you've
found really are that valuable, then there is an incredible trove of respect
and admiration waiting for you. (And if you're smart, you will find ways to
convert that into "making a living".) You'd be robbing yourself of a huge
community (again, the same community that you are currently _using_ \-
bootstrap, jquery, threejs, modernizer etc.) cheering you on, respecting you
in the same way that you might have felt using those other public libraries.

The only thing you see at the moment is that you _have something_ and you
imagine that the thing you have should be the thing that pays your bills,
directly. So you have decided to close it down as much as you possibly can
(and, judging from the use of public, floss libraries, it's debatable how much
you actually can). I'm telling you there is another way. You could be "the
library" for people mixing 2D and 3D.

The path you're on right now only leads to one of two things: First, you're
going to go closed-source. Then somebody else will write a floss "the
library". Then you get angry and lawyer up. Then you realize that only the US
and a handful of other countries is idiotic enough to allow for patents on
software. Then you realize that trying to "go legal" is probably pointless.
Here, you are at a crossroads: On one side is the path I'm telling you to go
now, you're then just five years behind on where you could be now and somebody
else has earned all the admiration and respect. On the other side is an old
and bitter man, clutching his wallet.

[0] [http://www.gnu.org/philosophy/software-literary-
patents.html](http://www.gnu.org/philosophy/software-literary-patents.html)

~~~
SnowProblem
This is very compelling. I've echoed many of these same thoughts.

Growing a community has always been the goal, and that's true --- it would be
the same community as ThreeJs, Modernizr, etc. That's a very good argument to
make it OSS.

And the positive acknowledgement the past 48 hours has been wonderful and
incredibly motivating. Far more than I expected.

Hmm... let me let this sink in for a day. Thank you.

------
islon
The main page eats all my GPU to the point it's almost impossible to scroll
(macbook air 2013). Shouldn't take so much resources for such a simple page.

~~~
zachlatta
I'm on a Macbook Air 2013 and have no issue. Currently using Chrome.

------
SnowProblem
Author here. Thanks everyone. It's all still a work in progress and I'm
listening to everyone's feedback.

------
DoubleCluster
The tree looks cool. If this catches on I might finally buy a 3d monitor just
to browse the web ;)

~~~
ma2rten
It really does look cool. I could really imagine that this would catch on.
It's gimmickry, but unlike almost any other 3D effect on a webpage, it's not
annoying.

------
ArekDymalski
Very impressive and inspiring to think about new possibilities: games,
interfaces, data visualizations ... And works fine on my netbook. Now there's
hope that we won't be dominated by flat design ;)

------
splatcollision
This is great work. An earlier demo page from the same author is at
[http://www.threedeeify.com/](http://www.threedeeify.com/) (VoodooJS is a much
better name)

Looks like the 3d layers are running in full-page canvas overlays and the
Three.js camera is positioned according to the page scroll. Clever work! Must
have some kind of positioning logic to match up the models to DOM elements
(like the ring around the quote)

Wish it was not closed-source, so we could learn from it a bit, or contribute.
But author is free to do with it what he wishes...

~~~
SnowProblem
Essentially yes. There's also some tweaking the CSS pointer-events property on
those canvases to allow mouse events to fall through when you're not hovered
over 3D content.

I envision most people will want to position their 3D objects relative to some
2D element like a div.

------
iMark
This reminds of the emphasis Apple is putting on depth in iOS 7 interface.

Lots of interesting things to be done with this sort of tech.

------
cupofjoakim
Such a great name. To me as a front-end dev, this truly is black magic.

