
Pagedraw is shutting down and going open source - jameslk
https://pagedraw.io/
======
abraae
One absolute rule for success in software is that there are no absolute rules.

From their post mortem [https://medium.com/@gabriel_20625/technical-lessons-
from-bui...](https://medium.com/@gabriel_20625/technical-lessons-from-
building-a-compiler-startup-for-3-years-4473405161cd)

> Performance is never a justification for anything if you haven’t measured it

This just isn't true. Anyone with a reasonable amount of experience is often
able to look ahead - well before any code is written - and see how performance
could be better if road A is taken instead of road B.

Its madness in that case to blindly choose a road without even thinking about
performance - even if it is unmeasurable and in the future.

There's more in the same vein:

> Go back to step 2 and make sure you completely ignore performance, because
> you probably haven’t.

Now I have to imagine that these guys don't genuinely believe what they wrote
- but in that case, ditch the words "never" and "completely ignore" and go for
something more reasonable.

(Of course that would make the phrasing less dramatic and click-baity, which
is maybe what it takes to get eyeballs these days)

~~~
aspencer8111
Its comments like this that make people hate HN. I agree with their writeup
fully. They focused wayyyy too much on performance and not enough on an MVP,
pivoting, marketing, growth, and staying agile.

I would love to get all these "Performance First! Its so easy" engineers in a
room for a week. Hell, give em three weeks and they still wouldn't have a
single line of code written. But they would still be arguing about the best
way to deal with their upcoming 1 million hits per second.

Rule #1 of any business: Sales cures all. You know what's really hard to sell?
A product that hasn't even made it out of the damn door yet.

~~~
cr0sh
How I've always put it:

"Steak before sizzle"

Get something done and working, even if performance sucks. Then do your
performance logging and optimizations. Don't attempt to pre-optimize, because
you may make a good situation worse.

That doesn't preclude selecting correct algorithms and such beforehand; ie -
don't be stupid about it. But don't try to be clever before you know you need
it, either.

Second thing I always think should be necessary for any software project:

Get your security design working first.

Don't try to patch in security after the fact; if this isn't at the top of
your design and planning, it should be (assuming the project needs it or can
be foreseen to need it). Too often I have witnessed the opposite - and it
almost never works without major refactoring (or scrapping and starting over).

~~~
taneq
> "Steak before sizzle"

I like it!

> That doesn't preclude selecting correct algorithms and such beforehand; ie -
> don't be stupid about it. But don't try to be clever before you know you
> need it, either.

Exactly. "Avoid premature optimisation" doesn't mean "make it as slow as
possible", it just means "use std::vector until it becomes an issue instead of
hand-coding some arcane data structure in assembler".

~~~
twic
Except that salespeople say "don't sell the steak, sell the sizzle!", so this
could get confusing.

~~~
taneq
Isn't that the point, though? You sell the sizzle... but you can't deliver
without the steak.

~~~
twic
Actually, this is now possible, as Kubernetes makes it easy to deploy
steakless applications. I think i heard that.

------
jameslk
> Ultimately, we think Pagedraw is the wrong product. We think you can get 90%
> of the benefits of Pagedraw by just using JSX better. Our findings on this
> will be controversial, as they go entirely against the current “best
> practices,” so we’ll save them for a later blog post.

I'd like to hear more about this. I'm not sure if it was ever turned into a
blog post? I don't understand how using JSX differently can eliminate the need
for a visual editor for components.

~~~
iliketosleep
You've probably seen their blog post from other comments, which doesn't
directly address the issue. They essentially made a visual editor for
developers - this is the crux of the issue. It's easy for developers to add,
preview, and edit components without a purpose-built visual editor. They
appear to suggest that following some of the "technical lessons" in their blog
post is what these devs really need - not a visual editor. Having said that, a
visual editor would be great for designers who don't want to get their hands
dirty with coding.

~~~
realusername
That's exactly the whole problem with web editors:

\- If they abstract a lot, you can target designers but then it inevitably
produce unmaintainable spaghetti code because it does not know exactly where
you are going

\- If you abstract it less, you can only target developers but what's the
point for developers to use an UI when they have to know how to code in the
first place?

~~~
elcomet
That's true for now, but I believe we will get there eventually. Who is
writing assembly code anymore ? You can argue that compilers produce
unmaintanable spaghetti assembly code, which is certainly true. But almost no
one will look at the assembly output.

The next step we are currently in: a lot of new languages compile to C. And it
produces absolutely unreadable code. But who _wants_ to read and write C when
you can get the same speed with a much nicer language ?

I agree visual editing may be more complicated than compiling / transpiling,
but I believe we'll get there eventually, and people will no longer read and
write css manually.

------
theon144
I like the subtle nod through capitalization in the phrase "It’s been An
Incredible Journey".

~~~
ocdtrekkie
Though unlike an Incredible Journey, this is the right way to shut down: Open
up your code and contribute what you did to society.

~~~
tannhaeuser
I think it isn't meant so much as a gift to society as it is a best-efforts
gesture to your existing users regarding their sites and investment:

> _We’re releasing it open source both so you can keep using it, and so we can
> share our ideas about how to build UI tools_

~~~
jpochtar
It was both of those two things— we wanted to do right by our users who
trusted us with a dependency, but also because we think we did some things
differently than your average WYSIWYG builder, and wanted those ideas to help
move the standard forward.

------
33degrees
More details on the shutdown here, with some good insights:
[https://medium.com/@gabriel_20625/technical-lessons-from-
bui...](https://medium.com/@gabriel_20625/technical-lessons-from-building-a-
compiler-startup-for-3-years-4473405161cd)

------
pier25
We've been writing HTML for a couple of decades now. There have been dozens
(hundreds?) of WYSIWYG editors and nothing has really caught on.

My hypothesis is that unlike other mediums like paper or video, the elastic
nature of the web makes understanding the positioning paradigms/box model/etc
a necessity that no visual tool can really abstract. By the time you
understand all that, it's just faster to write and maintain code.

~~~
JesseAldridge
SquareSpace, Wix, Shopify, and Elementor (a WordPress plugin) have all caught
on. The first three are more than page-builders, but the page-builder is an
important component.

They're just not popular with the HN crowd.

~~~
iliketosleep
So true, I have seen total beginners create nice looking pages with the tools
you've mentioned, but if they stay in it for the long haul they find
themselves limited by these tools - after which they either gain the technical
skills required and move away from the page-builder or hire a dev. That's why
I personally won't use such tools. They make it quicker to begin with, but
I'll inevitably find myself fighting against the tool.

~~~
mamurphy
What kind of beginners? If someone wants to make websites for a living, of
course they need to get the skills. If they just want one website, those tools
are often enough.

~~~
iliketosleep
I'm not referring to individuals who wants to make money as a web devs. What
I'm referring to is the entrepreneur who lacks technical skills but is able to
put up a nice little website using page-builders, and after a while wants to
take it further and add features not supported by the page-builder.

------
nathan_f77
Sorry to hear about the shutdown, and it looks like it was a pretty useful
tool. Great that they open sourced it.

The source code looks very interesting (and a bit unusual for a React app.)
[1]

Looks like Coffeescript + "Coffeescript JSX", which I hadn't heard of before.

I didn't look too closely, but I didn't see how they're doing state management
in the editor. No Redux in the package.json [2]. I was hoping that I might be
able to repurpose some of this for a new project I'm working on, but it all
looks very foreign to me [3], and the file organization doesn't seem to follow
any conventions that I'm familiar with.

[1]
[https://github.com/Pagedraw/pagedraw/tree/master/src](https://github.com/Pagedraw/pagedraw/tree/master/src)

[2]
[https://github.com/Pagedraw/pagedraw/blob/master/package.jso...](https://github.com/Pagedraw/pagedraw/blob/master/package.json)

[3]
[https://github.com/Pagedraw/pagedraw/blob/master/src/editor/...](https://github.com/Pagedraw/pagedraw/blob/master/src/editor/edit-
page.cjsx)

~~~
jpochtar
[http://www.paulgraham.com/avg.html](http://www.paulgraham.com/avg.html) is
how we felt about Coffeescript + JSX

~~~
shubhamjain
Frankly, picking a non-conventional language in order to associate yourself
with "true hackers" is PG's least useful advice. I am not even sure if he
would still agree today. Hackers use the language they are most comfortable
with and that gets things done. Everything else is secondary. I wrote a blog
post on the subject [1].

[1]: [https://shubhamjain.co/2018/12/01/why-paul-graham-
wrong/](https://shubhamjain.co/2018/12/01/why-paul-graham-wrong/)

~~~
jpochtar
Yeah we didn't do it for the hipster cred— we did it because I agree with PG
that some languages are better than others, and Coffeescript is just better
than Javascript.

------
syntaxing
I'm actually really disappointed that I found out about them because they're
shutting down. This looks perfect to me because I've been wanting to make some
sites fast but I don't have the time to expand my React skills currently. Does
anyone have a good recommendation for an alternative?

~~~
jitl
Use the open-source desktop app they released.

~~~
syntaxing
Interesting, is the desktop app on their Github the final version?

~~~
jpochtar
Yes, it's the final app from Pagedraw... but we encourage forks! There's some
good stuff in there :)

~~~
syntaxing
Thank you for releasing all your hard work to the community!!

------
Jeaye
I tried using PageDraw for LetsBet when we ported our ClojureScript + React
codebase to desktop with Electron. All of our designs are done in Figma, by
our designer, so we were trying to rely on the Figma project importer.
Unfortunately, the importer was very unreliable, bringing in something that
looked like a Vangough-like representation of what had been designed.
Basically, our designer would have to use Pagedraw's editor to build the UI,
but it simply lacked the feature set compared to PageDraw.

Integrating with ClojureScript ended up working, but it was a real pain.
That's less on them than us though, so I won't fault them for not supporting
every language which compiles to JS.

However, PageDraw never worked in Firefox. Perhaps now that it's going open
source, this can be prioritized, but it was a serious issue for me, since
don't use anything else. Just for PageDraw, I installed Chromium; they had a
desktop app, but it was much less stable than the site, in my experience.

PageDraw had some annoying bugs, as well. Invisible components in Figma would
be imported as visible, but I could work around that. However, there were
codegen issues with multi-states which required me to go into the code and
make tweaks. I had reached out to Gabriel several times with reproduction
cases and debug info, but never heard back.

Aside from that, a slew of UX issues (copied right from my notes):

* Add a "Select children" button when only one item is selected; it shows up when multiple are selected, but not one

* Add a "Delete branch" button which deletes the selected and all children

* Allow searching for component within project

* Allow viewing of an image's source, if it's imported from Figma

* Allow inter-project component references, so I can not have every screen in the same project

* Allow importing of path-based icons with overlaps from Figma; currently, they're all broken

* Allow selecting multiple items with overlapping properties and setting them all at once

I love the idea of PageDraw and I wanted so badly for it to help us with our
app development and converting Figma designs to React code which we can use
from ClojureScript. Alas, the experience was viable for neither me nor my
designer.

Thanks for trying, PageDraw devs, and thanks even more for open sourcing your
work as part of this shut down. Best of luck in your future endeavors.

------
codegeek
Interesting that they launched pagedraw exactly 1 year ago (Feb 26th, 2018)
and I remember reading that launch post [0]

So it took them 1 year to shut it down ? Is that a quick failure ? Wonder why
they didn't go any further. Was it Funding related ? Curious.

[0]
[https://news.ycombinator.com/item?id=16467387](https://news.ycombinator.com/item?id=16467387)

~~~
avinium
I think a year is more than enough to figure out if you have the wrong
product.

Kudos to the team - they might have been able to raise money to keep plugging
away, but they've seen the writing on the wall.

I know nothing about their company or their team, but I do know that product-
market fit is something you have, or you don't. There's no real middle ground,
so if you don't have it, you need to madly iterate/pivot until you do, or cut
your losses and move onto the next project.

------
azinman2
Ever heard of them, but love the concept. Perhaps the right thing would be
someone like Sketch to incorporate this and make it mature and maintained.
They could charge a nice extra for doing so.

------
thedangler
very interested in the vuejs implementation. How soon is soon, now that its
moving to open source?

~~~
moreira
Odds are, never. If some volunteer open-source developer decides to pick it
up, it might happen, but as the company's shutting down, any "soon" promised
by them in the past is obviously now a "never".

Note: That page is clearly just their old homepage + the shutdown message;
whatever it says was written pre-shutdown.

~~~
jpeg_hero
Sad but true, from having seen upfront a similar process. It takes just a
fraction of work to bundle all the tech up for open source, but at the point
of shutdown everyone is usually just toast... sadness to it too. Most people
can't put in that day or two required to jettison it into open source land,
right now, and then in a month or two the rot has already set in.

Hopefully these guys buck the trend, because there looks like there is some
cool stuff in there.

~~~
dinedal
The link to the source is right on the page?
[https://github.com/Pagedraw/pagedraw](https://github.com/Pagedraw/pagedraw)

------
k__
Sad.

Some time ago someone asked if they still in business and they said they had
planned some things.

I liked their idea, but well.

Looking into Draftbit and FramerX right now.

------
fogetti
The really funny thing that the same cycle repeats in jsland that we have seen
in java land a decade ago. XD I can't even put into words how hilarious is
this. We need visual editors. We don't need visual editors. We need visual
editors. We don't need visual editors... Etc

~~~
jpochtar
We pretty explicitly said "hey, the web is a regression from the 90s... let's
just make a company that fixes that"

------
jaequery
looks like they just did not find the type of investors who would help them
all the way to the finish line. i hate to see products that are trying to
solve hard problems but falls short due to funding.

------
revskill
I'd love to have a similar product, but will produce only the React Element in
json form only.

------
Zelmor
Was this like a wysiwyg editor for badly performing web applications?

