Hacker News new | past | comments | ask | show | jobs | submit login
Famo.us is now open source (github.com/famous)
169 points by Allstar on April 10, 2014 | hide | past | favorite | 107 comments



We participated in the private beta and wrote up a simple (I hope) post of the basics of developing a Famo.us app here - http://blog.percolatestudio.com/engineering/the-future-of-ja...

The closed nature of their 'open source' project can be frustrating at times. Having said that and despite all the hype, famo.us is sitting in a pretty unique position in the html mobile web scene and frankly I'm more excited about it than any of the alternatives (sencha, jquery mobile, etc).

It's early days, I wouldn't write it off yet...


I like how you sumed it up

> Famo.us is built around a neat idea: by directly using the CSS matrix3d transform in combination with the window.requestAnimationFrame function, you can describe the complete layout and animation of your app in a way that’s hardware accelerated with consistent performance.

> It’s a stroke of genius, but in order to implement that simple idea you need a sophisticated math library to help translate your app’s UI into the series of matrix transformations that get pushed to the GPU. This library is Famo.us.


It's a stroke of genius, yes, that others have had before now. Lime.js did this three years ago (mapping animations to hardware-accelerated CSS). Cocos2Dx-Javascript does this one step better by bridging into actually-native rendering code. Three.js has DOM-with-CSS-transformations. IIRC someone implemented hardware-accelerated CoreAnimation in Cappuccino using CSS transformations. So, not really new. I'm curious to see what new ideas they DO bring.


I hate to be "that guy," but what is Famous? http://famo.us doesn't say anything on the index, and the About page is broken. Is it just a library? Toolchain? A real product?


It's a platform that is supposed to solve the problem that HTML5 promised by subverting the DOM with a custom rendering engine (A port of the Unity Engine to JavaScript). It basically allows you to run a web app at native app performance, cross platform all in your web browser.

Demos - http://demo.famo.us/

Codepen Examples - http://www.codepen.io/befamous/

edit: Also found this - http://famo.us/about


"allows you to run a web app at native app performance"

I would say "promises" instead of "allows". It is still experimental.


I've been at every event since early Dec and I was in the private beta and while they are still working some things out, you wouldn't really be able to tell if some of these demos were obj-c or .js from what they have built.

I feel like the engine reminds me more of the slickness and responsiveness of a Window Mobile 8 interface as opposed to an iOS interface with how smooth some of the scrolling is.


For those of us who haven't used WM, is that a good thing or not?



Examples page is also broken..

https://github.com/Famous/examples

I'm even more confused now. I looked at their other repos and there is a smattering of information to be found in "Guides". None of the demo links work except for the mobile page that someone posted below.

There's nothing on the actual website except a login and when i register I'm "76882 in line".

If I try to access the documentation (http://famo.us/docs), I'm told I need to be a developer and I can't access it.

A resounding meh, I've wasted 10 minutes trying to work out how this thing works and what I can do with it. Some other kind folks have provided CodePen links, but back to work for me.


The about section of the website is completely blank for me in the latest firefox. The docs and the guides pages on famo.us redirect me to a login page. Am I missing something?


No you're not.It's pure hypeware, after 3 years of development and 5+ millions in VC funding they cant set up a simple gh-page with a basic tutorial and exemple on launch day... Big backlash against this framework starts in 3,2,1...


It's not hype. They just want to control the on-boarding of the open source community. The apps at the launch event tonight show a lot of promise for Famo.us being a better framework over Angular for mobile apps.


Just like their super-exclusive events in SF that you had to compete for tickets online in order to see the SDK early. Or their beta signup form that I tried years ago, which never delivered an actual beta.

Never mind that, I'll just put my name at the end of this new 74k+ long waitlist. I'm sure this whole thing is just a really long on-boarding process.


Pretty much my experience too. Years ago when we we're still betting on HTML5 and not Native. Years ago when users weren't statistically spending more time in apps than browser for mobile.


As I understand it Famo.us and Angular run at a completely different level of abstraction, doing different things, and targeting different problems?


For the most part yes, but there is someone from the community working on a pretty novel Famous-Angular integration that should be available in a month or so.


Do you know his name and/or github ? I'd be interested in the dev of this integration


Hi Aldri - My company Thomas Street is building the project. You can reach us at hello@thomasstreet.com (and it's zackbrown and graunked on github)


I just contacted you by email (Olivier C.), let's see how it goes :)


famo.us is over marketed, all I see is marketing and trying to create buzz. Instead of all these stupid schemes, let devs decide wether that framework is good or not. I'm not going to invest my time in such a framework if i cant even access the docs on day one. What's next? invites for updates ?


> control the on-boarding of the open source community.

Your spam-bot needs work; real humans don't emit things like this.


Same here - there's clearly some content in the source for the /about page but nothing showing for me either (FF28, WinXP).

Spotted a typo too, unviersity, can't seem to get back the source that I spotted it in, perhaps they're updating as we type.


Great news! But the fact that their own website is broken on Safari on iOS7 doesn't give me much hope that this is easy to develop for http://famo.us/


Yeah, I have no idea what's going on with their iOS7 Safari website. Hopefully it's just the result of some bad front-end design vs. something wrong with the actual engine.


Deadlines happen. This will be fixed shortly.


That site is using just a plain express app on node.js, it's not using famous.

http://dotheyusenode.herokuapp.com/?url=famo.us


The site does use Famo.us, it's a ‘front-end’ framework.

http://famo.us/assets/famous.js


The site does use famous. But most of the usage of famous is used in the demos and the Famous University interactive tutorials.


Not working on latest stable Windows Phone 8 either.


It is about time. I've been looking forward to trying out Famo.us' Javascript engine to see what all of the hype was about and how they were achieving those remarkable benchmark scores on mobile. I am going to dig into the code tonight and find out what makes it really tick. Fantastic and exciting.


don't forget to share your findings )


I was planning on writing up a little blog post after I've finished peeking under the good definitely!


Do you have access to the Famo.us university?


It’s very interesting to see this being announced now. The space of “native-to-the-web”-frameworks is very noisy lately. I wonder which moves the other developers of frameworks, especially in regards to Web3D games, will make next: Artillery? Goo Technologies? Scirra? Ludei? PlayCanvas? Impact? ...?

There is quite a bunch of free engines already out there: Babylon.js, Copperlicht, CubicVR, TheeJS, ...

The native engine builders: Epic, Crytek and Unity are also adding some more pressure on the game sector in this field with their announcements to also move into the web and alter their price schemes.


I like Famous but there is so much buzz around it. ThreeJS had CSS and SVG rendered before they even started.

Some projects, thanks to VCs gets too much marketing that put main players under their shadows. MeteorJS is the same.


It would be unfair to call Meteor's and Famous' marketing "the same". Some facts:

- Nobody knew about Meteor before their HN launch[0]

- Famous appeared at conferences, TechCrunch Disrupt and others with demos of periodic table[1] (which was a ported example from ThreeJS)

- Meteor launched on HN, people loved it, and only then they raised VC and announced it [2]

- Famous announced their funding and sometimes dropped news of various partnerships with "hardware partners" they cannot disclosure. [3]

- Meteor was open-sourced and available with documentation since the launch. They changed their licensing from GPLv2 to MIT later but it all was open[4].

- Famous is open-sourcing their 1-commit repo after 2 years of private beta and now their documentation is in private beta as well.

[0]: https://news.ycombinator.com/item?id=3824908

[1]: http://gigaom.com/2012/11/25/famous/

[2]: https://www.meteor.com/blog/2012/07/25/meteors-new-112-milli...

[3]: http://us5.campaign-archive1.com/?u=4656ba2b0a364690c8530bc1...

[4]: https://www.meteor.com/blog/2012/04/20/mit-license-http-requ...


Releasing collapsed git histories when going public is not without precedence. See the initial public commits from meteor, react and angular:

https://github.com/meteor/meteor/commit/d69c2d1f198ab08a26a2... https://github.com/facebook/react/commit/75897c2dcd1dd3a6ca4... https://github.com/angular/angular.js/commit/c9c176a53b1632c...

We had a reason for doing so. From now on all future development will be out in the open. The docs specifically were supposed to be made available without logging in, but we were short on time. They nicely designed docs will be made available tomorrow. In the meantime, there are guides available in the https://github.com/famous/guides repo and all the source is JSdoc-ed. Check out the code and try making something with it.

disclaimer: I work for famo.us.


Ricardo Cabello ported Famo.us' periodic table demo to ThreeJS to show that it might not be such a novel library: https://plus.google.com/+RicardoCabello/posts/QcFk5HrWran


Meteor's also been used by a variety of groups in production the whole way through as well. There's something to be said for that considering just HOW much it covers. That type of "marketing" will out do almost any type... having users actually tool with your product and write up articles and tutorials on it.


What's the alternative to meteor that's been overshadowed by meteor?


there is none

Derby is the closest thing to it but Meteor has more capabilities and has a better development team plus a lot larger developer community


Do you have any links to larger open-source derby apps? I wouldn't mind looking through the source of one.


AFAIK Derby was earlier, has better npm integration, and has better server-side rendering.


Glad to see this out. I've been waiting on famo.us to become available for quite a while now. Exciting stuff.

Now, where is the documentation? The readme from the repo points to a docs folder that does not exist, and links to the online versions of documentation lead me to login-only pages... registering only puts me in line for access.


Such a strange "launch" presentation; 3d is an obvious center piece and 40 minutes in, zero real demonstrations of the actual tech. No, the simple examples in "famo.us school" don't count. It looked similar jquery easing.

No visuals, just a bunch of beta devs talking about how great everything looks..


Here are a few links to some demos and some code examples on Code Pen.

Demos: http://demo.famo.us/

Codepen: http://www.codepen.io/befamous/


Is there anywhere to actually get a real demo of this product? Something that isn't a WebGL tech demo, but an actual example of an actual app written using this?


I spent a couple of hours with their docs and built the following demo, which appears to work in all major browsers except Firefox. You could drag the background to change the angle of the iframe. Also, you could target a different webpage by updating the url -- be sure the webpage allows embedding as it's going into an iframe.

http://beta.mindcast.com/famous/?url=http://famo.us


This chrome extension is built using Famous. https://chrome.google.com/webstore/detail/beepe-phone/hcfncm...


The README refers to an "examples" repository at https://github.com/Famous/examples - it's not accessible right now, but presumably will be shortly.


I think the closest thing to that would be their "Tweetus" demo. http://demo.famo.us/tweetus/


Wow, that Tweetus demo is SO clunky, like a bad Flash site :/


It's not too bad on iOS7. But nothing to rave about either.


what browser are you using?


So famous is only for fast javascript browsers? That says it all... damn #hipstercoders.

And yes, it works fast on chrome, dog slow on Firefox. Since when did we decide to collectively ignore Firefox users because we want to use some fancy shmancy JS framework so we can write our code using an "opinionated" approach? And I quote "opinionated" as that is precisely how the readme describes the "famou.us" way of building "rich, fast web applications".


It's working fast on firefox for me.. but that means it arguably says worse things about the framework if performance can be so drastically variable from one person and browser to the next.

Didn't famo.us show off some fancy spinning sphere thing a year or so back? I seem to recall that working wonderfully smoothly on my (Galaxy Nexus) cell phone. The demos all available now are terribly slow and jerky and really don't sell the tech in the slightest.


It seems to heavily rely on graphics card support. Enabling linux graphic drivers in chromium changed it from barely working to silky smooth for me. I haven't figured out how to do the same in firefox yet though.


http://famous-bird.com

Flappy bird written in famo.us


Probably the slowest and worst clone I've seen. Hopefully that's not a reflection on famo.us.


A lot of the links from the repo README are broken or in an invite-only area. The main docs I've seen are the markdown guides here:

https://github.com/Famous/guides

The biggest disappointment is what seems like less-than-rock-solid desktop browser support. Support for iOS and Android only with "Broader support for more browsers is coming"?? (After all the discussion of not releasing until everything is rock solid?) I noticed it with some of the initial demos that didn't allow you to rotate the element chart using your mouse, but it worked fine on an iPad. For all the talk of 3d, I don't see anything on par with a three.js in the source.

Seems like React + a physics engine...


Basically the framework was designed from day one to target the weakest devices for which decent results are possible. The plan is to expand support from there. Since mobile devices came first, a lot of the work so far has been focused on touch input and higher order touch gestures that involved several fingers.

Mouse support in desktop browsers will improve over time. Designing input to accommodate two fairly different inputs is pretty tricky and this isn't a solved problem anywhere yet. Sites/apps that work in both mobile touch and desktop browser settings currently all use mouse pointer interactions (basically just tap, double tap, swipe) Adding multi-touch interactions complicates things quite a bit. Since we're working from mobile towards desktops.

We're working on better desktop support ourselves and would love contributions from the community that help improve the desktop experience for everything.


Desktop? I thought they were building for phones.

http://m.infoworld.com/t/mobile-development/famous-were-buil...


Their marketing: "Famo.us provides a powerful JavaScript framework and developer tools designed to build rich, fast web applications." Yeah, it looks like it's mainly targeted toward mobile devices, not that it was clear before today. Earlier reports mentioned desktops together with mobile, like this one: http://techcrunch.com/2012/09/10/famo-us-is-a-gaming-engine-... "...it works on nearly any platform, including desktops, Android, and iOS."


The dynamics of which technologies find longevity on the front page is always intriguing. Erlang/OTP 17 was top for a short while, this random javascript framework hitting the top?

How is this more useful than a language/platform rev?


It's not a random framework. It's been worked on and talked about for 1-2 years now.


Maybe I gloss over most JavaScript framework posts, but first I've seen (and remember) for this one in the last year or so.

My general point is genericX.js seems to get a lot of up votes here relative to other language/framework topics .


Well, I think it's because mobile web is still a huge opportunity, and mobile website rendering still leaves a lot to be desired. If they deliver a simple-to-use framework that enables a superior UX on phones (looks like it, though we still need to see more), then that's naturally going to be very interesting to a startup/entrepreneurial crowd like hacker news. I've been following them since the periodic table example and am still eager to see it fully open up.

I also totally dig meteor as a huge step-up in how to build web applications. I think they solve a big problem that most people are still working on (react also looks interesting)... not having to duplicate your business logic and rendering code. I think that's a huge benefit to getting things done quickly. Plus you get real-time rendering of data changes in your app, largely for free.

So I wouldn't call these genericX.js libraries. I think they are enabling new opportunities and are worth the interest they're generating.



The Paper demo is quite impressive on my phone (iPhone 5s). Anyone who struggled with touch events in an HTML app should be impressed.


Famo.us announced two things at the launch event tonight:

- github repo is now public

- they're letting in the first 75k devs to famo.us community website tonight

The first 75k devs will get 3 invites.

The website contains what they're calling Famo.us University. Tutorials, forums, IRC, etc.

The explanation for letting in 75k devs at a time is to not overwhelm the community with new devs. They want to be responsive to the first batch and train them so the first batch can support other batches. It's pretty brilliant community management and a sane approach to being able to actually deliver on the hype over time.


I think they are only letting 500 people in. There are 75k on the list. I signed up 2 years ago and I am number 74606. Looks like it will be at least a few months till I can look at the documentation


500 or so per day. This number may be adjusted up or down depending on whether we are feeling overwhelmed. However I expect it to rise over time as those that get in early help those that get in later (IRC, forums, etc.). We're planning on getting everyone access within 40 days or so.


Had hoped to give this a try for our new product. Too many uncertain timelines I think to give it a try.


Do we have more details on what is famo.us? It says "opinionated approach".. How does it compare to ionicframework.com for instance?


It reminds me a lot of writing Cocoa applications but with javascript instead of Objective C.


There are many similarities with CoreAnimation and UIKit. However, being in javascript and in the browser creates such a tight feedback loop that it makes it much easier to explore interactions and tweak them to get them just right.

The framework is opinionated in the sense that there are prescribed ways to build apps for the best results. However, it is at the same time very modular and those willing to work with the core modules in famous/core directly will find the interfaces low-level enough that they could explore alternative ways of building apps that represent their own opinions. If you're the kind of developer that can build with low-level primitives, by all means explore other directions, since we're curious to see what people create and how they use the framework in novel ways. For everyone else who just want to build a performant app with excellent UI interactivity for mobile browsers, we definitely express an opinion. We've been doing this for a while and know quite well what approaches work and which ones don't. So unless you're performance neckbeards like we are, you're better off building the apps according to our opinion (until you know enough to form your own).

disclaimer: I work for famous.


I thought that was Cappuccino?

http://www.cappuccino-project.org/


I love Cappuccino ! i really wish it'd take off, but the objective-J thing is a bit hard.Why not provide a pure JS interface?


Have you heard of MontageJS http://montagejs.org it takes most of its inspiration from cocoa.


Sounds a lot like Ember.


Er, fail? No examples still at link given, and About page also blank, as others mentioned. Would like to try this, but not sure I want to invest the time without seeing some working examples first...


You can see some examples here http://demo.famo.us/ and http://www.codepen.io/befamous/


yeah all the links are broken. examples are down. even install.html is down.


How frustrating is the registration + queue to read the docs =(


The docs (gudes) are on GitHub too: https://github.com/Famous/guides/tree/master/dev


for those unclear, the countdown is just for their University, forum etc. The code itself is all out there. Clone the repo, init and update the submodules, and go!

They also have a yeoman generator

https://github.com/Famous/generator-famous


I've been stuck at position 79992 for the past 10 minutes ... I just want to see the docs and guides!


This is a countdown? I haven't seen the number change at all; I was under the impression it was just your fixed user number. Then again mine is lower (758xx) and I only just signed up... I could've really used some hints here.

EDIT: The "mystery" over a lot of this is just making me less interested at this point. Sorry, marketers.


> EDIT: The "mystery" over a lot of this is just making me less interested at this point. Sorry, marketers.

Yeah it's really starting to like this is more of a marketing company than a technology company, trying to milk some publicity but doing a really bad job of it.


Not a countdown. :-)


The render tree document is pretty interesting https://github.com/Famous/guides/blob/master/dev/2014-04-09-...



I can't seem to get paste the fact that the UX seems confusing to me...

A lot of progressbars for animation also don't include visual feedback (except a number changing).


Seriously Javascript? Pretty much everything is broken, try submitting on the register page without any fields ... the bad request is not handled :P


Can someone explain why this is better than threejs?


three is a 3d engine (ish) - famo.us tries to also provide ui layers and such in a complete framework (that allegedly also includes physics, the works, etc)


If that's so the code looks like a mess.



Seriously, check out the demos, http://demo.famo.us/. Pretty impressive.


Tried the first three, neither worked in Opera (Desktop or Mobile, the normal ones). Like.. at all. No fallback, nothing. I read the disclaimer that they are experimental, but still. The framework itself should cover you here and provide some sort of fallback (or better yet work).


Same here.

Makes it too hard to find what is it really about, how good it really is, and whether it is for you or not.


Anyone know why the text is so blurry in Chrome?


Half pixels; the dreaded "dubstep effect." They should be rounding the translation values before applying the matrix, at least on elements with text at screen depth.


Wow! The demos are just bloody mindblowing


> Small examples of using each component are available at examples repo

The link gives a 404.


Why is there a line for material that is openly accessible in github? This seems stupid.

All their audience are developers who can basically get it off of github.




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

Search: