Shared publicly  - 
 
Is Famo.us the HTML5 savior or full of BS? - rant warning

Can't decide any more. Their (very nice) demos (linked below) caught my eye from TechCrunch Disrupt, promising a JavaScript engine that solves all your HTML5 performance woes so I signed up for their newsletter. Yesterday they published their first one (http://t.co/iuO5Ipvi) to give more information on the technology.

And while I was initially curious - I am actually pretty skeptical now. The thing is their product is supposedly aimed at developers but their wording is beyond vague. And I believe thats a wrong way to talk to developers.

You don't really know any more if they're bringing out something that's supposed to run in the browser or yet another JavaScript-to-native component based translator service or what...

Lets pull some quotes out of TechCrunch shall we?
Developers can code for Famo.us in JavaScript. It’s as simple as that. Because the technology speaks directly to the GPU, it works on any device: iOS, Android, web, gaming consoles, and anything else with a GPU. The idea is that Famo.us will let developers use its engine to create 3D templates, but there’s one condition. The templates have to be open-source, so that everyone can build off of them and enjoy them

Whole lot of hip words in there - not only devices, web, consoles but open-source too :) The Holy Grail indeed. And solving it all by letting JavaScript talk directly to the GPU you don't say :)

So after reading their newsletter and spotting the comparison with Twitter Bootstrap in there and that Famo.us enables web developers to build APPS) here is my take on what they're doing:

⚫ the wording sounds like they'll let you write JavaScript-based apps but publish it as native (with or without a wrapper)... JS-talking-directly-to-GPU would be WebGL - so this might be why they're changing the wording to apps instead of websites... because WebGL has been available on iOS since 4.2 version, just not activated in mobile Safari... to enable it you'd need to have a custom tweaked version of the webview container (http://bit.ly/vjcinn) - hence native and apps story... basically there are like at least 3 other companies doing that (AppMobi's directCanvashttp://bit.ly/R2oSRE, CocoonJS http://bit.ly/StaL6v or ImpactJS http://bit.ly/MUSLmH)

⚫ possibly at the same time also offering something for the web i.e. yet another optimized jQuery clone that tries to H/W accelerate everything 

So while competition is always a good thing and I hope that Famo.us brings something amazing to the market - its the condescending wording (saying basically nothing) that set me off on this rant :) Fancy wording is part of the startup game, but still...

Stuff like this:
App layouts, animations and designs that were only possible in native apps are now within the reach of all web developers.  We hope our accomplishment unleashes a wave a web app development like we've never seen before

Because I do have a bit of experience in the mobile HTML5 dev and its difficult to imagine that so so many developers could have missed something to crucial performance-wise before... I can only hope there is something that we could be doing better - but I don't think so... you could of course never do enough optimizations... 

Anyway if you need a mobile browser-based incredible performance JS engine to be impressed about try Sprite3D (http://bit.ly/UXPpEP) or of course +three.js (http://bit.ly/slPRNh) for the WebGL stuff (at the moment almost desktop only - with a few exceptions).

#html5   #javascript   #css3   #javascriptlibrary   #gameengine   #performance  
7
4
Yahia Hegazy's profile photoJoshwin Greene's profile photoVishal Dheeraj's profile photoAndrea De Gaetano's profile photo
8 comments
 
I'm probably even more skeptical about it all, simply because TechCrunch are rather good at making everything seem groundbreaking. We'll see when it's released I guess
 
Yeah exactly - its like every little app is a startup now. Its soo cool to have your own startup that its almost a hype - and a lot of early demos or communiqués are sometimes just embarrassing to watch. You read about them on TechCrunch once, only to never be heard from again...
 
have you changed your mind in any way since this post?
 
God no. Like I said they make nice demos (but with a few months to spare and 5 mil. $$$ in the bank - who wouldn't) but when I hear that they're focusing on a physics engine with a vision to some day replace jQuery - I don't know if I want to laugh or cry.

I love playing with animation in UIs and the demos do speak to me - but lets face it they don't work properly/without-glitches even in some desktop browsers. Forget about mobile - I've tested on an iPhone, iPad and Android - when it works - smooth it is not.

The things is the logic behind what they're doing is flawed and limited in scope. Desktop is usually easy - you throw anything in there and there is enough memory/cpu/gpu for everything - but its not going to work on mobile. Especially the demos that display graphics/images beyond a few simple elements - strategies like loading it all on the GPU and then using translated/matrixes to tweek the properties without triggering layout/parse can only get you so far. Its gets slow and the device struggles/flickers to do garbage collection anyway - a lightbox image gallery where you load all full screen images on the GPU is crap in the making.

And its not like they don't know it - just saw a video introducing these demos and the conclusion was that they'll be adding a webgl renderer into the mix in the near future. So just like I said, we're getting back to them being a threeJS competitor - possibly just with a focus on 2d/apps/interfaces which could still be pretty cool. If they ever manage to put their foot where their mouth is :)
 
So this is the only vaguely relevant article I can find (with any kind of technical insight) when I try to search for opinion pieces on famo.us relating to their bizarre Ts & Cs.

For my part, I'm immensely skeptical of their frankly ludicrous PR that drowns out almost all substance. I'm currently "waiting in line" at number 6e5 to be allowed access to their documentation and demos.

I do think I see a point here though — not that their overwrought PR has substantiated this: they're creating a view framework for people building apps in JS to DOM that abstracts away the traditional browser rendering engine in favour of doing all layout calculations internally and making animations for complex layouts incredibly performant by using 3D transforms and absolute positioning. The proposition — as far as I can see — is that using the DOM for elaborate apps with fancy UIs is really tough for performance because of CSS layout's legacy of re-calculations and repaints, and that managing these through a combination of hand-optimised CSS + HTML structure + MVC framework + JS DOM lib is becoming an exponentially difficult problem. To whit: performance-focused MVC frameworks (deemed necessary for sane architecture of complex web apps) like React, Angular, Ember's forthcoming HTMLBars, all basically wave the white flag for animations: you can't control that because it gets in the way of their strategic over optimisation of DOM injection that prevents granular control. Famous says that glossy, fully animated dynamic UIs with HTML are possible, but you've got to get rid of the CSS + HTML rendering paradigm in order to use their hyper-optimised layout manager specifically designed to avoid recalculations and repaints.

But still: the PR really stinks of fools gold, and their Ts & Cs are incredibly suspect. Would be eager to hear any further thoughts you've had since this post.
 
So I attended the Sydney famo.us meetup last night. It was "interesting" to say the least - the people demoing struggled to put together a useful demo of what exactly famo.us is good for; most of the code was either a copy of the demos on the site, (with "hacked-in" features that relied on setTimeout and didn't animate smoothly), or some code that was so poorly written it was clear that the author did not really understand what was going on. I guess perhaps they were not very experienced with doing tech-talks, but it does show that famo.us has a long way to go before it can be used by relatively inexperienced developers, or maybe at least before it can be readily understood how to use it well, and what it is for.

The 2nd talk raised the fact that the founder had explicitly mentioned that famo.us would never support AngularJS or similar declarative binding frameworks, yet they are now supporting it - this is interesting because it supports the above observations that they don't really know where they should fit in - is it a UI library, is it an angular add-on, is it a 3D animation library, or is it a physics engine? Surely  they should settle on an API and then deliver that before trying to add so many other features. 

Now for the most disturbing part - there were only a handful of what I would consider "real" developers in the crowd - people that actually create useful things and understand UI/UX; the rest were either middle management or "consultant"-types that were looking for a quick way to develop somthing with, and I quote, "wow-factor". It really amazed me how many clueless people were there, I genuinely thought (hoped) that there might be some substance to the hype but the reality is: it isn't clear to anyone what famo.us is, how it should be used, or what it is going to become - it's as though they are trying to everything to everybody, yet from what I can see, are simply ending up being a rather messy set of quirky APIs for animations.

It really feels as though they are trying to please their investors by adding more and more features, instead of delivering something people can really use.
Add a comment...