255 comments

[ 3.4 ms ] story [ 263 ms ] thread
You have no idea how much this means to me <3
1. Instantaneous startup. 2. Simple, familiar GUI. 3. Automatically saves file locally, files can by loaded by url.

I wish more webapps were like this.

I haven't used Windows as a primary OS for years. I miss having MSPaint around for small edits, and have yet to find a suitable replacement. Other apps either have too few features (e.g. Preview) or too many (GIMP), or the interface doesn't feel right. It might just be because I'm used to it after using it for years when I was younger, but MSPaint's interface just makes sense, and it hits the sweet spot of features for quick, simple edits.

This feels very similar to the original, and after a quick playthrough seems feature-complete. Well done! I'm not sure how I feel about it being web-based but I guess in this day and age it just makes it more accessible.

I see there's a Chrome app, but the link is broken (https://chrome.google.com/webstore/detail/dgfedgcofbjmeohonb...)

Have you tried mtpaint?

http://mtpaint.sourceforge.net/

mtPaint has pretty poor usability compared to MS Paint.

ReactOS has its own Paint, I wonder... it may be simple to compile it through winelib, or just run it directly via Wine. That'd be a pretty quick and legal way to get a functionally-identical clone.

I think the non-web app that comes closest to MS Paint in functionality is GrafX2. Only other paint program I've seen that has selection-as-a-brush. http://pulkomandy.tk/projects/GrafX2

The interface is a bit different than MS Paint but it has these absolutely wild features, like colour cycling, where the colours can change while you're painting, which can be fairly psychedelic. GrafX2 is more of a clone of DeluxePaint for Amiga.

I'm no fan of mtPaint either.

The MS version at least can be wined without issue.

However, there are tons of lightweight image editors that run as fast as MS paint and offer more features; have you tried Pinta ? or gnome-paint ?

I disagree about usability. Probably most people just used MS Paint first. MS Paint has different tools and different brush-tip (widths) for pencil/brush/spray-can/eraser that all do essentially the same thing (okay, the eraser's right click mode is different, but hardly anyone knows about it), and then the line/curve/box tools all have _their_ own width. This is all unified into one global brush/pattern option in mtPaint that everything uses. The zoom levels are better too. I think the only thing that's not obvious in mtPaint is the eyedropper.

The one thing I like in MS Paint is the controls to resize the canvas near its edges. Most other programs make you go through a dialog or select and then trim to selection.

> I see there's a Chrome app, but the link is broken (https://chrome.google.com/webstore/detail/dgfedgcofbjmeohonb...)

I think Chrome apps were deprecated a few weeks/months ago.

Chrome apps are still a thing, chrome packaged apps were deprecated (unless you're on Chrome OS), so the type of chrome app that remains is essentially just a bookmark distributed through an app store.

You're not missing out on anything by that link being broken.

I mostly use Pixelmator for that sort of thing on OS X. It's like $20, but I also bought it about five years ago, so it's a sunk cost!
I used pixlr a lot for a lot of minor editing, but with a new system on which I avoid flash like the plague, it turned out to be (arguably) the only webapp without a flash-free alternative.

Now I simply use Adobe Photoshop even for minor edits (Yes, it's bloated, but can't bring myself to install Flash just for one webapp)

> and have yet to find a suitable replacement

There are a few, Kolourpaint is pretty much an MSPaint clone for KDE [1] and Paintbrush is the macOS equivalent [2]. There is also Gnome Paint [3], but hasn't seen any update in years. I suppose the closest would be Pinta [4], although that is slightly above MS Paint on the complexity level (probably more comparable to Paint.NET than MS Paint).

> I'm not sure how I feel about it being web-based

Personally i find it amusing and impressive that this implements a Win95-like GUI (i love Win95's GUI :-P) but at the same time the actual editing feels very slow - painting something takes almost a second to update with the brush being very jumpy, reminding me using ZSoft's PhotoFinish on Windows 3.1 on my 4MB 386:-P.

It is also nice that it has implemented the select+shift+drag brush feature that is ignored by almost every other clone i've seen over the years.

[1] https://www.kde.org/applications/graphics/kolourpaint/

[2] https://paintbrush.sourceforge.io/screenshots/

[3] https://launchpad.net/gnome-paint

[4] https://pinta-project.com/pintaproject/pinta/

> actual editing feels very slow - painting something takes almost a second to update with the brush being very jumpy, reminding me using ZSoft's PhotoFinish on Windows 3.1 on my 4MB 386:-P.

Works as fast as native paint on my laptop. What browser are you using?

Same here: no noticeable lag in Firefox on Ubuntu.

I'm guessing Safari on macOS?

no problem with Safari+Macos here
Works really on Chrome on Windows 10, on a 3 year old laptop!
KolourPaint is very close. GIMP is great, but simple operations (ie. screenshot-crop-higlight-annotate) get complicated (layers, floating layers, text layers, alpha)
Lazpaint seems another handy option. I used it for years.
> the actual editing feels very slow - painting something takes almost a second to update with the brush being very jumpy, reminding me using ZSoft's PhotoFinish on Windows 3.1 on my 4MB 386:-P.

It's completely and utterly indistinguishable from a native app on my PC (Firefox 57.0.4 (64-bit) on Windows 10). First thing I noticed was how smooth and flawless it was, even when I expand the canvas and go crazy with every single tool to make a big mess, it didn't slow down once.

Other than using 10x more resources than the original version.
computers have 1000x more capacity and throughput than the original 486's.

So a 10x bump in resource you say?! -- Hmmm not too shabby for such a faithful clone!

On my Macbook Air, with Chrome and High Sierra it managed to crash Chrome impressively and force quit and hitting restart failed to do much. I actually had to hit the power button which is kind of unusual on a Macbook.
> Paintbrush is the macOS equivalent

Not really. It has many issues.

The left toolbar is not dockable. I find it annoying that I have to do window management withing a single application.

That and the fact that it asks for the canvas size everytime I launch it.

Aren't Mac applications supposed to have their toolbars as separate windows? Pixelmator (at least the pre-App Store version i have) does the same, as did some other apps i've tried at the past.
This is very much on a case-by-case basis. Unless by toolbar you mean the menubar at the top of screen which changes for each application.
I'm not experiencing any of that. Works immediately for me at this time
No performance issue on iOS iPhone 7.
I can imagine that updates aren't really necessary in a simple image editor ;)
It doesn't take very long at all to get familiar with basic Gimp features. The investment in time is minimal and worth it. You could probably figure how to do everything you can do in MSPaint in Gimp in 20-30 minutes.
Yes, but it can take as much as a minute to open GIMP, which is a lot to ask when you can be working on the same task in MSPaint in a second or two.
Protip: get an SSD. It improves your life in many ways. Three examples I notice between my girlfriend's HDD-based laptop and my SSD-based one:

- A game, Factorio, takes literally 5 minutes for her to get to the main menu. For me it takes about 30 seconds.

- Using `time gimp` and hitting alt+F4 immediately, I get about 2.14 seconds. For my girlfriend this indeed takes a little bit, though not a minute.

- Booting up (from cold) is maybe 20 seconds for me. For her, this takes more than a minute on Ubuntu and more like 2-3 minutes on Windows (it boots in the same time as Ubuntu, but then programs need to load which make it slow for another 1-2 minutes).

Not everything benefits from it, like web browsing or email is not I/O-bound, but lots of things go a lot faster for the investment. Especially for laptops, it's also quieter, supposedly uses a little less power, and won't die as fast from dropping it. I'd highly recommend it.

I'm not putting off your computer as being the blame for GIMP being slow - indeed, it's kinda silly that it takes so long to start, especially the first time - but I just figured you had an HDD and think the vast majority of people will benefit from an SSD. Even my grandma got one a few weeks ago and is super happy with it.

I have SSDs, and GIMP for Windows starts up slower than Eclipse (!).

In my experience the Linux version starts up faster than the Windows one.

Up to a minute with SSD? Okay that's odd. I totally see your point.
> the Linux version starts up faster than the Windows one.

Indeed. 4-5 secs to open GIMP on Linux here on HDD, and practically instant once cached. Maybe try and start with some command-line options. Useful ones in your case:

-d, —no-data

Do not load patterns, gradients, palettes, or brushes. Often useful in non-interactive situations where startup time is to be minimized.

-f, —no-fonts

Do not load any fonts. No text functionality will be available if this option is used.

-s, —no-splash

Do not show the splash screen.

https://www.gimp.org/man/gimp.html

And then when you need it the next time 3 months later you need to invest the same 20-30 minutes to relearn how to use Gimp. It isn't only Gimp that have this problem, it is hard for power users to understand the problems casual users has with using software
Ya I agree I don't remember that YouTube tutorial I watched to figure out how to crop and paste
This is exactly 20-30 minute more than any sane person should waste on a image editor.
If you only use it once yeah. I'm super casual and just use it for cropping and resizing and whatnot, and have used it dozens of times. Worth 20-30 minutes.
I am a digital artist and I've been using Photoshop since 2000s. I still find it infinitely more comfortable to open mspaint and do quick resizing or image editing there.

When I forced to use gimp I simultaneously want to a) kill myself b) kill developers of gimp and their family members.

Well, it depends on what you're used to. Although I'm just a casual user, I've been using GIMP for years, and had similar feelings to yours when I had to use Photoshop once.
I can make my minor edits in MS Paint and be totally done then go get a coffee and when I get back to my desk Gimp may have finished loading.
I've been an almost Linux/BSD user for more than a decade now, and I've always used 32-bit MSPaint from XP without any issue through Wine. Salvage the .exe from a Windows XP install and the necessary MFC .dll, and you're ready to roll.
I think with Wine you can only save in BMP and PNG? Last time I used Wine to emulate MSPaint, these were the only two formats for saving the files.
IMO the best painting/lightweight editing tool is paint.net. Since I moved to mac I moved to Gimp and it’s ‘fine’.. but paint.net is really the only tool I’m missing fron windows
Spend a little bit of money on pixelmator, you’ll be glad you did. If you can afford a mac you’ll find that buying pixelmator to replace gimp is worth it.
There are a few really good low-ish cost options on Mac. You should take a look at Pixelmator, Acorn and Affinity Photo. I think all have free trials. Out of those, Affinity is the one I use most, but that's because I also really like Affinity Designer (an Illustrator type application).
Does paint dotnet work on Linux through Wine?
I'd be surprised. Very old versions did work on Mono, but by now it has accumulated quite a bit of code that uses not only Windows Forms, but also WPF, Direct2D and possibly a number of other newer Windows frameworks which I'm not sure Wine provides.
Although it's probably illegal, I've been waiting for a port for years. I'm sad the one that finally did it chose js.
Shouldn't be hard to turn it into an "application" using Electron or something

runs

Maybe there's some sort of connection? Like maybe the port happened because there was some sort of universal platform where a dedicated developer would be sure to get a large readymade, appreciative audience as opposed to a small group of highly vocal micro-critics. And maybe that was more important to them than whether the language adhered to some paradigm that's really important if you look at things always from a single point of view? I dunno where these thoughts come from...

    > I'm sad the one that finally did it chose js.
Look how easy it is to shed tears for free stuff you don't personally have the energy to do yourself: You didn't have to lift a finger but to write an internet comment.

Just wondering what you think it adds to the discourse.

On Windows I've been using Paint.NET for years now. It's absolutely brilliant. Lightweight editing with quite a bit of extra features like properly working undo. Free, lots of updates, good UX. I use it at least few times a week.

Recently I've been on OS X a lot, and I wasn't able to find a suitable replacement. Like, nothing even remotely close. Quite a shame. Same story for Linux.

On OS X I really liked using Acorn a few years back.
There is a Paint.NET remake on Linux called Pinta. Not quite as stable (it struggles with large images), but it has the exact same interface.
I've tried that, it was maybe 3~5 years ago, and it was quite bad in comparison. Not sure if there was a significant progress since.
Sadly, I find it struggles with small and medium images as well. But with some tlc, it could become the paint.net we are all hoping for...
I've also switched to Paint.NET.

One thing that convinced me to switch was when MS Paint switched to the ribbon interface.

I used to use GIMP, but could never figure out how to use it. Downloaded Paint.NET, it worked _exactly_ as expected. I was able to get running and perform the edits I needed to perform in seconds.

I've never had such a positive introduction to a piece of Software, it works _so well_!

On Mac, I personally like Pixelmator for pixel level editing. It feels a bit like the old versions of Photoshop which always did the job for me. At thirty bucks, it's also pretty affordable.
I was in the same spot. A while ago I took an evening to try and learn doing basic edits in Gimp, and since then I have no trouble with it anymore. Not as bad as Vim, but there's indeed a learning curve to it. Now that I've learned it, though, I would never want Paint again.
> (e.g. Preview

View > Show Markup Toolbar

Then it still is _very_ limited in what it can do, in my opinion. It's nice for very simple things, but it hasn't become a Paint replacement all of a sudden.
Can anyone suggest a small, OSX graphical editor? I really just need one specific thing: "making a negative image".

I have it on IrfanView, but I could not find a simple equivalent on MacOSX.

I have IrfanView on Mac (via Wine project) and it works flawlessly. However, if you don't want to install Wine on your OSX, there are other alternatives, some mentioned here already. Personally, I like xnview - its free and probably includes everything you'd want (and supports making a negative image)
I solved my needs with https://www.xnview.com/en/xnviewmp/ and http://projects.apricus.be/en/xnconvert/ (looks like "negative" is not available in xnview, or I was unable to find it at least).

Thanks!

When you double click one of the images displayed in xnviewmp the image opens in a window and then under the 'Image' menu item, there is a submenu named 'Map'. Selecting the Map submenu opens a list of functions that can be performed on the image, and one of them is 'Negative'.
I only spent like five minutes with it and then I tried donwloading xconvert.

(I am part of the "read the docs only too late if ever" crew).

Thanks a lot!

If all you need to do is create a negative version of pre-existing image, you can use ImageMagick on the command line:

$ converge in.png -negate out.png

I've been using an old version of Macromedia Fireworks for years now, and while maybe not totally 'lightweight' (you gotta wait for it to boot up), I've always found it intuitive to use for quick edits, while also having lots of other features if I feel like doing something more elabourate.
Pinta is a good alt for Linux.
Too bad it is built on mono. I'd have to install ~200MB of dependencies for a 2.5MB application.
I don't get this complaint. Do you have a 400MB HDD or something? 220MB of HDD or SSD probably cost less than a roll of toilet paper.
You're assuming that I have an infinite amount of disk space to dedicate to arbitrarily large frameworks that are 'required' by simple applications. If every app you used required 200MB of baggage to run, you'd quickly run out of disk space. I'd rather use my disks to store more valuable things, and, on another note, most definitely do not want to encourage the proliferation of .NET/mono.
Were you (or anyone) able to change the brush size? (I'm pretty sure it used to be + on Windows, but it's been a while)
It's Ctrl+NumpadPlus/Minus on mspaint, or just NumpadPlus/Minus on jspaint; no way to do it beyond the preset sizes without a numpad, so far, I'm afraid
Best feature of this app I feel is live sharing

like: http://jspaint.ml/#session:abc sessions are shared in real time

Interestingly, it seems to lose 1/3 of the inputs I'm trying to send...
Yeah, it's super half baked. I can tell you that as the developer. I plan to focus on collaboration in the successor to this project, Mopaint: https://github.com/1j01/mopaint

(Rather than adding it after the fact.)

Spiritual successor to /r/place?
after years of searching for a low cost editor I can use on either mac or Linux I found these two. Pixelmator has tons of tutorials

pixelmator for OS X ($60)

pixeluvo for Linux ($35 only) but worth 10X that.

my first go to is pixeluvo since I use linux as my daily machine.

(comment deleted)
I love how the filesystem stuff is handled! Very smooth, with Open/Save acting like a native application.
It's not acting like a native application, the open file dialog is the native open file dialog that'll display differently depending on the OS/platform you're on.
Right, but many websites have a "Browse for file..." or Import/Export popup which then launches the native file dialog, or the Save function opens the image in a new tab or something. They're making it as close as technically possible to MSPaint's behavior.
Be careful if you're browsing fullscreen.

Here I am casually clicking HN posts when suddenly my brain thinks it's the 90s.

I wasted 15 minutes drawing random shapes too.
Where is crop? To me, the most valuable tool in MS Paint. What? Did you think I used it for “drawing with a bar of soap?”
You can select a section, copy it, create a new image, and paste it.
I don't think Paint (at least the version this is replicating) had a crop feature.

I always used to do:

- Ctrl-A (Select All)

- Ctrl-X (Cut)

- Ctrl-E, 1, Tab, 1, Enter (Resize image to 1x1 pixel)

- Ctrl-V (Paste)

jspaint has a special shortcut, you can hold Ctrl while making a selection
Neat, there's a multi-user mode: http://jspaint.ml/#session:test
Cool! I built something similar a while back. A bit more structured (creating accounts and such), but with a bigger variety of drawing tools, and some social features like following, project collaboration, upvotes/downvotes, and chat. https://www.formgraph.com
I just opened a multi-user mspaint session on my phone. The future is now.
This is amazing, thanks
This is fun.

Try drawing programmatically:

  tools[7].paint(ctx, x, y);
then run:

  $canvas.trigger('change.session-hook');
to flush your canvas changes to the server.
To do it "properly", wrap it in `undoable`, then you don't need use `trigger`, and you can undo it normally. :)

    undoable(function(){
        for(var i = 0; i < 1; i += 1/10000){
            var angle = i * 500;
            var dist = i * 2;
            var x = canvas.width * (1/2 + Math.cos(angle) * dist);
            var y = canvas.height * (1/2 + Math.sin(angle) * dist);
            tools[7].paint(ctx, x, y);
        }
    });
The most valuable thing to me about MS Paint is the ability to print screen, CROP the largely extraneous material, and post, embed, or transmit the result.

Where is crop? I am not interested in the drawing with a bar of soap aspect. At all.

Something like lightscreen or snipping tool might be what you’re looking for.
Paint didn’t have the ability to crop to a selection until the Windows 7 redesign of the app with its ribbon UI (not sure about the Vista version of Paint, which is halfway between the XP and the 7 versions); JS Paint has copied the XP and earlier design, not the newer. You can still crop, but only from the bottom or right, because you’re using the canvas resize handles instead.

Concerning your specific task: I’d say the Snipping Tool (built-in from at least Windows 7 onwards) is generally superior for that sort of thing anyway. Its biggest problem is slow start-up.

You could do cropping in Paint since at least the Win95 version. The method was the same I use with Paint to this very day: a combination of canvas resize handles and moving the image contents. Basically, after pasting the picture, I would use the selection that is automatically activated (if you lose it, CTRL+A to select all) to crop out top and left parts of the image, by positioning the top-left corner of what I care about at the top-left corner of the canvas. I would then use the bottom-right "resize canvas" handle to crop out the rest.

"That's how Dad did it, that's how America does it, and it's worked out pretty well so far."

I'd select the section I'd want to crop, copy it, create a new image, resize it to 1x1 or something else small, then paste. The canvas would automatically resize to fit the pasted selection. It sounds a bit more involved than your version, but for me it worked.
Yeah, I noticed this mechanism (probably even used it a few times), but I eventually gravitated towards something with less clicking.

I do that in Paint.NET a lot, though. I select the part of the image I'm interested in, and then in two keyboard presses (CTRL+C, ALT+CTRL+V, AFAIR) I copy it and "paste into new image".

Agreed on Snipping Tool - win + shift + s is a daily driver for me. I really want to find the person who made it a shortcut and thank them.
It's where it has always been - use the resize handlers at the edges of the canvas.
I made it crop the image if you make a selection while holding Ctrl. It's not how it's done in any version of mspaint, but I considered it useful enough.
I'm amazed. This webapp even supports opening files via dragging them from the desktop or Windows Explorer. This fact alone makes it more "native" than most (all?) UWP applications.
Funny but I would really appreciate a good Paint.Net remake (usable on Mac, Linux and OpenBSD) more.
Pinta comes close to that, and is free software, unlike Paint.NET. https://pinta-project.com/pintaproject/pinta/
I thought Paint.NET was free, just not OSS? I installed it on a machine a few weeks ago, no payment changed hands..
It's free but still Windows-only. I use it on Windows machines but miss it heavily on Mac and Linux. Perhaps somebody would actually port it to Mono if it was truly free.
It has too many dependencies beyond .NET and Windows Forms by now. Text rendering is DirectWrite, for example, other parts use Direct2D, the UI partially uses WPF as well if I remember correctly.
I see... I used to think it's just WPF to be replaced with the old UI that was there until some version.
Pinta is nice though still not ultimately as great as the original :-) And it can be pain to install on some Linux distro versions (conflicting with both the Mono version in the repos (too old) and the latest Mono release (too new)) and it works quirky with XFCE. In fact I use it every day on Linux but I didn't know there is a Mac version too - already downloading it, thanks a lot!
By the way I believe I've found source code of some ancient version of the original Pain.Net and used it (barely working, buggy as hell of hells though still handier than GIMP for quick and simple picture edits) on Linux before I've found Pinta which is, AFAIK, the same code fixed to run correctly on Mono and extended to include some Paint.Net features that have been introduced later.
Aww. I selected an area then tried to use the arrow keys to translate one pixel at a time. Didn't work :(

Then I tried to cut and paste. No go.

Still, very promising!

What is really neat is that I guess this is what's implemented in the Windows 98 remake too :)

http://98desktop.ml/

I wish computers looked like this again.

It's actually the same implementation used there. (See Help -> About Paint)
The UI and behavior is amazingly close to the real thing. But I cannot help but sigh when the brush tool lags more than Paint lagged on a 233 MHz Celeron.

I really think this is an awesome project, but I am old enough (30) to remember fast performing GUI apps and I don't know if I'll ever "get over" losing them.

edit: hopefully it is an inefficient implementation and not the inherent slowness of web apps.

One thing I noticed is that it doesn't draw zoomed-in images correctly - pixels are blurry. Didn't check if this is Canvas or WebGL, but something in the code begs being changed from LINEAR to NEAREST.

(EDIT: turns out to be a Firefox issue; Chrome shows the sweet pretty pixels correctly.)

> I really think this is an awesome project, but I am old enough (30) to remember fast performing GUI apps and I don't know if I'll ever "get over" losing them.

Same here (I'm 29). I'm getting tired of complaining, this literally feels like trying to turn back the tide of a river. We're doomed to use slow and shitty software until the present web fads go away and the ecosystem stabilizes.

The canvas tag has `image-rendering: pixelated;` set, but Firefox currently doesn't support the setting right now. [0]

Are you able to try it in Chromium? I set the property on the canvas to `-moz-crisp-edges` in Nightly and that fixed it.

[0] https://developer.mozilla.org/en-US/docs/Web/CSS/image-rende...

Oh. Didn't even occur to me that it could be a browser issue (after all, I would think that not antialiasing things in an API meant for per-pixel operations would be the default). Alas, you're right and guessed correctly - I tested it on Firefox. I just tried it on Chrome, and there the pixels show correctly.
Yeah, I've made pixelated-looking games for browsers before, and setting the extra CSS property is something I frequently forget to do!
The spline and polygon tools also antialias, unlike the old app.

Not knocking it though; it's an impressively close clone.

> until the present web fads go away

I don't see that happening. Web apps gave us an environment where it's easy to create complex applications quickly. Now efforts are going towards making these apps smaller and faster, but I don't see developers going back to C++ to develop GUI apps like this one.

I meant it primarily as "present fads in the web ecosystem", not "web as a fad" (I ultimately gave up on the latter; that's one hell of a tide and it ain't getting turned around).

> Now efforts are going towards making these apps smaller and faster

Yes, I'm hoping those efforts will eventually bear some fruits.

Java gave us an environment where it was easy to create complex applications quickly as well.

The web will fade away just like Java did.

I do like Java, but sometimes get a bit pissed off how things went, because we had "an environment where it was easy to create complex applications quickly as well" in the form of Smalltalk, VB, Delphi and C++ Builder.

With the exception of Smalltak, all had native code generation, then Java happened.

VB (i assume you mean classic VB, not VB.NET) wasn't really an environment to create complex applications though - at least not in VB itself. The best use for VB would be to use to mix together components made in other languages (often C and C++). If anything people who tried to use VB as the implementation language for complex stuff regretted it later.

I agree about Delphi and C++ Builder though, but Borland seemed hellbent on chasing enterprise unicorns - and pricing their products according to those dreams - so the software and the ecosystem suffered because of it.

I'm not sure about Smalltalk since i haven't used it much to know, although the first time i came in contact with was with a demo of IBM's VisualAge Smalltalk that was given on a magazine coverdisk and i ran away screaming (ie. deleted it immediately) when it took ages for the environment to load and do anything on the 4MB 386 i had and even then after following the simplistic tutorial it created an "executable" (that actually needed some other stuff to run) that was like 10MB (which for my 130MB HDD was a gigantic waste of space). Of course that was probably the entire image, but i didn't knew it at the time - and it wouldn't change much really, i needed the space for games and other stuff :-P.

I remember liking being able to drag arrows between elements in the GUI to hook events and properties together. I haven't seen that bit in the little i played with Pharo some time ago, i wonder if it was VA-specific. I tried to run the demo when i got a better PC, but for some reason it wouldn't work in Windows 95 and it has been years since i lost the disk. I wonder if it is available somewhere online but all searches point me to IBM's pages that have nothing.

Starting with version 5, VB allowed the creation of COM components natively, and could generate pure native code, not like the previous versions that just embedded the p-code inside a binary with a VM.

I have seen several enterprise level applications, with distributed objects (DCOM) and transactions, written purely in VB.

Including my first sight of an "Electron" app, exposing several COM libraries, written in VB, into a MSHTML container, using those objects from JScript in the page!

Regarding Borland, when Java came into picture, the company was still doing alright, and their Java development environment was designed similarly to the Delphi and C++ ones.

Their problems and change of focus came afterwards, when they lost a few people to Microsoft, including Anders, whose first project was to design Microsoft's Java implementation, J++.

VB5 indeed allows that (i have a VB5 box i got off ebay some time ago :-) and i've spent a lot of time with that and with CCE before that), but the language isn't really that friendly towards complex applications. But FWIW i think that VB lost its way around version 4 or 5 anyway :-P.

About Borland and Java, i actually have JBuilder 2 (again off ebay - i collect old development software :-P) and yes it does look nice and sort of friendly (although it is far from Delphi's level of ease of use). I think the entire thing is built on Java too. Sadly it doesn't seem to work in modern Windows - even the applications it creates throw exceptions.

Java had the advantage that it not only worked everywhere, it had just so incredibly much built in. The Java standard libraries alone provide more functionality than in many other languages all third party libraries for a feature can do combined. Building cross-platform apps in Java is actually easy, even easier than in Delphi or VB.

Nowadays, in Node, we don’t even have timezone handling properly built in, or UI frameworks. Or anything.

Sure, one of the reasons I liked it, was because of the chaos that still was writing portable C or C++ code back then.

But when focusing on the PC market, it felt a step backwards being interpreted, the JIT only came in 1.3 and AOT compilation has only been available in commercial JDKs (gjc was never that good).

Let alone the whole story with value types.

Thankfully, I have been able to avoid Node thus far.

The web is 10 times more entrenched than Java. I think you're underestimating it, badly.

Java was pushed just by Sun/Oracle. The web has at least 20 big parties that are promoting it: Google, Mozilla, Amazon, Facebook, Wikipedia, etc.

Java...hasn't faded away, though. It's slightly less popular than it once was, granted, but it's still insanely popular.
Software will always fill up the capacity of the hardware. For me the brush tool is very smooth (running Chromium browser on a 5 year old gaming/dev rig).
The problem is that most software of today doesn't do much more than software of a decade+ ago. The capacity of hardware is filled with boilerplate, abstraction layers and an occasional UI animation sprinkled on top, instead of more powerful solutions to more difficult problems.
Except that what used to require a much larger and heavier machine can now be done with a phone, if not a watch.

Cars don't really do much more than they did a century ago. This doesn't mean there haven't been HUGE improvements to make them do their function better.

> Except that what used to require a much larger and heavier machine can now be done with a phone, if not a watch.

That's just a function of miniaturizing hardware. Think how much longer your phone's battery would last if not for the software bloat.

> Cars don't really do much more than they did a century ago. This doesn't mean there haven't been HUGE improvements to make them do their function better.

They serve the same fundamental purpose (moving people around), but they are faster, more economical, much more safe, and offer large amount of convenience features. In a way, it's the exact inverse of what's happening with software.

See for example the history of Photoshop and games! When making software you don't optimize more then needed. It just have to be fast enough. But where performance is a selling point, things have actually gotten faster, for example JavaScript engines. And compilers can probably compile a 20 years old program and make the binary more optimized then it was before.
> We're doomed to use slow and shitty software until the present web fads go away and the ecosystem stabilizes.

I have two possibly conflicting thoughts about this. (I'm a little bit older, and I feel like this has nothing to do with the web.)

One, everything computer related was much, much slower, and much, much shittier when MS Paint first came out. I feel like software and software standards and hardware and the web, all of it, has improved.

Two, I'm not convinced we'll ever escape shitty software, I think we always have and always will have slow and shitty software, outside the web and inside. We always want the machine to do more than we have a budget for, we always want to write features in less time than we have, we always want cooler features than others, etc., etc. Keeping software fast and good is time consuming, expensive, takes more self control than most have, and often just isn't the highest economic priority. In short, I think there are legitimate reasons we're always sitting at the threshold of pain rather than the threshold of pleasure.

Seems to me like "shitty software" is just a moving target. All software is shitty because we can envision something better. In 10 years we'll all be complaining that Windows 20/macOS 23/iOS 21/Android {{confectionName}} is shitty, though surely it will be something that our 2018 brains would find amazing.
I'll give you one definition of shitty that particularly annoys me: does the same or less than an equivalent made 10+ years ago, while running just as fast or slower than the old one. Advances in hardware seem to be mysteriously eaten somewhere.
Or perhaps it's just a fun demo, not intended to be an actual replacement in performance for native mspaint.
I know, it just sucks that the default platform for making apps now gives you access to ~10% of the machine's computing power.
Was very responsive and fast on my phone in Edge. Seems to depend more on the browser than on the actual hardware.
What browser and hardware are you using? I couldn't get it to lag or even drop frames at all in Chrome on my laptop even after I opened a Coinhive miner in another tab.

It wasn't until I tried editing a 4K wallpaper that it started feeling sluggish, and even then the only lag I got was during the brief period between brushstrokes, where it's trying to save undo history and persist the in-progress image to localstorage.

I do suspect there's probably still a lot of room for optimizing this as well, both on the app's and browser's side of things.

> I am old enough (30) to remember fast performing GUI apps and I don't know if I'll ever "get over" losing them.

I'm in my early 40s and feel like there are more fast performing GUI apps now than there ever were before. Windows 3 was not fast.

Incidentally, I'm on a beefy machine so JSPaint isn't lagging for me, but it does have a frame rate that makes the paint splatters far apart if you move fast. Is that what's happening to you, or is it actually lagging as in stalling longer than 30ms between splats?

> it does have a frame rate that makes the paint splatters far apart if you move fast

It's been a while so I might be misremembering, but didn't the original MS Paint also do that?

Yes, I think so. It even does this on the newest Paint version on my Windows 10 machine.
It's kinda silly to reminisce about the 90s when it comes to computing performance.

I remember the 90s. A windows upgrade took 2-7 days to complete, a large file could take 10-30 seconds to save, opening and quitting apps was on the order of 10+ seconds optimistically. Everything crashed all the time. This was the default behavior of a brand new $3,000+ machine.

No, thanks. :-P

What a superb effort to port MS-Paint on web. The UI - UX is simply amazing and almost similar to the real MS-Paint.
MSPaint had some hidden treasures. The first thing I tried was the right-click-while-drawing-cancel feature. Alas. Love seeing the old graphics however.
That's an actual issue in the repository. It's supposed to have worked before, but apparently broke in a recent Chrome update, sparking a re-implementation that broke in all browsers.
Really brings you back to the good old days =) Even got the help topics exactly as in the original
Does it work for everyone in Firefox? For me it doesn't draw anything, nor does it open any of the menus (just clicks work). In Chrome everything works perfectly for me.
Works fine for me, Firefox 57.0.4 on Linux.
Thanks for confirming. I need to investigate what's wrong with my FF then.
I never got people's love of MS Paint. There is so little it could do, and it didn't always want.to play nice with modern image formats.
Nostalgia. Many of us spend hours making drawings as a kid, since it was basically the only thing to do next to mine sweeper. Just like we all miss clippy, useless as he was.
But even then, MS Paint was pretty much a copy of 1984's MacPaint, which pioneered that type of program.
Nostalgia doesn't cite sources. I've never used MacPaint. I've used MS Paint, though, pretty extensively, all through the 2000s.
I was the only kid in high school allowed to use a laptop in class, because my motor system doesn't really "do" writing but it does typing well enough. I'd spend entire lectures drawing gigantic mazes in MS Paint instead of making notes. To be fair, I would have been drawing mazes if I had to use pen and paper anyway.
this version plays well with modern image formats :)
I love this! Genius!

I personally use Figma (http://figma.com) - which is an incredible vector drawing tool!

Been using Figma for a while now for prototyping, drawing etc. It's really easy to learn and use and has great features. e.g. multiplayer mode.
(comment deleted)