My parents were so mad at me when I installed Comet Cursor on the family computer.
I was 9 years old, and I think I had grabbed it from a shady site that had modified it to stuff it with additional adware and malware...the computer went really slow after I installed it, but I had a totally badass cursor that looked like it was being electrocuted, so overall I think it was a fair trade.
As the above points out, that "shady site" was possibly just the official Comet Cursor website. They themselves were an adware company and a weird, direct bridge from 90s "whimsy" web to modern ad tracking and adware.
I recall Cursor Mania which was a similar idea. It bundled Smiley Central which was a necessity to out-smiley your contacts on MSN messenger. It also prefigured emojis. And it almost certainly came with a generous helping of malware.
"the computer went really slow after I installed it"
This version also appears to be using a lot of system resources. Firefox on Linux is idling at about 6% CPU while reading HN. Go to that web site and the usage goes up to 80% to 90%. Come back here and CPU goes back down to 6% or so.
This was back in an era when your Windows computer started to feel slow (which inevitably started to happen after a few years) was to take the standard recommendation and reinstall the entire OS.
It's so far from the world of an advanced Linux SysOp.
Just to note: CPU percentage isn't that useful these days. CPUs can throttle back their clock speed quite far, so you'll often get numbers that are meaningless that way.
Your conclusion is fairly like to be correct though.
Interesting, but no repro on macOS/Safari. macOS/Firefox, however, will take up about 50% between the "Firefox" process and a "Firefox isolated web content" process.
One of the founders of Comet was a friend of a friend. We chatted about it a bit. They really seemed like earnest folks who stumbled on a way to monetize virality in the early days of the internet. There was absolutely no framework for ethics of data collection and even they seemed kinda shocked at how easy it was to do back then. I think once the money was flowing in, it was too hard to stop.
Malware like this used to be so common; software that did something useful and then on the side also installed some horrible user-hostile thing. Adware and search hijackers, too. Fortunately that's mostly ended on desktop but it's a constant battle on mobile devices still.
I used to enjoy trying to delete malware (mostly porn advertising) off lab computers in college. There were a couple I could just never get rid of and I checked all over. They were buried deep and had roots throughout the system lol.
> The company was criticized for secretly tracking users who installed the software, each of whom was given a unique serial number
Doesn't seem too out of the line nowadays, does it? Even Microsoft recommended users uninstall the program. Wouldn't it be wonderful if they had kept their distance from such practices?
Nowadays Microsoft lets malware writers run roughshod on their platforms with impunity. (See: the unbanning of the node-ipc supply chain mass-file-deletion virus author)
I remember Comet Cursor using drive-by install techniques, back when browser security basically didn't exist, so you would find it installed after visiting certain websites, and there was at least one example of advert iframes setting off the background install.
IIRC dilbert.com was an example of a significant site that did this (I stopped visiting for that reason, or something very similar if it wasn't Comet Cursor) either directly or through an advert it carried.
Fashion trends are currently rebelling against the understated 2010s by bringing the late 90s/early 2000s aesthetic back in the form of wider fits and louder colors. Makes me wonder if/when we might see a similar change in web design, or even furniture. I might be biased as a younger person without many memories from that era, but I'm all for some change (barring impacts to accessibility) if it breaks up the monotony of the corporate-lite graphic design trends of the mid 2010s.
I've been building a virtual replica of my 1996 gateway 2000 in an 86Box VM. I am amazed at how good the Windows 95 UI feels. I also want to get screensavers and system sounds going on my Linux workstation.
At this point I don't even care what it looks like. Flat can work just as well as not flat as long as it's consistent.
A stop sign is the definition of flat: https://upload.wikimedia.org/wikipedia/commons/thumb/f/f9/ST... but it has a border which separates it from the rest of the world. If it were a button when you've clicked it once you will know where it is and how big it is.
Random text with no differentiation from the rest of the page is a big reason why I've lost the habit of clicking hyperlinks. If it doesn't look like it will do something I will assume it does nothing.
It's funny, real buttons on devices that look and feel like buttons are on the retreat with almost everything using touch controls nowadays. So the flat and featureless buttons of modern GUIs increasingly reflect the UIs of the physical world.
People's nostalgia for the 90s is really because it was the so-called "end of history" era, where the USSR fell and the US had no real enemies and everything seemed to be looking better. Then 9/11 happened and you had the Iraq war and then 2008. It's only in retrospect after that time that people think "hey, the 90s were actually pretty idyllic and peaceful." Hindsight is 20/20, etc etc.
As for why zoomers are now into the 90s, I think there is some picked up nostalgia from millennials around the 90s by osmosis, kind of like how there was some nostalgia for the 70s in the early 00s, limited as it was for millennials, which I think was about the time the boomers first had their midlife crisis (fits somewhat for now I think).
Don't people feel nostalgic for the ~30 years ago in every decade? In the early '00s we were into the '70s, not the '90s. And the '80s were the decade that everyone tacitly agreed never happened, right up until a few years ago when they started making a comeback.
I think it's just because that's how long it takes between the invention of a trend or style, and the majority of people not remembering a time when that was 'the new awful thing that the youth of today are doing'.
It you haven’t seen it, take a look at a movie called “Midnight in Paris.” It does a great job highlighting how each generation find the past to be somehow better than current.
If folding phones take off (still too expensive for most), I could see wider web designs coming back, closer to desktop.
One huge problem with responsive design, especially mobile-first design, is that it largely killed the creativity of the old desktop web. Nobody is going to spend time developing 2 unique designs for 2 form factors. Everybody will go with the easiest option of RWD which is to stack elements on top of each other in the most boring layout possible.
re: 90's / 200's design style in websites ... check out neocities. there's a recent surge in people creating personal sites with exactly that aesthetic / nostalgia in mind.
One thing I loved about the internet back when these types of effects were popular was how collaborative and innovative web design was. People would see something they liked on someone else's website and just add it to their own. It might be an animated gif, a cursor effect, a background image, or a site's entire layout. Everything was fair game.
You'd see something cool on one site and suddenly it'd be all over the place and then it'd eventually get edited until it became something new that got spread around again.
Even though everyone was shamelessly copying everyone else the effect was that websites were very diverse yet familiar. Then people started using social media where they didn't even have to learn to copy/paste HTML and everything slowly became very bland and generic.
hard to conclude there is a lot less creativity being shared today on social media, than the haphazard, disparate websites in the 90s. I remember pages full of glitter, and hardly readable nor user-friendly marquee text with blue underlines in technicolor with no synchrony on how to navigate them
The content now is just as creative as it ever was, it's just now all displayed in one of a few of social media's uniform sanitized templates.
While there were plenty of sites back in the day that were basically unreadable all kinds of popular layouts and color schemes rose to the top and gained popularity. I wonder how things would have evolved if it had continued.
3. [Chromium only.] Use 'pointerrawmove' to get move events as soon as they happen instead of waiting for a big bunch of coalesced moves to all arrive after a delay.
4. Drawing where the cursor is predicted to be in order to compensate for lag works well during smooth cursor/pen motion. For example, the Windows Snip & Sketch tool actually renders the line you are drawing in front of the direction your pen tip is detected traveling because when using, say, a Microsoft Surface Pen on a physical Surface Pro screen the line being drawn would otherwise noticeably lag behind the physical pen tip (especially on a 60Hz screen) unless this predictive trick is used.
Finally, be aware of open Chromium issue #992954. When the devtools are open [F12], coalesced events aren't used so you get lower input lag but more events to pump (like 'pointerrawmove'). This bug is maddening because it depends on whether or not you have the debugger open!
No lag on my 6 year old iPhone. (I wasn't even expecting the site to work on it!)
Thanks for the tips, I make interactive art and creative tools these will come in very handy.
On a related note (input lag), I noticed in my high speed recordings that even programs with no input delay (mspaint) lag 1 frame behind the mouse cursor, something to do with double buffering (and the cursor being rendered separately by the GPU?) Is there any way to get around that on Windows, eg. in fullscreen?
I.e. instead of predicting where the cursor will be to compensate for the fact that everything is rendered 1 frame late, can we just make it render on time?
I remember when everyone switched from myspace to facebook. At the time, I wondered why people like fb more because the pages were more boring and standardized. At the end of the day, whoever claimed "we got tired of the flashy effects" were just themselves tired of the flashy effects. Somehow the boring people convinced designers that boring was more "professional" or something like that and the designers just changed everything and forced that change on most users. It's just another example of how I don't really believe everything is "market driven" but suppliers (in this case, designers) really can force changes of habit and consumption on users unilaterally if they have enough market share.
People have rose tinted glasses of myspace. The majority of pages were crap and you'd sooner close them than try to read them. That's why facebook succeeded. It had a minimal interface which wasn't an eye sore and let you see what your friends were up to. Facebook then failed because it needed to make money, and being a way to keep up with friends does not make money.
I had exactly the same reaction to the early Facebook "Zuckerbot" theme, and something ineffable absolutely died in the transition. The failure of the front end industry to recapture it and sell it at a profit is interesting in itself. Did not come here for this comment, but it's left me with enough to think about that I'll close the thread now.
This brings me back to my childhood and building web pages when JavaScript elements to add whimsy and whatnot to the page.
Was it particularly attractive? No. Was there much function (except for a few screen types and maybe cursor styles, not really). Was it fun and did it make the internet feel exciting and like a truly new and unique medium? Hell yes.
Love seeing this stuff preserved.
And add me to the list of people that now misses skeuomorphism from the aughts and the Delicious Generation of Mac apps. Lickable icons and interfaces. I still love them, mostly because it reminds me of when software had personality.
That’s the thing about the late-90s to early 2000s web aesthetic: it had personality.
I love stark and clean Swiss-influenced designs as much any anyone else. But software, websites, and hardware was always best when it had personality.
I would sometimes not get apps that didn't have good enough skeuomorphised icons. Like, if you're a flashlight app that can't even convince me you're a flashlight app then pfft begone.
Entirely valid. In a world where our phones have a hundred apps on them, the clarity of its icon is a truly important feature, especially for infrequently used utility apps.
Opened the comments and immediately cmd-f for “sheep”, so pleased other people remember it. I remember being given it by a friend at school on a floppy disk…
I did web design back when it was called webmaster, and every time we finished a site my boss would ask me to 'make it sparkle' and this is what she meant, every time. I would explain why I thought it was a bad idea but then I would add the js snippet and show her. She would clap her hands and jump with glee. I would deploy it. The customers loved it. Invariably, the next day I would remove it because what mattered is whether the customer's customers liked it, and half the time they would think it was a virus and the other half were using IE 1.0 so they couldn't see it.
I particularly like the ESM examples in the README of this project for feeling like an interesting modern take for how some of the old 90s JS libraries used to feel. Many of the 90s libraries often weren't distributed as JS files to add to a SCRIPT SRC but as SCRIPT blocks to copy and paste with big comments denoting things you might want to tweak, giving more of that feel of "ownership" of the JS and that "everything is tweakable", not just JS lives on remote CDNs and is imported all or nothing and nowhere near as tweakable. ESM feels like it starts to bring some of that back and head towards a best of both worlds: composable pieces imported from remote URLs and tweakable script blocks to copy, paste, and then make your own.
I'm probably biased from my position of already knowing ESM well at this point having pushed a lot of my own modern tech stacks towards it, but I'd like to imagine 90s teen me would have found ESM blocks exciting.
I miss Classic Mac OS extensions which added whimsical things like this.
As I remember there were a few cursor trail extensions, as well as an extension that added physics to dragged icons (you could even throw them!), an extension that turned all on-screen text upside-down, etc. Not the least bit useful but fun.
The Classic Mac OS extension model was a security and stability disaster but it was unparalleled in terms of how it let third party devs tweak the OS. Even modern Linux desktops can't compare.
I'm embarrassed to have only realized the correct form very recently (after some resistance in a code review). More specifically, I've always made entities plural by using an apostrophe (e.g., "This field holds a list of SomeCoolObject's."). I think my train of thought was that it differentiates (better?) when the entity name happens to end with an 's'.
There are standard typographical conventions I don't always adhere to in the context of talking about code or other technical subjects. For example, the American standard is for punctuation that comes at the end of a quotation should be inside the closing quotation mark, "like this." I sometimes do the reverse, or even put a space before a period or comma, just to avoid possible confusion about what's actually part of the quotation and what's not.
The apostrophe in the way you're using it here is something similar: you're accentuating that the actual name of the thing you're talking about is SomeCoolObject. Sometimes that kind of thing could matter (particularly think of when pluralizing a word changes its spelling beyond simply adding an "s" to the end). You might be better off just restructuring a sentence to avoid having to pluralize at all: "a list with members of type SomeCoolObject" or somesuch.
This is known as the greengrocer's apostrophe. Most sources will say it's wrong, but it's quite common if you look for it. I think it's fine, particularly when talking about code when the actual name of the symbol matters.
The pro version had the trailing and click effects (smooth, photo realistic fireballs, yeah!!!)
I currently straight up use the cursor from Starcraft I. It's crazy cool looking, and subtly animated, bot not distracting. I found it a few months ago in my 90s junk folder, I love it.
I remember this from the era when building websites with FrontPage and DreamWeaver was still a thing. There were sites with catalogs of those "apply cool effects to your website by copy-paste this snippet to your HTML source file", and a clock following the mouse cursor is definitely one of them! Fun times.
I had a GeoCities page and really wanted to try the cursor effects/followers, but they never seemed to work. I kept trying to add them and never saw anything... until I looked at the site on a friend's computer in IE and the screen just exploded with cursor followers. I was primarily a Netscape/Firefox user and didn't consider that my browser might not support the effects!
My fan site for the TI-86 graphing calculator (first draft done as part of 5th grade Computer Class, revised to get extra credit in my algebra class a few years later) used it! I had no idea what Javascript even was, but I knew how to view source and knew that if I pasted in all the magic between <script> tags from my computer teacher's website I'd get the cursor effect. He (or the original dev…) had very well-annotated code that included a bunch of variables you could customize.
I don't recall ever seeing it in the wild, but I remember it as a JS script you could add to your site from a page that I think was http://www.dynamicdrive.com/
I may have played around with it on a couple of HTML pages written in Notepad way back.
My only criticism would be that the code uses `element.appendChild(canvas);` - if the element already contains child elements then the generated canvas is going to go over them, blocking any user interaction associated with them - for example, links. I think `element.prepend(canvas)` would give a better UX?
I can't believe these actually used to be popular but they were. I wonder if their over-the-top nature made learning how to use a computer mouse a little more fun.
Trails were an accessibility feature in early GUI environments (based on accident of early GUI renderers; even Windows 3.1 used to make trails "naturally" on an over-taxed machine when repaints were taking too long), but I think most of the uses of them, especially in the early days of the web a lot of it was just "personality". That OG Geocities feel of finding a bunch of interesting JS snippets, copy and pasting, and maybe lightly tweaking the ones that spoke to you and seem like the coolest thing to add to your fan page for your current favorite cartoon or local roller coaster.
Not to mention that early laptops had LCDs with very slow refresh rates, which could make a moving pointer very difficult to track. The trail gave an indication of where the pointer had been and was going as it was traveling.
Yes, but it got removed from overt Accessibility Features at some point Vista-ish and is hidden as an "additional option" that's three or four clicks away from "Ease of Access".
I always use trails, along with the largest pointer I can set and inverted coloration. It makes it a lot easier for me to always find the mouse at a glance when I move it slightly. I didn't always do so in the past, but the move to 4k clinched it.
Windows has a bug(?) with inverted colors combined with trails, though, where sometimes the cursor double-inverts when it's at rest. I consider this sort of a feature, though, since I don't care where it is if I'm not actively using it.
And like Solitaire's "it's a tool to teach mouse use", I always thought the "it's a utility to track the mouse, not just a bit of whimsy" was a bit of retconing, but I have no real proof.
For security reasons that's outside the scope of the core protocol. But don't worry, all it would take is for someone to develop an eye-following protocol and for the compositors to implement it.
Ghost was possible on the desktop as well, IIRC. I wonder if it was intended as an accessibility feature or for new users who had trouble keeping track of the mouse.
Yup. I am glad we've moved on, at least on windows, to double-tapping left ctrl to highlight the cursor. It's a pleasant effect.
macOS's shake-the-mouse gesture isn't as nice. It's such a "violent" gesture that it feels like it will just reinforce the feeling of frustration for users.
macOS's is discoverable by the very action one might take trying to find the cursor even without knowing about it, while Windows' isn't. Source: I found the macOS one by accident, but didn't know about the Windows double-tap-ctrl thing until reading your post. Most likely I'll forget the ctrl trick by tomorrow, but shake-the-mouse was stuck in my brain the instant I found it.
Note that left ctrl trick is still just a PowerToy in Windows. That's one I'm surprised hasn't graduated to in box given its general usefulness for accessibility and overall simplicity.
Exploring mouse options for something else and stumbled upon a reminder there is an in box feature for it. It's off-by-default and the changes that Power Tool makes are: switch from single Left Ctrl to double Left Ctrl, and switches from classic Windows "wave of rings" visual (it expands a bunch of rings out from the pointer as a very simple animation) to the "Spotlight" mechanic that dims the screen except for a circle around the pointer.
I don't really like the idea of double-tapping control either, for much the same reason, but wiggling the mouse seems gentler. I still use trails, though; I'll take all the help I can get.
I used to wonder the same then one day I tried LSD[0], and it was another illumination. By then, I'm sure the origin of the cursor trail was some trippy programmer trying to recreate the same effect he saw "under the influence".
A different form of cursor ghosting would occur when certain GUI programs got stuck. So it might just be that somebody saw that and thought it was neat.
Is there a way for HTML+CSS to capture what the user's cursor actually looks like, in case if a website wants to perfect the "ghost" effect without replacing the cursor image?
No, there isn't a way to capture this under normal circumstances. The best a site can do is to detect the client's platform and use an image of the default cursor for it to try to get close
To be truly nostalgic they would have to take longer to load, and slow down my whole computer. If I trusted the page enough to enable javascript, which was so rare to begin with in the 90s. Heck, I rarely enabled images until at least 2000 when I got a cable modem.
That said, this is fun and impressive. I wouldn't even know where to start with something like this, I just bookmarked with the intention of reading through the code later but I probably never will.
It turns your phone into an old-school disposable camera that mails you real printed photos.
Last week Apple decided to feature it #1 on New & Noteworthy and now hundreds of people are visiting the home page every day. And thanks to you, now it feels a bit more magical!
Brings back memories! dynamicdrive.com and another site that I can't quite remember the URL of (it was something like pruitt.com) provided amazing examples of what can be done with JavaScript and DHTML. Inspired me to add these sorts of whimsical effects on my personal website hosted on memebot.com in the early 2000s. Sadly, the interesting sites of that era are mostly gone now.
There was a whole startup, "Comet Cursor" whose goal was to get people to install a plugin (that spied on you, of course) to get enhanced cursors. I was working for a Big Media company in the early 2000s when the Comet Cursor execs managed to convince our execs that it would be a good idea to accept money from Comet Cursor in exchange for forcing downloads on our customers.
Very early OS X versions had a fairly simple way to revert the GUI back to a NeXT or Win look. Reason being, OS X was Openstep, which was NeXT, and part of Openstep was integration with NT at the time, hence the GUI toolkit.
Neither of the non-OS X interfaces were very functional at all. I always wondered why those throwaway parts will still lying around.
These used to be so popular, that my circa 2003-2005 public school district's official website where we could find our homework assignments, social calendars, teacher phone numbers, etc had a cursor effect for cougar paws (honoring the school mascot).
I use the mouse trails and a desktop app for the "laggy following dot" on my workstation because, well because four 32" 4K monitors, you lose the darn cursor even with the "find my cursor" key.
Real life use case: we had a super user mode for support that looked just like what the end user would see, so we add cursor sparkles to distinguish it from a standard login.
Before then we had to roll back a ton of accidental changes.
Sort of off topic but also sort of relevant, pixel-accurate mouse motion blur should really be a thing by now. The lack of it makes mouse movements significantly less smooth than need be.
So much memories of DHTML and JS tips sharing websites come back to my mind when using this page ! It immediately reminded me of frames with customized scrollbars and marquee text too =).
Be aware, the code is not framerate independent. Maybe that was intentional? Put up a PR to make it framerate independent but also just wanted to pass it on, if you have code using requestAnimationFrame and you want your effects/animations to run at the same speed across browsers you need to compute a deltaTime between frames and use that to calculation your animations. Otherwise, people on different devices will get different effects/experiences.
In this case I'm on a M1 Mac and Chrome runs requestAnimationFrame at 120fps, at least on the built in display (external displays get whatever they're set to. I have one at 60 and one at 72)
No, but the same thing was achievable with GIFs under the "DHTML" banner (the "D" meaning "Dynamic", which typically just meant "JavaScript and CSS"). Custom cursor effects were really popular demos
Here are some pages from that era that show off some of these:
Emoji as the term is currently used did not, but graphical emotion/tone indicators did under a different name: emoticons. They were usually small gif files, sometimes animated but usually not, manually referenced with img tags in your own designs rather than simply being available in commonly installed fonts (so insertable as text if you know the right unicode code/sequence) as we find today. Some forums / BBSs would automatically translate text-based smilies to relevant emoticons or provide their own syntax to add them such as [smiley-face].
Emoticons descended from the text versions referred to as smilies (https://www.csh.rit.edu/~kenny/misc/smiley.html). The two terms did often get confused (or just deliberately used interchangeably).
I don't know which modern features might be required for that potentially breathtaking presentation, because for me it stops running at the first occurrence of optional chaining operator. According to caniuse.com, ?. has been supported for just two years, and is still only available for 92% of users. The Web is three decades old, but let's ignore that, because everything must not exist for more than a year before being replaced with Next Generation Thing. Lifespan of a butterfly is our true goal!
I guess self-promotion of web developers also requires them to compete in shouting at the top of their lungs “I don't give a fuuuuuuuuuuuuuuuck about people who have to deal with websites I make”. The boldest get hired.
sigh, then along came Comet Cursor to remind us why we can't have nice things:
https://en.wikipedia.org/wiki/Comet_Cursor
The "can't have nice things" part comes from the tracking that came along with it. Comet Cursor was a pioneer of what would become the modern web!