Anyone worked with Famo.us? Is it ready?


#1

The Famo.us framework is a pretty interesting concept, has anyone built anything with it? Is it usuable at its current version? I know “mixed mode” is coming out in 1-2 months but the current repo has gone quite for awhile.

If you’ve built anything with it, post a link! I’d like to check it out.


#2

Check out:

http://downtochill.com/


http://famous-views.meteor.com/
http://www.superstereo.com/


#3

Ty for the links. Have you used it personally? I’d rather not waste time learning it if it doesnt live up to the hype.


#4

It totally lives up to the Hype. If you dive in and learn it you’ll know. The projects I’m working aren’t done yet, so I don’t have something I can really show yet. Here’s some experiments: http://trusktr.io Hover on the left in Desktop, swipe from the left edge on mobile. It takes a while to load because I’m compiling ES6 in the browser. Also, on mobile the browser’s native left-edge-swipe for going to the previous page interferes with the menu, but it works nicely when shipped in a WebView. I might just make the touch area wider for mobile browsers and add a button to open the menu as well, etc. I wasn’t too worried though, it’s just experiments.

That’s made with current Famo.us. Mixed mode is phenomenal. It blows my mind away. I’ve gotten to see what it looks like in Labs. The API is quite different though (same concepts of RenderNode and RenderTree, but they are constructed differently, and include WebGL meshes, not just DOM).


#5

I did something a while ago, I felt it wasn’t really ready, but you can get something going. I found various issues with leaking resources which I have seen people still have problems with.


#6

Yea i watched a video chat with steve newcomb talking about a few features of the new version…sounds interesting. I’ve noticed with alot of the examples made with famo.us that load times are quite long…is this normal?

btw that site is awesome.

Haha yea i read the same thing.


#7

AFAIK the present version is being completely reworked. Therefore the answer IMO is it is not ready. I’d wait until mixed mode is released.


#8

Its being released at the jQuery SF event in June. Would be nice to know how much is changing though, or if their current “famo.us university” will still be relevant.


#9

Short answer: No, It is most definitely NOT ready, for anything larger than a very, very small app. They’re only at, what, v 0.3.x? If you are building something that will only have to run for 2-3 minutes, or a basically static website, it’s probably fine, otherwise I strongly recommend you steer clear.

Look at the stuff that was offered: a chat app, a basically static website with transitions, aaaand, another static website with transitions. And more things that aren’t done yet. My impression is that Famo.us is made for one thing: building that floating periodic table demo. That’s about it.

We built a game on it:
http://monsterproof.verigames.com (requires free registration)
and found several key issues:

  1. It’s inconsistent. Some calls apply to parent nodes, others don’t - and not in any way you’d expect. It’s a very 3D programming way to look at the browser window, so will be a completely new paradigm for traditional web developers. I’ve been making 3D games for 20 years, so 3D transforms are my bread and butter - but as a 3D engine, this one isn’t done yet. It took us about 2 weeks of hard pounding to get our heads around why some things wouldn’t work, and to identify workarounds, like having to add separate nodes into the tree to separate a move from a scale command - when there’s no reason those matrices can’t be collapsed. You have to bump into a lot of walls with your face before it works reliably.
  2. It leaks resources something awful. Like, a lot. There is basically no way to properly ‘delete’ something from the DOM. We ended up having to burn 4 weeks building our own resource pooling on top of their code - after diving into the source, we found unfixable, architectural problems. We looked into updating our rev (this was shortly before beta launch), but there were far too many breaking changes - so at this point, we’re stuck with what we have. They offer no backward compatibility, and no migration plan when new releases come out.
  3. They offer no customer or engineering support. Our game is a high-profile project, built for one of the largest clients in the world. We reached out to them repeatedly asking for help, offering to cross-promote, asking to get into their early access program in exchange for feedback. In all cases, they ignored us. From discussions I’ve had with others in this community who know the Famo.us people personally, it sounds like they’re more interested in “raise money, go big, get bought”, rather than building anything of real, useful, lasting value.

Be cautious and do very deep due diligence before committing. I don’t know what they have in the works, but frankly, their product is mediocre, and they’ve lost my trust. Others have found success, and that’s always great. My experience was very different.

My $0.02, give or take.


#10

I’d say write things right now using Famo.us 0.3.5 for practice, but be prepared to rewrite how you build and connect nodes/surfaces. If you write your own view classes, handling Famo.us only in the base classes, then you can write a full fledged app right now, and when Mixed Mode is out you’ll only have to modify the base classes (how things get rendered).

For example, you might have a class called Cube that contains a instances of Square, and finally Square might contain a Surface. When Mixed Mode is out, most of the work would be replacing Square’s Surface with the new Surface.

Or, for example, you might have a base class called “BaseComponent” that contains a RenderNode, a Surface, and an EventHandler, and wires those up, then other classes can do things with the base class (i.e. a Cube would use 6 of them). Then, you only need to modify BaseComponent when MixedMode is out.

Basically, abstract the construction of your component model so when the rendering engine changes you don’t have to change your entire API.


#11

Here’s a link to a q&a with the founder from a few weeks ago, where he gives a lot of information on what has been going on the past several “dark” months. Plainly the api is going to change radically so you wouldn’t want to rely heavily on 0.3.5.

They are also moving to an MIT license which should be a big positive for establishing trust w/ the community. Sometimes these guys seem like they are truly committed to open source, other times . . . not so much.


#12

How does Famo.us compare to React? Are there things Famo.us can do which React can’t?


#14

@emoji They don’t compare. They do two different things. React is for constructing DOM trees (out of the box, but it can be extended to construct anything). Famo.us is for creating DOM elements that are all siblings and lets you manipulate them in 3D space. The new Famo.us Mixed Mode that is coming out very soon lets DOM elements and WebGL meshes to interact in the same 3D space. You should try them both and you’ll see the difference.