Not sure if anyone recalls Famo.us which used to focus on web animation and make it programmable although they don't have the client app like Haiku. However, their claim was that they "cracked" the web animation performance. Well it didn't work for them (basic performance test would tell otherwise - duh!). Why is Haiku able to achieve such awesome performance on the web like this for animation? I also saw Greensock and they did a very good job as well. I am curious on what's the secret sauce here and whether there is any performance comparison (sorry for loaded questions there).
I'm not with Haiku but I'm working on something similar, so I'll chip in with my 2 cents here.
To get good performance out of interactive web animations, you need the code that handles input to be in a really tight loop with the value that's eventually painted to the screen. The CSS Animations API really destroyed interactive design on the web for a long time. The reason is that they were fully declarative and had very few hooks for interacting with JS code, it's difficult or sometimes impossible to do things like chain/interrupt/restart them. Developers could work around that with hacks like using the style property on a div to override the animation classes when being interacted with, and then relying on the animations defined in classes for everything else. I've tried to write code like this, it's brittle across platforms and very hard to maintain. In addition, the global flat document structure of HTML makes it very hard to ensure that other code doesn't interfere with yours. My point is, you can't write a good animations editor for the old web because it just wasn't possible to do them well enough using the old API's.
Newer API's (CSS Variables, Web Animations, CSS Flex Box) and better component abstractions (React / Web Components) make it a lot easier to do something like Haiku. My tool just takes an intermediate JSON structure and generates React or Web components. The animations for React are handled by React Natives Animated library, and the Web Animations API for Web Components. Flexbox + CSS Transforms are leaned on for keeping the structure or the generated components consistent. Generating performant animations on the web really isn't that hard anymore.
The really hard part is defining a common set of API boundaries to make the generated components reusable and composable. Doing this is complicated because of the lack of proper module loader in JS, its dynamic types don't help either.
From the video it looks like Haiku is using a library from AirBnB called Lottie to handle the animations. Then they turn around and wrap that in a React component + others forthcoming. I wish I'd known about Lottie before starting my project, it probably would have saved time. I'm not sure that Haiku can pull of component re-usability with Lottie though, depending on how much of a black box it is, good luck to them on that front.
The first half of this is spot on (the flaws of declarative CSS for interactions) — your last paragraph has some mistakes about Haiku, though.
> From the video it looks like Haiku is using a library from AirBnB called Lottie to handle the animations. Then they turn around and wrap that in a React component + others forthcoming.
For the Web, Haiku Core is our renderer. We don't use lottie-web; we use Lottie only to export Haiku Core for rendering on iOS and Android.
Haiku Core uses "the fastest parts" of SVG + CSS + JavaScript to render its animations. Nothing magical here, it's just using web standards, though it was important for us to build around SVG+DOM instead of canvas so that you can still use the Web for what it's best at: rendering documents.
Haiku Core is a component format explicitly defined for reusability — and hackability. Haiku components for the Web aren't 'generated' or 'exported'; the design source file is the code source file. And due to the way that Haiku handles state (strictly internally) and data flow (strictly message-passing,) they work in any codebase, as polite and predictable guests.
EDIT: P.S. tuchsen, I'd love to chat with you some more. Can you email me zack@haiku.ai ?
Depending on how sophisticated your prototypes are (or something I can google and do myself), there are definitely values. But you need to share more info for me to advise. I do look for HW prototyping services sometime but it'd require someone who knows specialized fields (fluid physics). You should start to test by doing a bunch of videos to post of social media and see what kind of responses there are.
Ive been getting rewards and media attention for the last 8 years or so. Which leads to work for hire. But im trying to figure out if zi can monetize with a digital product, in order to spend more time building prototypes which by themselves become marketing. The question is... th thing im marketing... could it be something else than work for hire?
Perhaps an alternative approach would be to productive some of your prototypes. For example, have you made a cool exhibit for a children’s museum? If so can you make it generic for all children museums?
I think that a great children's museum exhibit would be really interactive and engaging. So if there's an exciting exhibit, I'd think there would be interest in smaller educational projects the kids and their parents could put together. So the OP could also offer to design related educational toys that the museum could sell in their shop, or the OP could sell on his site. At the very least, he could have free instructional videos on his site related to his educational exhibits.
One of your products / prototypes must really take off to put your lab into a different light (and league) imho. What kind of digital product were you thinking of? A Youtube channel is more than enough and the most direct way these days but you still need a clear hook aka hit to emerge from the unknown maybe?
I am curious to see any success story on HARO as well. I tried it on and off for ONE YEAR like the author but I was being very picky. I got just a few responses and none turned into anything material enough to justify for time waste.
Washington wildlife and forest protection is dead serious. I mean they invested a ton to enforce the rules and make sure people doing wrong things got punished. I, one time, got a $150 ticket just because I was a bit curious and dug into the sand for some geoduck.
I am very close to making the decision to the same path you took (with family and kid of course). I know each case is different but how long did bootstrapping take for you? I already put saving aside for one year (covering insurance and mortgage plus other minimal living cost). I imagine I need earn at least $85K in a year to survive the second year and so on (based on cost of living in my area). I am also thinking about doing random consulting here and there, to supplement the income of building a product. But I know it's always a trap.
It's been a little over two years since I quit my job, and we have about 10x to go revenue-wise before we can support our families. We thought we'd easily get there in a year, and by the time it happens - if it happens - it will have been at least 3-4 times longer than our estimates. This, of course, all depends on team and circumstances and luck and savings and what your business idea is.
I had some blind spots & weaknesses I didn't know about beforehand, and an overly optimistic outlook. The other people on my team admit to the same. We wouldn't have learned those things if we hadn't quit & gone full time, and learning this stuff is super valuable. But I can see now more clearly why so many entrepreneurs say that big mistakes are inevitable and why so many people talk about businesses really taking 10 years to get off the ground, rather than 1 or 2.
I have started doing some consulting, and it's super helpful money-wise, but takes a lot of energy away from the startup idea. I find that consulting for 20 billable hours a week is roughly equivalent to working 40 hours at a full time job. With a family, that doesn't leave a ton of time to work on the startup.
When I do it again, I will look for at least 2 years of runway before I go whole hog, whether that's savings or VC funding. It's also a good idea to find your family's minimum comfortable burn rate (with wiggle room for emergencies). It might be less or more than you think.
Also it's important to have a good sense of how you get customers. I'm still working on that, but I truly had no clue when we started. It's a lot harder to get the word out than I thought, the internet is extremely noisy, attention is extremely scarce, and using the internet for advertising has changed considerably just in the last 5 years. Next time I will probably try to bootstrap to cost-neutral revenue before going full time. We quit our jobs before we were making any money, and just built the product for a while. It has been awesome in many ways, but we'd be in a better spot if we'd started selling sooner and waited until we had revenue to go full time.
I got a question about severance and new job. Some companies (like mine) will ask you to report new job and they will cut severance (monthly salary). If so, how do you deal with that? Many of my previous co-workers told me they just lied and the company never checked (all verbal or writing).
That doesn't sound right. Granted, severance is not mandatory for an employer and they can choose to give you nothing when letting you go. Although, asking about your new job and salary doesn't sound legal. All that said, if I were an employee, I wouldn't lie in any case. I'd like to keep my hand clean, which would save me if the crap hits the ceiling.