Live data from Hacker News

Figma files for proposed IPO

figma.com

171–180 of 255 posts

Re: Figma files for proposed IPO

#171
post #157

Earlier quoted context omitted.

why is it so high? all of their high performance stuff is on device wasm, so all of that just to host their website and like collab features or some such?

There's plenty of server-side components to Figma that are substantially more complex and expensive than that of the typical website. Multiplayer means that every file that are user loads is loaded onto a compute server and retained in-memory on that server, processing every mutation to the document. Figma documents can get quite large -- they can contain the design system of an entire organization, dozens of variati…

> Figma is an enterprise app, and the data models needed to support complex use cases (permissions, etc) means that DB load is a real challenge.

This, “permissions, etc”, isn't just an enterprise-scale problem, any multi-tenant system can and probably will hit it.

Working out who can access what can sound simple enough, but it gets rather less pleasant when the rules can be set with more complex ACLs¹ and because people can move around dynamically it is both potentially resource heavy to derive and difficult to cache² both safely and³ efficiently. It is natural to think “well, we can simplify the permissions model”, but you really can't when selling to different enterprises: many have their own idiosyncratic workflows, or local tweaks if using an “industry standard” workflow, and they will make a noise if your software to support them without extra tricks on their part.

We are at a much smaller scale⁴, in another industry, but this is an issue we have to be very careful about.

--------

[1] Is this person in a given group? Does that give or remove permission? Can they just access, or edit, add, …? also: different elements on the same screen could have very different ACLs to each other and at different times in a process

[2] missing changes for a time could cause significant issues if users are working on something commercially important or otherwise sensitive

[3] Safe is easy: don't cache at all. Efficient is easy: don't care about a bit of staleness and accept a bit of “eventual consistency”/“eventual correctness”. Achieving both takes a pile of resource even with a great design.

[4] We don't have to worry about consistently spreading data and processing over a set of DCs as our product has natural borders between tenants so splitting off into distinct DBs⁵ is an easy answer to some of the scale & efficiency issues.

[5] rather than needing everything in on “public” system because anyone can potentially want to share access with any other user.

Re: Figma files for proposed IPO

#172

Its S-1 shows $70M held in Bitcoin ETFs, and board approval for another $30M BTC purchase via USDC! https://x.com/tier10k/status/1940133141546770454

Thats pretty weird, you’d think they would offload things like that to not spook investors

> they would offload things like that to not spook investors

Judging by the amount of fairly traditional companies holding Bitcoins, it would seem like holding Bitcoin is no longer spooky. I guess it makes sense when the financial environment is slowly turning into one without any regulations, Bitcoin will thrive in that sort of market.

Re: Figma files for proposed IPO

#173
post #82

Earlier quoted context omitted.

As a former figma engineer, let me be the first to say that Evan Wallace is, in fact, a legend. A true 100x-er. There's still parts of the codebase basically no one at Figma really understands that Evan wrote back in the day. One example of that is something like he adapted a shader we use internally to render font glyphs, which no one has touched ever since. The engineer who told me this had spent a few days trying…

Font rendering is indeed complex, but the anecdote seems to be misleading readers into thinking Evan wrote obscure code. I worked extensively in the parts of the Figma where Evan wrote a lot of foundational code, and have also worked directly with him on building the plugin API. One of Evan's strong points as a CTO is that he was very pragmatic and that was reflected in his code. Things that could be simple were simp…

It is incredible how easy this stuff spirals out of control and why I'm not too worried about AI yet.

Every now and then I'm writing a PoC or greenfield project that you put down for 6 months. And sometimes when I pick it up to extend it, it will just so rapidly feel like it's getting out of control (I'm actually listening to the chemical brothers song of the same name at the moment!). I can at least usually fix that with some refactoring, but why didn't I get it right at the time? I don't know.

And it's often hard to figure out why, what architectural decision did you make to cause this. Pointing at the particular interface or pattern or method call chain that is the cause of a ton of complexity that could be fixed is much, much, much harder than most jobs in programming. And beyond the ability of 90% of developers.

The -2000 story popped up here again recently (https://news.ycombinator.com/item?id=44381252), and it's of the same vein, why had no-one else done that? Because it takes extreme skill to simplify existing code. It's beyond most developers.

I think it's why we as an industry often obsess about things like space/tabs/semi-colons or not/etc. They're obvious improvements to an architecture, and everyone can join in. But really, they're a small improvement to a codebase, not a massive one.

And then you get the Evans of the world who just do it, almost effortlessly. I've worked with an Evan, and sometimes you'd look at his code and think "why?", but any attempt to change or improve it invariably made it worse. He'd picked that pattern or structure or method call chain and it was always the right choice. And after a day of poking at it, exploring the edges, trying to change it, you'd realize why.

And yes, sometimes the code was so complex other developers couldn't get it. And then they'd call me over to help because I could get it. And I'd look at it and realize it was complicated because it had to be like that. He'd actually done it in the simplest way possible.

And years later I still make the wrong choice sometimes, and I always think of Simon and wish I had his magic touch.

Even if he used to name functions Thing() and DoStuff() and forget to update them.

Re: Figma files for proposed IPO

#174
post #123

Earlier quoted context omitted.

That’s how trademark works. You lose it if you have it and don’t protect it.

I think the point the parent comment is making is that companies shouldn't be able to trademark common phrases with their usual spelling. 'Dev mode' is a common short form for 'developer mode' which has extensive use.

I wrote a little about it, because it's more complicated than "a trademark": https://jonatron.github.io/randomstuff/trademark/fig.html

Re: Figma files for proposed IPO

#176
post #165
post #158

Earlier quoted context omitted.

> And for anyone who’s going to say “Sketch was Mac only that’s why it failed!” Why would anyone say that? Sketch is still alive and (presumably) well. Apple themselves continue to officially release design files for Sketch with every OS release. They share more resources for Sketch than any other app, including Figma and Photoshop. http://developer.apple.com/design/resources/ > after they depreciated Fireworks I’ve…

> Why would anyone say that? Sketch is still alive and (presumably) well When people deep into the startup-woods say "Fail" what they really mean is "Didn't take over the world". Their perspective of "winning / failing" is a bit more black and white than the average person. With that said, Sketch certainly didn't become more popular because the macOS requirement even for viewing the files. I remember that there was s…

> When people deep into the startup-woods say "Fail" what they really mean is "Didn't take over the world". Their perspective of "winning / failing" is a bit more black and white than the average person.

Good point (also, “deep into the startup-woods” is a great way to put it). I suspect there’s a major overlap between those people and the ones who are obsessed with products “killing” another. The same kind of people who are hyped by any new shiny pebble as if it’s the second coming of Christ and immediately eschew everything which came before. The people who are so blind to context they shouted “zOMG Google is dead because of ChatGPT” because they were incapable of thinking for two seconds that Google has a ton of cash to survive in the long run, were already leading research in the field, and (of course) wouldn’t just fold their arms and stay still. In short, people not worth listening to.

Re: Figma files for proposed IPO

#177
post #61

Congrats to the team here. Let it be a lesson for anyone worried that “their idea has been taken” or “there already solutions for this” out there.

> Let it be a lesson for anyone worried that “their idea has been taken” or “there already solutions for this” out there. I have nothing but respect for Figma's tech, but I'm not really sure this lesson is generalizable to 99.9% of other people. By all accounts Evan Wallace has skills and talent the vast majority of software developers don't have and never will have. The reason Figma was able to succeed in this space…

> The reason Figma was able to succeed in this space is that their engineering team was like the 90s-era Chicago Bulls of software development.

Huge contracts are built to extract as much wealth from the customer as possible without letting the victim know. Not by engineering talent. Huge contracts are what make Figma a success story.

Re: Figma files for proposed IPO

#179
post #161

Earlier quoted context omitted.

That was certainly not my intention. Nothing but respect for what they’ve built. Only pointing out that they entered a crowded space that already had “winners” in it, and succeeded.

Except it was not a crowded space. They did a bunch of stuff no one else was (or is) doing right from the start. Being entirely in the browser, real-time collaboration, vector networks…

You can define any space as "not crowded" if you narrow it down enough. That was the point really, they entered a crowded space & re-defined it with their offering.

Re: Figma files for proposed IPO

#180
post #10

They don't link to the Form S-1 prospectus from their announcement, but it's publicly available at https://www.sec.gov/Archives/edgar/data/1579878/000162828025... Their highlighted metrics page: $821M LTM revenue, 46% YoY revenue growth, 18% non-GAAP operating margin, 91% gross margin. It's an incredible success story, and the engineering they did upfront (primarily led by co-founder Evan Wallace) that set the stage…

Thanks for sharing - this architecture post is also a great read: https://madebyevan.com/figma/building-a-professional-design-...:

> Our vision for the future of design tools is one where both the tool and the content are easily available to anyone, anywhere

> The reason this is hard is because the web wasn’t designed as a general-purpose computing platform.

> We fully control memory layout and can use compact 32-bit floats or even bytes when appropriate instead of JavaScript’s 64-bit doubles...The generated code is completely in control of allocation, which makes it much easier to hit 60fps by avoiding GC pauses. All C++ objects are just reserved ranges in a pre-allocated typed array so the JavaScript GC is never involved.

> One big issue for us was that certain browser configurations couldn’t allocate large ranges of continuous address space for the huge typed array that contains the entire emscripten memory space. The worst case was 32-bit Chrome on Windows which sometimes couldn’t even allocate a 256mb typed array because ASLR was fragmenting the address space. This has since been fixed.

A great example of making a single bold architectural decision (building a design tool on the web instead of as an app) in service of a vision (prioritize live collaboration), and then thoughtfully resolving all of the performance tradeoffs that stem from this route.

Post reply on HN