Hacker News new | past | comments | ask | show | jobs | submit login
Developers should embrace creative coding again (figma.com)
82 points by carlyayres 51 days ago | hide | past | favorite | 132 comments



To be creative you need less utilization. Business have been so focused on reducing utilization they have inadvertently removed creativity (which they probably don't care much about). However, as dev utilization is high, service times become elevated as well. As things take longer and longer to turn around, we'll see utilization come back down.


I think you meant that businesses have focused on maximizing utilization. It turns out that this is the wrong thing to focus on. Even if you don't care about creativity or innovation, from a purely economic standpoint it's more important to minimize process step queue length instead of maximizing resource utilization.

http://celeritaspublishing.com/books/


Queuing theory also says it’s wrong. That’s why the lines everywhere get so long. They’ve optimized for somewhere on the bell curve of usual activity levels and any time tasks come in faster than that, wait times grow extravagantly.

If you want wait times to be short you have to aim for hair under 60% normal usage.


See also "The goal" by Eli Goldratt


I agree, once of the biggest mistakes almost all companies make these days.

They just can't stand the idea of employees not being super busy.

The result is everyone optimizing to look super busy.


> However, as dev utilization is high, service times become elevated as well. As things take longer and longer to turn around

Funny enough, this is exactly like running a server. Once CPU is over ~80%, request latency increases quickly.


In my experience most businesses come from the assumption that there are creative roles(e.g UI/UX) and engineering roles.

Engineering is there to implement the creative vision - not a creative endeavour in itself.

They are aware that creativity takes time - but that engineering resources need to be efficiently allocated and optimised.


It seems that this cycle of civilization will end and businesses will still not grasp the very simple fact that often times programming is both engineering and creativity.

Oh well.


Engineering is creative. It's all about applying science to solve problems. And engineers love solving novel problems.

Software often seems more like cooking than engineering, where most of the staff of a kitchen is focused more on mastery of patterns and techniques than on innovations, though. A friend liked showing us all the tricky things he learned to do on his way to becoming a chef. My father the engineer liked to show us models of the industrial robots he'd designed and talk about how he overcame difficult design problems.


Let’s not all point a finger at the “business” boogeyman who doesn’t understand coding is creative without acknowledging that many programmers today are right there with them.

The current state of interviews tells me that a lot of programmers prefer to think of it as software “engineering” rather than as a craft or trade. If creativity meant something to them, I wouldn’t spend all my time bored silly trying to memorize algorithms.


> Let’s not all point a finger at the “business” boogeyman who doesn’t understand coding is creative without acknowledging that many programmers today are right there with them.

> The current state of interviews tells me that a lot of programmers prefer to think of it as software “engineering” rather than as a craft or trade.

Engineering (things) is a highly creative activity.

(EDIT: See also the comment https://news.ycombinator.com/item?id=42893523 where drewcoo gives arguments for a similar statement).


Cool, okay. Nuance matters, I agree.

Nuance also demands we point out at the businessmen who can't discern one programmer from another. Different people thrive in very different environments and this is, 99% of the time, ignored.


>businesses will still not grasp the very simple fact that often times programming is both engineering and creativity

The solution (if there is one) is for the engineering/creative type to make and run businesses. Easier said than done.


Indeed. That's a gross understatement even.

And I'd argue that former nerds turn into predatory CEOs just fine, given enough time and money, too.


Well, it's true that money/power generally corrupts people, but the vast majority of nerds are sociopaths (a fact, as far as I'm concerned) to start with, which normally does not manifest in their daily lives because they are heads down involved in their technical craft 24/7, it comes to the fore (predatory trait or otherwise) when they assume top positions in the hierarchy.

Then I think there is also the relatively rare situation of assumed, sociopathy when one realizes that the vast majority of their subordinates (or in general people) are a pretty sorry lot, if one where to peel back the veneer of civility and virtue signaling. I suspect that at least some successful technical founders of large companies fall into the category.


Everything is creative. Even efforts to convince people that there are not creative and that there are replaceable cogs in the system as to be permanently be renewed without what the illusion will call apart far more quickly than the illusioner can have the impression to benefit from it.

Universe can make its creation rhyme in our mind, but it creates every moment as a unique new distinct performance.


UI/UX staff are also generally pretty good at establishing and defending a creative beachhead in organisations.


I think it's the lack of trust in employees that companies want to increase utilization as much as possible. It's like if employees are not working on assigned work, they would not do things that benefit the company in any way.


It has also reduced quality and the incremental improvements intended to happen during 'slack' time.

Pretty much why people hate Agile, what most people got is a poor mixture of Taylorism and modern organization design.

But hey, the Tableau viz looks good in the meeting!


The major enterprise agile methodologies such as Large Scale Scrum (LeSS) or Scaled Agile Framework (SaFE) explicitly state not to do that. I've seen agile done well, but of course many organizations with incompetent management fail to implement the documented best practices.

https://less.works/less/principles/queueing_theory


I wish we would see more developers embrace desktop native apps again. We have such powerful machines, only to use them as glorified dumb terminals


It's fascinating to see so many folks out there supporting web apps, because I personally don't like using them. They're fine for tasks I don't care about being pleasant, like, say, quickly buying something online.

But for anything I consider work, that takes toil, like writing, editing media, or programming. I'll avoid using web apps, these tasks are hard enough on their own, I don't want to make them harder by using software that, to me, lacks joy (due to it not hitting my bottom line in performance, reliability, or even beauty). I just hope enough folks out there continue to appreciate native apps, because I think my continued joy at being in tech depends on it.


Native apps don't offer deep liking and bookmarking. You can't easily open multiple instances of the app in multiple tabs. Your data is usually tied to the specific devices you are using. Unless carefully designed, desktop apps might not be responsive or adaptive to various viewport sizes.

I know native apps are likely faster and use the full capabilities of he device, but the advantages of web apps are too many. Also, web app failing to inspire joy is a indictment of developers who don't care, not of the medium itself.


All these depend a lot on the app in question.

Native mac apps for example get a whole tabbing system for free so long as they support multiple windows (and most apps that one might want tabs in do). Deep linking is not difficult to implement in native apps and in fact some do.

As far as tying data to devices goes, with the exception of apps built around databases this is usually trivially changed by placing the data in question in a folder synced with SyncThing/iCloud/OneDrive/etc and most importantly gives you the choice, whereas many web apps will happily keep you pent up in their cloud with little or no capability to export full-fidelity data.


> Native apps don't offer deep liking and bookmarking. You can't easily open multiple instances of the app in multiple tabs.

Sure they do, and sure you can. It's up to developers to support, but it's certainly doable.

I think you hit the nail on the head in the subsequent sentence: native apps need to be carefully designed to compete with web apps. No one cares enough to do that.


> Native apps don't offer deep linking and bookmarking.

Sharing files is trivial, and just putting files in a folder is the file-native to find something again (i.e., bookmark). Personal preference whether one of these systems is better or worse than the other, personally I'd just call them different.

But I would specifically callout collaboration on a single document as a strong suit of web apps. E.g., two people editing the same document (like a Google Doc) is pretty much the only task that I'd prefer a web app for. Also referencing a single specific line in a document. Again I use web apps for doing that (e.g., find the exact line number of some code on GitHub to share), but I can't say I enjoy the process.

> You can't easily open multiple instances of the app in multiple tabs.

I'm mainly talking about desktop apps, which today almost always support multiple windows and/or tabs.

Might be missing what you're getting at here, are you talking about mobile apps? I'm pretty sure iOS also supports multiple instances of apps, but I don't need this functionality often enough myself to care. Again, maybe I'm missing what you mean here?

> Your data is usually tied to the specific devices you are using.

I don't think this has been problem since the first release of Dropbox in 2007? Again I might be missing something, but native apps are either file-based in which you can easily sync the file, or are a front-end for a database, in which most apps have a way to sync across devices? Syncing is kind of table-stakes for apps these days.

> Unless carefully designed, desktop apps might not be responsive or adaptive to various viewport sizes.

I'd argue this is more of a problem on the web than desktop, a well-designed desktop app will enforce a sensical minimum window size, whereas in my experience most web apps absolutely fall apart when you shrink them too small.

> Also, web app failing to inspire joy is a indictment of developers who don't care, not of the medium itself.

I don't agree with this type of reasoning, i.e., I don't look at a technology and say "there's nothing stopping it from making great software!" Instead I look at how great software is being made, and then prefer that technology. At the end of the day the only real proof that great software can be made using a technology is the great software itself.


Does Visual Studio Code qualify as a desktop app?


Visual Studio Code is an interesting case study. I don't know how I'd categorize it.

In the past I've noted how absolutely glacial it is with some tasks, and it's baffling to me how this stuff doesn't drive folks insane (much like the enjoyment of web apps is baffling to me), I guess people just care about different things:

1. It takes nine times as long as Vim to open a minified JavaScript file, and then format it with Prettier: https://twitter.com/robenkleene/status/1285631026648276993

2. It takes 14 times as long to open an empty text file than BBEdit: https://twitter.com/robenkleene/status/1257724392458661889

(Note those time trials are years old, this may be different now.)

But even though VS Code is objectively slow for some tasks, I would still categorize it as extremely high-quality software. So at the end of the day, I don't know. VS Code isn't for me, but I'm not confounded by it having fans the same way I'm confounded by web apps in general having fans.


I don't. I hate installing, and I hate both apps and data that are tied to a single device.

I like the security model of browsers, and I like using browser tabs to organize my apps like Gmail, Docs, etc.

And webapps can use your CPU and GPU just fine. We have such powerful machines, but checking your email isn't going to use that power regardless of whether it's a desktop app or a webapp.


> I like the security model of browsers

What security model?

Relying on a third party cloud provider for your secrets is the opposite of a security model.

If you are talking about the browser sandbox, then it helps nothing with keeping your data secure from actors you dont realize are bad.


> Relying on a third party cloud provider for your secrets is the opposite of a security model.

Why? If you encrypt your data, it doesn't matter where it sits. And if you don't, then there's not much difference between the government getting the data from AWS or them seizing your laptop. And a non-state actor will probably find it much easier to steal your laptop than to get access to your cloud account.

> If you are talking about the browser sandbox, then it helps nothing with keeping your data secure from actors you dont realize are bad.

Of course it does. My tabs from different domains can't steal data from each other or from the rest of my machine. The desktop applications I install can.


1. Easier to keep one program update. i.e browser. use firefox (or its nerfed clones) if you hate Google or Apple

2. For any decent software it needs update. Even most opensource tools are hundreds of MB. For example, a school teacher in Zambia does not need to download digikam or okular or notepad++ or ffmpeg every week to get security updates.

> it helps nothing with keeping your data secure from actors you dont realize are bad

Once you enter that then you have only https://www.raptorengineering.com/ and using terminal.


Not saying updates aren't necessary, especially security related but I loved we slowed down with the pace of updates, many times forceful updates that brake things that used to work. Many times users no longer have the latitude to make the choice when to update. They also brick devices that can't take up their updates rendering them obsolete. Updates aren't something inherently bad but they're being used in evil ways with no resort from users other than leave.


Even if it is every 6 months one program is easier to update and control than different ones. Usually even if Ubuntu or Windows is never updated - download and updating firefox is stable. Nothing fails. But if one thinks something like KDE or digikam or other complex tools - it updates 200 libraries that eventually lead to some f'kup - either unusable or driver conflicts in case of Windows.

This brick/EOL is a different issue but common man benefits from simplicity. Yes, environment is trashed or software obsolescence - but yet - most of them buy a new phone or device every at least 5 years (of course, I am talking within my circles - there may be people at different ends).

I used to buy expensive nexus phones. Then I realised I use only WhatsApp and Banking. Now I buy cheapest Motoroola for $100. Works fine. Become EOL in 2 years as they are bad in updates. Get another one for $100. Latest OS.

Instead if one spends latest pixel flagship for $800 - no benefits.

> Updates aren't something inherently bad but they're being used in evil ways with no resort from users other than leave.

Yes there is no resort but people live in real life. They need banking, recent cool apps etc. Some could live like RMS and not use anything modern or use Terminal but most people don't.


> Easier to keep one program update. i.e browser.

You must be relying on inferior update mechanism. This is a solved problem since long with a central package repository as you will find in most linux distros. On windows you have scoop, chocolathy and winget (from microsoft btw) attempting something similar, on macos there is macports and homebrew.

> Even most opensource tools are hundreds of MB

Even if this was true, and it isnt, I dont think you realize how heavy most web pages are today. Those hundreds of MB is used up fast, while the offline app is still there.

> For example, a school teacher in Zambia does not need to download digikam or okular or notepad++ or ffmpeg every week to get security updates.

Agreed. Noone needs to do that. If you are concerned with security, then you should also learn to understand your attack surface. Otherwise it is just FUD.

Example dont feed ffmpeg with unknown files in a uncontrolled fashion. You should understand that the videos you recorded yourself are safe and wouldnt need the very latest update to be processed.

> Once you enter that then you have only https://www.raptorengineering.com/ and using terminal.

What, no. Using normal offline apps is all it takes.


Fortunately for you, the world as it currently exists is well suited to your preference!

It is less so for those of us who would prefer more control over our machines and our data.


I understand why scrappy startups like Electron, but it's astounding that companies as large Spotify and Slack won't shell out for a couple of Windows/MacOS native developers.


God how I hate Electron apps (nothing against Electron itself though)... People don't appreciate how much it means for example, for Mac users not seeing the rubber band effect on scrollers, let alone everything else feeling just unnatural and sloppy. You are immediately transferred back to the 1990s. Why should I care that some big fat corporation wants to save pennies on native app developers?

I can forgive a free and open app running on Electron (hello, Signal), but never a commercial one, full stop.


What difference would it make? The macOS app is fine as far as I can tell.


That's only after a tremendous amount of effort, with high CPU and mem utilization to add to it. The potential with native (at least on Mac) would be much higher.


Don’t give them any ideas. All it needs to do is stream music.


90% of users don’t know about activity monitor lol


Slack is slow and bulky. It gives Teams a run for its money which, not surprisingly, is even worse.


Slack is perfectly fine on any machine I’ve used it on in the past 5 or so years, I honesty don’t know what you’re experiencing or expecting.


Please define "fine"? There is always a very detectable lag when switching between channels and/or DMs. Always. Not a single exception.

There's zero technical and human reason for allowing that to continue. The visible-on-the-screen messages are cached and you can, you know, just get on with it by painting the whole thing on the screen right away.

It's "fine", he says. "Fine"...

[grumbles under his nose, annoyed, and ventures into the far distance]


Electron can be done well when treated as any other Desktop UI framework. VSCode is probably one of the only examples of that. I think the bad reputation comes from lazy wrappers pushed out to tick the "Desktop app" box, which are the unfortunate majority in my experience.


Well you kind of debunked your own first point: while we theoretically can have very fast and responsive Electron apps, the fact of life is that we don't; they are a vanishing minority.

What "can" be done is kind of irrelevant. What's much more important is what metrics would the default (or lazy as you called it) way of doing things with framework X or Y net. If the defaults are a slow and laggy app then that's what 95% or more of the using apps will be.


I made no point about the state of most Electron apps. What I mean to say is that rather than pivot to a native toolkit, businesses could prioritize improving their use of Electron. These days most of the UI world is focused on web. Using well-established and widely understood tech brings a lot of benefits.

Not to mention that desktop UI development is just unpleasant. I say this as someone who would really prefer that not to be true, it's just that in my search I've been disappointed. You choose between a number of imperfect "cross-platform" frameworks (and deal with their licensing), or maintain native code for several platforms. Creating custom "widgets" often requires you to start at the drawing API level and have a deep understanding of the framework.

I am keeping an eye on Avalonia, though. The tooling wasn't quite there yet when I tried it.


The part where I get frustrated in a similar manners as yours is that while yes businesses could prioritize improving their use of Electron, they never do.

:(


I'd say they would need at least 30 people each to support windows & mac native apps. Especially considering all the extra overhead having multiple codebases introduces. Maybe more than that.

Edit: Just to clarify "need" is in the context of working in a big company on a complex product. These products are a lot bigger than they appear.


According to the latest public information, Slack has 2,545 employees and Spotify has 9,123.


How many are swe however?


They have thousands of devs and I am pretty sure a good chunk of them are only resting and vesting.

They absolutely can allocate even 100 in total.


Tangent but the original spotify gui was about 1mb download and blazing fast. In no small part because of the original author of µTorrent (and ScummVM) had a central role. [1]

Spotify the company only moved to a electron remake later, I can only guess because it was hard to find more quality devs.

People might not remember this, but µTorrent used to be amazingly snappy too before it got bought and shovelwared.

1: https://en.m.wikipedia.org/wiki/Ludvig_Strigeus


I’d argue that desktop native is also the most likely to introduce system breaking bugs, viruses, and malware. A web app is much safer from these types of issues.

The result is people can use more efficient terminals to do most of what they need. And the powerful native machine is available when that extra power is justified.


That's because the web browser is a sandbox. We have sandboxing technology for native apps.


What is a cross platform sandboxing technology for native apps?



These clearly aren't comparable to the support of browsers. I know this metric isn't really an important signal, but they both have under 500 stars. If I'm a business evaluating whether to build my cross platform experience either on the web using the sandboxing of browsers vs smaller frameworks like this, it's basically not even a choice.


At work I've introduced various in-house tooling based on Dear Imgui and people are just blown away by how fast everything is. "I didn't know computers could be this fast and responsive". I say, well just think about the fact that the machine at your fingertips can do billions of calculations per second and it shouldn't be that much of a surprise really.


If I had a dime for every web framework... We need better desktop api's. It's hard enough having to abstract nuances of linux/unix vs osx and the like. A better, more robust, desktop framework is needed (and no, not just another web framework on top of it because UI is hard).

Less Electron's, more OpenGL's - Less XML and more Swing (just not swing, plz).


Sure, but learn from why the Electrons of the world are winning. It’s because browsers are already what you would get after reinventing the wheel all the way to its logical conclusion— a highly customizable, generic application runner. Let’s not throw that away and make an Nth new thing. HTML/CSS/JS are good enough abstractions with great implementations, and it’s easy to build applications against this. Portability is already solved too. Yes, we can do better than shipping each application with an embedded web browser executable, there are huge jumps being made all the time with native web view frameworks. Personally, I think the ship has sailed on making the “perfect” framework, let’s pick the one that’s already winning and make it the best we can.


Electron/web still has the glaring issue of its primitives being, well, too primitive. They’re great for documents and lighter “web 2.0” apps but have a long way to go for the purposes of replacing full fat desktop UI frameworks.

This is actually a big factor in why web apps have the perception of being bloated. Basic widgets being missing means that everybody and their dog has their own custom implementations, nearly all of which are somewhat slapdash in nature due to speed of implementation being prioritized over quality. They never meaningfully improve either since there’s little sharing of efforts, with everybody instead preferring to reinvent wheels for themselves.

If the platform provided a more robust set of widgets, much of these problems would go away since devs would be using those instead either as-is or with light cosmetic customizations. Over time the browser implementations would get better and all users would benefit with more performant, less buggy apps.


This is what I've been saying for a long time. HTML remains too primitive in its support for rich UI apps.

The main problem I think is what you have identified: we need sophisticated composable widgets with practical and sensible defaults, that are also really customizable with scoped CSS, built right into the browser. This alone would be the biggest QOL improvement as far as web development goes, in several generations. I really don't know why this is not the highest priority for the W3C


The only reason I figure that it hasn’t been prioritized is that it’s not flashy or sexy and has zero gee-whiz factor.


Right, that’s what I’m getting when I say this:

> […] pick the one that’s already winning and make it the best we can.

I agree, it can be much better. Tons of incremental improvements have been made, and should continue being made.

I too would like to see browser close the gap completely, supporting everything needed to build real applications, not hacked together applications that accidentally work. We seem so close…


Telegrams desktop client[0] is native (C++ with Qt) and it's a joy to use. I don't want an Electron chat app.

[0] https://github.com/telegramdesktop/tdesktop


Browser based apps are better than ever. As a developer who has delivered applications on CD-ROM and downloadable installers, I do not have a strong desire to return to these times.

Browser-based word-processing and spreadsheets pretty great. I love VS Code. The multimedia capabilities of browsers are pretty good and up to the tasks I need them for.


OK, I still want instant switch between separate chats in Slack though, not this 1970s-like 1.5s laggy slow transition on a machine that can scan ~300K files in the same 1.5 seconds.


Couldn't agree more. If anyone is thinking about writing fast, safe, cross-platform GUI apps, I'd encourage you to try iced. It's a breath of fresh air

https://github.com/iced-rs/iced


I am trying iced based on this recommendation. Thanks.


One of us, one of us! Happy to hear it!

If you're on Discord, it's a pretty active community and I'm pathologically online helping newcomers


You know, I go back and forth on this a lot these days. I have a a couple of high power machines across operating systems and I find that, lately, I barely trust installing a downloadable application on them anymore. Installation instructions have sudo commands everywhere, on windows everything wants to escalate to admin rights for the installer, etc.

At some point applications completely broke my trust, and the OS manufacturers failed to protect us, and now we're all paying for it with inefficient garbage everywhere.


I have similar suspicions towards unknown web apps, because even with how good browser sandboxing has gotten it just takes a single click or less to set off a nasty chain of 0days.

For native apps, I treat non-obvious need for sudo or admin priveleges as a smell. The way everything on Windows needs admin is actually one of the reasons why I don’t use it for anything but games.


Interesting - I perceive web zero days to be substantially more valuable than desktop ones at this point, and unlikely to be wasted on me.


I wish operating system developers would make developing using their native UI systems not a pain in the ass and actually be competitive with the web as a platform.


I, a php/js web developer, have over the past few years launched and maintained a C# .NET app and can testify that the experience has been overall pretty positive as somebody that had never even launched visual studio before except for playing around unity and doing some tutorials.

And I say this even after the adventure of trying to decipher whatever Microsoft is doing/going with their 4 or 5 competing frameworks and SDKs.

But I still find huge value and love a good web app whenever what you need doesn't really need to be native which was not my case.

There will still be uses for native apps for a long time IMHO.


Issue with desktop app is doing updates, pushing updates/hotfixes to all of them and then works for some and not for others, instead of webapps you only update the host and test on different browsers. thats all.


If you say so. Telegram for example updates in half a second on my Windows gaming machine, and having a daily update script on my Mac and Linux machines is easy as hell.

Sure many people don't update like ever, but Apple's and Microsoft's app stores do updates without asking people anyway (they learned, finally).

Not such a big problem as you make it out to be IMO, even for very casual non-technical users.


Me too. Web-based applications are a compromise that I dislike a lot.


People use their phones much more than their laptops/PCs. Think it boils down to supply and demand.


the lack of proper tabs / multi instance support for many desktop apps makes me hate them. the possible quality range of a desktop app is much bigger than that of a web app, and given normal distribution of developer skill levels, i'd take a web app over a native app.


For a user, I get it. As someone who manages 1000 users... web apps are amazing.


And yet we all want to be multi platform, and that with native comes costs.

I get it, I work with some multi platform apps and I just don't want 20 layers between me and the damn device and some crazy build process ... I hate it.

But I can't argue that going native everywhere isn't it's own hassle.


I sympathize with small companies in this regard. But those like Microsoft and Slack have exactly zero excuses.


One of the reasons Rails happened in the way it did was due to many non-coders embracing it early and questioning why programming for web had to be done the way it was ... you would meet people at early Ruby events with background in arts and such ... many of which went on to succeed massively and ended up having to retrospectively get deep into classical CS theory to deal with performance challenges


> Developer Advocate, Figma

If this person wants to advocate for developers they should stop giving their labor to an organization that wants to replace us all with robots.


Things just havent been the same since Jacquard's loom


If a mill worker encouraged fellow labourers to work for free for the factory owner who was actively replacing them with machines and a handful of low skilled, powerless and badly paid workers, that worker would be considered insane.


Is it possible to be a developer without doing some form of that?


Coming from Figma this article feels like a poorly veiled plea for customers, disguised as thought leadership.


Self awareness is a virtue.

A super majority of developers are engaged in labor meant to replace non-developers with robots. We shouldn't really complain when the reaper comes for us.


Famously: first they came for X... and then when they came for me I didn’t complain because that would be cringe and hypocritical.


It's more like:

first they came for X, and I helped them disappear X because they gave me a share of the money X was making and it was good money for me! ... and then when they came for me I didn’t complain because that would be cringe and hypocritical.


If you think mincing words is fun.


You seem to think it is fun.


What is your proposed remedy?


Socialism.


Exemplify?


A single transitive verb is not a statement.

Automating jobs is only a problem under capitalism because a minority owns the means of production.


A single verb, while technically not a complete sentence, can be made into a question by adding a question mark. And it was intended as a rhetorical response to your single word statement.

Anyway. Socialism has failed in many/most places mostly because of power, corruption and lies.

What makes you believe your version will succeed?


> A single verb, while technically not a complete sentence, can be made into a question by adding a question mark.

A transitive verb requires a direct object.

> And it was intended as a rhetorical response to your single word statement.

It’s a perfectly well-formed, complete answer. The haters know what it means, the lovers know what it means. Everybody else can use Google.

People who then ask for a completely general followup (at least as it pertains to this subtopic) instead of a more specialized question most likely aren’t really wondering but just want to fire back with their talking points.

> Anyway. Socialism has failed in many/most places mostly because of power, corruption and lies.

The power of whom? Maybe the US? That invaded Vietnam, that split up Korea and bombed North Korea, that tried to do a coup in Cuba, that intervened in the political process maybe 40 times in Latin America.

Yeah, the power of capitalist imperialism is a huge problem for socialism. Maybe unsurmountable.


Thank you for your explanation!

I still believe you gloss over the terror all the countries you list have caused to the population.

And it can not all be blamed on imperialism and "other states".

I come from one of the "middle ground" countries (Sweden) but much of the remaining state ownership and planned economy was wiped out in the 90s when we had an economical crisis.

(And if you want to nitpick again, the last paragraph was not a statement only an observation)


I gloss over the terror? It is not normal for anyone to start to go over the supposed terrorism (EDIT: terror) of nondescript countries when that topic has not even been brought up.[1] In turn there has not even been a chance for me to gloss it over.

> And it can not all be blamed on imperialism and "other states".

Concerns such as these can apparently be set aside with the mere use of scare quotes. But it is perhaps understandable. Even politically high-ranking Swedish individuals that criticize imperialism can get bodily hurt, as history has shown.

[1] Unless one is supposed to do that as a matter of course when advocating a political ideology like capitalism or socialism.


> That invaded Vietnam, that split up Korea and bombed North Korea,

Note. The split was done by the Soviet Union and the US.


I don’t get the reference, is this about LLMs?


I fail to understand what new idea is the author trying to convey.

Can someone please help me figure out what I'm missing?


It's a reaction to how so many new websites are just Wix or Squarespace templates despite all of the new capabilities our browsers have gained; they appreciate how much more accessible web development has become while bemoaning the cost to creativity and expression that came with it.

The article links to examples like https://lynnandtonic.com/archive/2019/ or https://optical.toys/ (I personally am quite fond of https://acko.net/) which, though their site content could be expressed with templates someone else built, it's conveyed in a more interesting or more useful way because of the thought and care put into effectuating the intended design as an interactive work.

I think one weakness of the article is that it doesn't draw upon the rich history of how creative coding has enriched everyone's coding experience. Cracktros turned into demos, demos turned into the demoscene and also into the early video game industry. Early Ruby and Arduino communities, flush with artists, became testbeds for all manner of intersection between art and software while also pushing the boundaries of what the tools were capable of. But ultimately, they're right. A handcrafted site making full use of browser features is just not something you see very much anymore.

Of course, it's not everyone's cup of tea. I'm not surprised about the dismissals elsewhere in this thread. Some folks just want to get their work done, and that's fine too.


Basically people should do more digital art that involves "coding" where coding means "using HTML, CSS, SVG animation etc" rather than necessarily software development.


I was expecting something more grandiose but your explanation is good enough.


To creatively code one must first in fact code. I went deep down the IDE->AI rabbit hole. They are amazing tools. However, I have settled into a bare-bones Sublime Text editing flow, wherein I pop into IDEs/AI as needed for one-off items. I am really enjoying it. Oh, I hit a snag? Well, let me think about it for a moment and then if I'm really stumped or need a second opinion I'll pop open Cursor.

Creativity is odd in that it is somewhat revelatory: it seemingly comes from outside of you. At least for me I need to minimize input (e.g. reading docs, AI chat, etc) in order for this revelation to "manifest" in my mind. I don't have the self control to "pause" in Cursor or other IDEs, so I use Sublime to truly read and wrestle with code.

N.B. this isn't some fanatically held rule...I'll do a whole session in Cursor if I know the task is appropriate for it (e.g. something that is mindless).


This is in line with my perspective that writing as a form of self-reflection and thinking out loud is underrated. Likewise, programming as a form of thinking out loud is also underrated.

For complex problems, I find that it doesn't matter how much planning I put into the task, I always find shortcomings in my initial logic and imagination once I get into the details and get involved in countless micro-decisions. Personally, I'd prefer thinking out loud through a programming language vs countless back-and-forth with an AI.


I know no one here wants to talk about NFTs and crypto, but the generative art NFT space has been home to some really awesome creative coding. Specifically the Tezos chain. Fxhash.xyz verse.works Feralfile.com Artblocks.io Objkt.com Highlight.xyz

These are all spaces where creative coding took off in 2019-2022. The scene has died down a little, but that also means that the people who are still active aren’t just hopping in on a fad. A lot of the artists are people you might already know by name: Kim Asendorf, who created pixel sorting. Casey Reas, who was part of the original team that created processing. Karsten Schmidt, who made the wonderful open source library thi.ng. There are a lot more names and things to say about this but IMO the only reason people feel like creative coding is dead is cause it started using NFTs and crypto, and they all promptly ignored all the great output these artists had.


> it started using NFTs and crypto, and they all promptly ignored all the great output these artists had.

I know I did. The whole mess really opened my eyes to how vapid much of it really was — how little “art” there was present in the creative output.

As an aside, I’m hoping to one day see an exhibition of actual code (not output) that can be read as art. I only know of a few examples, but maybe some day.


There’s an artist named Piter Pasma that prominently displayed his code as part of the art. He made a lightweight ray tracing algorithm that uses SDFs to draw anything from any perspective. His ray tracing algorithm is only like 400 characters or something so he released it alongside the art.

Here’s his site: https://piterpasma.nl/


I'm personally kind of anti-NFT myself, but I have to admit I do like the generative art NFT scene, especially back when Hic Et Nunc was around and people were selling fun little things they made for the equivalent of $5 of TEZ.

To me the thing I hated most about NFTs was the unbridled greed and opportunism, people trying to get rich quick by making bad pixel art or stealing other people's art as their own, so it was really refreshing to see a community of people making things fun things and selling them for dirt cheap, and seeing other people buy said things simply because it was kind of fun.


HEN was popping. Those were the fun days lol


I'm not going to say that this isn't creative coding, since that sounds elitist. What I will say is that this is a very shallow interpretation of creative coding.

With very little learning and modest effort you can make very fun 2D art pieces with p5js. If 3D is more your jam, there's three.js. If you hate web dev, there's countless other creative coding libraries and frameworks for whatever language is more your speed, such as Processing for Java, or openFrameworks for C++, etc etc.

But they're not talking about that. Instead they're talking about new browser features like OKLCH and container queries.

Which to be fair they've given some very cool examples of people using browser features creatively, but otherwise these features (or lack thereof) were never the bottleneck for my creativity. The real unlock for me was learning a lot of math, things like simple linear algebra so I can do otherwise complex transformations across a scene, or learning the underlying mathematics of bezier curves.

Like, this is a sanitized, corporate perspective on creative coding, but then again I'm not sure what to expect. This is a Figma blog post about career advice more than anything else.


I believe the author also means “unconstrained” and “personal” when he calls for more “creative” coding. How else can we play with these technologies and push the limits if we also have to fulfill a business case and ship by EOD? I agree there’s a lack of “let’s see what this crazy browser thing can do” projects out there.


This is such a funny post to see. As if programmers decided to capitulate to shareholder demands and layoff a ton of us (masking it as over-hiring, raising issues, interest rates, etc) or push for RTO.


To be honest, I'm getting tired of being told what I should do.

Learn a new framework? How about a new language? Start a side project? Turn my side project into a side business? How about brush up on my AI/LLM knowledge? Let's not forget to leet code in between, to stay fresh and ready. And also, if you're dissatisfied working low level, try high level. If high level, try low level. Aren't you falling behind?

I empathize with the message. I remember when :hover and rounded corners first came to CSS. I would love to enjoy spending hours fretting over those very minor details again, without caring at all if anyone ever sees it. But aren't tech companies and tech culture what is draining the creativity out of us while demanding more and more of it in the first place?

I mean, what's the point of doing anything for fun if you can't turn it into a bonafide side project that becomes a start-up so you can escape your local-or-fired corporate hellhole?


Does the article really talk about creative coding or just more unique design?

In any case, creating creative websites is nice as the creator. But visitors have a need that they want fulfilled. They don't marvel at websites, they just use Amazon.com because it has everything, not because it had colour gradients.


There is no multiplayer creativity, there’s only the holistic experience of it. Figma killed creative coding.


counterpoint: when you visit a site, do you want to be surprised and delighted, or do you want something predictable you already know how to navigate? Or perhaps I lack the flare to spot that as a false dichotomy


I was thinking the same. The author makes a great point when it comes to a portfolio, but most of the work I do is for corporate clients for example. They value efficiency and ease of use (I.e. predictability) of a ui/ux solution over any creative outlet. I don't think I should start doing more of that.. I'll be out of a job pretty fast


I miss Flash too


There's nothing stopping creative coding. Sites like Neal.fun, packardbell95.com, and Dwitter.net come to mind for examples of sites that make more use of what browsers are capable of


Re creativity, Tailwind is an interesting social experiment of sorts. To be clear, I love it! But it does provide a window into how humans interact with creativity. I recall first coming upon Tailwind after Bootstrap had thoroughly saturated the market and we could all name at least 10 bootstrap-looking sites. Then, suddenly...Utilities! Wow! Unique looking nav bars! Now I can make my own button! But then...fast forward five years and there is definitely a "tailwind" style that has coalesced via the "hot" players/designers (tailwind itself, Vercel, etc).

Even with a tool that should foster creativity we often gather around something familiar/known. That makes perfect sense psychologically and I'm not here to say that that's dumb. For example, I love creativity but detest modern architecture as it strays too far from the "known" and becomes meaningless. I need to know where to look to find a bathroom for goodness sake.

I guess my point is that a tool that allows for or even fosters creativity does not by any means actually result in said creativity.


The author seems to be conflating developers and designers (or perhaps I'm out of touch and most developers consider themselves designers now?).


It literally says "...coding aga", and there is huge m/f consent cookie banner highlighting the irony.


Although Figma is not the worst offender, looks like billionaires siting in Davos we should consume less resources and be happy with "owning nothing" because the World is at the brink of collapse so "everyone needs to go back to the basics"

Figma is a ( good ) tool, but immense it reads a bit like Smith & Wesson telling us we need to kill less.


Nah.... AI made them obsolete.

! Pun Mode On !




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: