Return of the IDE?

Published on

Does Figma hope to be a low-code or no-code dev tool? My impression is yes. And I think it is somewhat achievable, …for simplistic use cases at least. https://www.bekk.christmas/post/2023/7/figma-paradox

The dream of the 90s (Dreamweaver) is alive in Portland Figma

”Real” web developers often hated on Dreamweaver, and once Dreamweaver got shamed out of existence common use (not entirely unjustified shaming, of course) design focused folks moved on to just handing off Photoshop files. This was… better?

Visual Basic also went away, well, at least again most “Real”TM software developers moved on to other methods.

Apart from some WYSIWYG editors to control some compartmentalized blog content in a limited way in a Wordpress site, IDEs for web development sort of just faded away for a long time. (wellll… does Flash count?)

And in that time?!… IE died, Flash & and Java web applets too. CSS and HTML standards matured a LOT, components on the web became a thing, and then also became a standard! Working with components is often compared to building with legos, and there is truth to that, but also we now we live in a world were React/Vue/Svelte have Components, and then there are web-components, and then there are figma “components”, and they all have a bit of overlap, but also huge differences, and that isn’t confusing at all! To carry on the Lego analogy, React components and web-components are like incompatible brands of blocks, and figma is like 2d pictures of 3d legos, and building with paper pictures of legos is not the same as building with actual legos in so many ways. But, if you’re building a static type website, which plenty of sites are, then maybe it is a good enough facsimile.

Side note: I’ll admit, be it from old Photoshop web design trauma or whatever, I have a visceral reaction to “can we make it match the design” type comments that want to treat Figma or tools like it as a sort of source of truth for an interactive, dynamically scalable, web UI. maybe I am just a curmudgeonly old guard web developer now.

Even as I shake my fist at the cloud, I can see the empowering appeal of Figma (or a tool like it) as a web IDE. Who wouldn’t want that! Additionally, optimistically speaking, a tool that fits that spirit / goal seems a lot more possible than it did back when page layout was still done via HTML tables.

On the other end of things, a surprising amount of business development happens in spreadsheets!

🔥take: Excel is closer to an IDE than what most engineers think of as an IDE. Especially with it incorporating Python scripting!

Why does a certain segment of users always want to export the data to get it into Excel? Simplistic answer: Your web app is not as good for their use case as their IDE!

I have started to think of it as somewhat similar as web based code editors, Many of them are good, and amazing technical achievements too, but no matter, as a developer if I am doing any serious work I want to use my own “IDE” and my motivation to master all of the idiosyncrasies of whatever brand web code editor is very low. Sorry, not sorry.

Okay, so been throwing around IDE, so let’s consider what are the crucial parts of development that an integrated environment … integrates? Using Excel as an example:

By those criteria Figma actually falls short of the IDE for anything that isn’t on the order of a brochure web site, and it is hard to see how it can fill that gap without becoming something completely new.

Excel leans towards data oriented use cases, obviously its IDE emphasis is the DB.

Figma leans towards graphic design, obviously its IDE emphasis is visual presentation/layout, real data though? not that I know of unless the only data you need to consider is something like basic website copy and a few images and icons

But in any case Figma and Excel are not the only entities aiming for a return of the truly useful IDE!

But before I move on to the new crop of IDEs I feel I have to make a note about modern web developers tools that also sometime will get called and IDE. To be fair they do integrate a slew of tools, but VsCode is less of an IDE than Figma, at least by the definition I just outlined! Zero visual design component! I guess you can count JSON files as a DB of sorts, and unless doing something simplistic like github pages, no deployment of it’s own. It’s a text editor with plugins, really, which isn’t to knock it, but we limit our own imaginations if we think of this as an IDE. Lest I digress into a swirl of semantics I’ll just make one more point on developer’s use of the term IDE. At least IntelliJ and Eclipse are legitimately into the IDE category, that is if you are doing Android or Java Swing development, but do most developers even use those aspects??!! The thing I have seen them most used as integrating is a debugger and compiler on top of text editing.

Some New (and not so new) IDE innovations

tlDraw with AI assist to bring drawings to life https://makereal.tldraw.com/ - cool, but mostly a toy. Not sure it is aiming to be much more than that. Still, cool!

Square space site builder etc… (https://www.squarespace.com), web WYSIWYG to next level, but completely non-standard, proprietary stuff. I mean you can deploy to the web, but only Squarespace’s corner of it. Probably a couple dozen other web site builder “IDEs” out there.

https://www.builder.io/ - looks to take figma to a next level IDE from what Figma itself aims to do in expanding to actual deployment, where figma sort of stops at the component code export. However, as far as I can tell, doesn’t fill in the other major gaps of Figma as mentioned above.

Rive https://rive.app/editor - an IDE for animations, which is very similar to what Flash was. Not meant for full on business applications, DB is there technically, but appears to be limited to a cache of graphics or scripts to drive animation

Swift UI https://developer.apple.com/documentation/swiftui ? a sort of modern Visual Basic! with a nice modern language (Swift) the really big “but” is that this is purely for Apple platforms :( ubiquitous deployment is a pretty crucial aspect of the value of an IDE, and for certain target audiences Swift UI might meet that, but Apple’s very walled garden leaves many people out, not only does it limit users but developers too have to rely on Apples approval to even distribute their software - a huge liability for any serious business.

Delphi https://www.embarcadero.com/products/Delphi - Stuck with a problematic and difficult programming language (C++), being and tied to expensive proprietary tools, and omitting the web as a software distribution target are all significant limiting factors. The mobile revolution really probably hampered this class of IDE (java swing being the other big one that comes to mind). Initially, mobile platforms were not viable targets for these sorts of cross platform IDEs, then they were, but still, for a long time apps from non-native tools were fairly obvious 2nd class citizens - a situation that has improved, but hasn’t completely gone away.

The most holistic engineering focused effort to get a modern IDE that I know of https://makepad.nl/ - the video linked from their home page is a significant inspiration for writing this. Honestly it ticks all the boxes except for a level of maturity and adoption that probably can only come with a larger team, including a marketing department, and of course, a bit more time to flesh it out.

I am going to just embed that here, because if you read this far you should probably just watch that. Maybe it can make some things click that my poor writing skills cannot.

https://jupyter.org/ is also an IDE, but its focus on data and de-emphasis on graphic design makes it not an appealing option for a big segment of potential IDE users. Additionally an IDE that can only develop for its own special contained runtime really doesn’t meet a distribution model that everyone is accustomed to (office documents file formats being a notable exception). This is reminiscent of how adobe Air/actionScript apps were always limited. Jupyter has a niche Adobe apps never did, so I don’t see it dying off in the same way, but it’s hard to see it breaking out of this fairly limited niche.

Game development IDEs. … So many, and I know so little. Many of these are real IDEs though! Games are big business, but somehow I haven’t seen these IDEs used for “serious” business development. This feel worth exploring or looking into, but, not by me, not right now at least.