News Archive

  • 26 weeks
    The Day of the Dead Anthology

    The Day of the Dead (Dia de los Muertos) is a now-famous tradition from ancient times that has been a huge part of Mexican Culture through the centuries. Like so many things in Mexico, it's influenced strongly by certain aspects of the Aztec people.

    It has shaped the way those of us with that heritage look at life and death in many ways, and most importantly on the remembrance of, and honoring the deceased. We traditionally decorate little altars dedicated to the memories of those that passed away… but it's not a somber occasion.

    Read More

    22 comments · 4,644 views
  • 26 weeks
    Jinglemas 2023!

    Jinglemas is the annual tradition on Fimfiction to exchange stories around the holidays with users on the site. This single event allows all Fimfiction users to come together and celebrate the reason for the season. Ponies!

    Enroll in this Secret-Santa-style gift exchange to request a holiday themed story, to be written secretly by another participant during the month of December. And in turn, you will be tasked with writing someone else's request. Then all the stories will be exchanged at Christmas! Simplicity itself! Thanks to the hard work of the Breezies, everyone will be ensured to get their gift!

    You only have until November 24th to Sign up!

    Read More

    30 comments · 5,818 views
  • 50 weeks
    PSA: Using AIs to Write and Publish Stories in Fimfiction

    Hello everyone, this is a PSA (Public Service Announcement, for those of ESL) to put to rest consistent questions about using AI to 'write' stories and publish them here. This is not intended as a poll or a request for feedback. It is exclusively a clarification on an already-existing rule.

    People ask: "Can I, oh great and powerful D, post a story or chapter that I got ChatGPT to write for me?!"

    And the answer, my friend, is... No.

    Absolutely not. Not in a thousand years!

    Because you didn't write it.

    It is not your creation. You are NOT the author. In fact, you are the opposite.

    There seems to be some confusion when interpreting the following rule:

    Don’t Post (Content)

    [...]

    Read More

    698 comments · 23,884 views
  • 78 weeks
    Jinglemas 2022!

    Jinglemas is the annual tradition on Fimfiction to exchange stories around the holidays with users on the site. This single event allows all Fimfiction users to come together and celebrate the reason for the season. Ponies!

    Enroll in this Secret-Santa-style gift exchange to request a holiday themed story, to be written secretly by another participant during the month of December. And in turn, you will be tasked with writing someone else's request. Then all the stories will be exchanged at Christmas! Simplicity itself! Thanks to the hard work of the Breezies, everyone will be ensured to get their gift!

    Read More

    62 comments · 12,458 views
  • 105 weeks
    Phishing Awareness

    Have you ever found yourself in a situation like this?



    And then you magically find yourself in a suspiciously familiar site, except that you're not logged in, and it requires you to do so?

    Well. Don't log in. This is a scam, and a cheap one at that. 

    There've been recent attempts to obtain Fimfiction users’ personal data, like passwords and/or emails through links like the one I'm making fun of above. And a distressing amount of people don't seem to know what phishing attempts are.

    If you HAVE entered a site like this and put in your data, make sure to follow these basic steps at least.

    Read More

    167 comments · 15,431 views
  • 117 weeks
    All Our Best [Royal Canterlot Library]

    As should be obvious from 15 months without a feature, life has taken the Royal Canterlot Library curators in different directions. While there’s still plenty of awesome stories being written in the My Little Pony fandom, we’re no longer actively working to spotlight them, and it’s time to officially draw the project to a close.

    Thank you for all of your support, suggestions, and comments over the years. We’re grateful to have been able to share seven years of exemplary stories with you, and give more insight into the minds behind them. In the spirit of the project, please keep reading and recommending fantastic fics to friends—the community is enriched when we all share what we love.

    Read More

    115 comments · 18,264 views
  • 122 weeks
    Jinglemas 2021 has come to a close!

    Jinglemas had 114 stories written and exchanged this year!
    You can read them all here, in the Jinglemas 2021 folder!

    Jhoira wrote The Hearths Warming Eve Guest for EngageBook
    GaPJaxie wrote Twilight and Spike Hide a Body for Telly Vision
    SnowOriole wrote The Armor Hypothesis for BaeroRemedy
    snappleu wrote Words Said So Often That They Lack Any Meaning for Trick Question
    NeirdaE wrote Starlight and Trixie Direct a Play for Moosetasm
    Ninjadeadbeard wrote Garland Graveyard Shift for NeirdaE
    Roundabout Recluse wrote Apples to Apples for Ninjadeadbeard
    MistyShadowz wrote The Times We Shared for NaiadSagaIotaOar
    Petrichord wrote A Gentle Nudge for Angel Midnight
    Jade Ring wrote Past, Future, and Present for Frazzle2Dazzle
    Jake The Army Guy wrote The Big Talk for Dreadnought
    The Red Parade wrote Heart Strings for Franso
    Greatazuredragon wrote A Hearth’s Warming Question for GaPJaxie

    Read More

    20 comments · 9,906 views
  • 152 weeks
    Reunions: A Swapped Roles Contest!

    Okay guys here's something fun presented by Nitro Indigo.

    Presented by me, I guess, but I digress.

    Last year, I (Nitro Indigo) noticed that there was a surprising lack of roleswap fanfics on this site. To fix that, I decided to run a roleswap contest over the summer themed around secrets. While it didn’t get many entries, it nevertheless attracted the attention of some big authors and was the origin of two of my favourite fics. Overall, I think it was a success, so I’ve decided to run another one!

    Read More

    57 comments · 16,426 views
  • 225 weeks
    Minor Rules and Reporting Update

    Hope everyone is enjoying the new year.

    Some small changes have been made to our rules as well as to the reporting process.

    Rules

    "No attacks directed at individuals or groups due to race, gender, gender identity, religion or sexual identity."

    This better clarifies our previously ill-defined hate speech rule and includes groups as well as individual attacks.

    "No celebration, glorification or encouragement of real life criminal activity."

    This includes past, present and potential future crimes.

    Read More

    747 comments · 15,922 views
  • 227 weeks
    Jinglemas 2019

    There's truly no time like the holidays. What's better than copious amounts of food, quality time with family and friends, hearing the sweet sound of Trans-Siberian Orchestra on repeat, and unmanagble financial stress from our capitalist overlords?

    Gift exchanges of course!


    Our Own Little Way of bringing Hearth's Warming to Fimfiction

    Read More

    28 comments · 8,402 views
Aug
1st
2013

Site Post » Realtime Notifications · 3:17pm Aug 1st, 2013

So I think the realtime notifications have been deployed successfully. Think being the operative word there. These things are a little tricky because they have a custom backend (written by Xaquseg) and multiple client code paths due to different browse features. Anyway...

So what the hell are "realtime notifications"?
Previously the notification system was based on polling. After 30 seconds, your browser sends a request to our servers to see if there's any new notifications. All we get back is a number, so at best all I could do was show "You have __ new notifations", which you'd see at the bottom right of the page. Now we use some fancy new html5 tech to connect permanently to the server and pipe down individual notifications from the server itself. This has 3 benefits:

1. Performance (maybe). This could be a performance hit or boost. No polling means we have less requests which could lower both cpu usage and bandwidth, but maintaining the connections could be a drain.
2. You get the actual notification information without having to check the notification page
3. You get them the instant they get sent, which is super cool!

What is the "s" button for on the notifications?
As well as changing how we download notifications, we also changed how they display. You can now choose to use html5 desktop notifications, which act like a desktop app, meaning that they will show over other windows and stack. Handy! If you click the "s" button it'll go to your Local Settings which lets you request browser permission for them.

Clicking a notification doesn't go to the page
This is unfortunately a bit of a quirk with using desktop notifications. Because they're detached from the window/tab, I have to bind the click event on their creation which means if you close that tab they're hooked to, the link will sadly no longer work. I will endeavour to try and fix this but no promises.

As usual, tell me if you have issues.

The technical side of things
I feel like some people might like to know how this all works, so this is the rough flow:

Server side
1. When notification is created, we make a request to a node.js server written by Xaquseg
2. This server maintains a list of connected users, and my request has a list of users to send to (some notifications like blogs go to multiple people)
3. The node.js server sends out server sent events to the connected clients

Client side
When we open a fimfiction page, we have two code paths to use:

Path one
1. If the browser supports shared web workers, we open a shared worker which is essentially a javascript thread for a domain. Ie, no matter how many fimfic tabs you have open, you only have 1 shared worker running.
2. This shared worker opens up an EventSource to our node.js server, and listens for notification messages. These are piped back to all open fimfiction tabs which are ordered by when the tab was last used
3. We check a timestamp to see when the last notification was shown and see if it's older than an "event id" variable (which is just a timestamp from the shared worker).
4. If it's older, we show the notification and updated the stored timestamp. This design means the notification will only be triggered by the newest tab.
5. Here we bind a click event so clicking the notification opens in this tab. This is the best way we can determine what tab to use.

Path two
1. Sadly shared workers are not supported by Firefox. For firefox we have to use the EventSource directly in the tab itself. This is BAD because it means we have to open up an EventSource PER TAB.
2. Thankfully I cam up with a solution to this. I run an event every couple of seconds in each Firefox tab, and we check LocalStorage (because local storage is persistent across tabs) to see if a timestamp variable has been updated. If it has been, there is an EventSource active in at least 1 fimfiction tab. Thus we don't need to create an EventSource! If, however, the timestamp is older, then no EventSource exists and we need to create one. There is potential for concurrency issues here but it's the best we can do with the current tech.

Regardless of path, we then show a notification. The notification shown depends on whether you've enabled desktop notifications or not, and whether your browser supports them.

Report knighty · 15,847 views ·
Comments ( 133 )

Not bad. I like them so far.

Seems to not update the icons, though.

~Skeeter The Lurker

Tis rather nifty.

This is new.

I am scared of new things.

But I shall give it a try

EDIT: oh lawd im using firefox

I wondered why when I clicked on the notification it didn't bring me here:rainbowderp:. Thanks for the update, Knighty:rainbowdetermined2:! This looks like a really awesome feature:rainbowkiss:.

Yes! Awesome stuff indeed, I hope it helps site performance too. Thanks for the upgrade, and for the transparency about how it works. :twilightsmile:

Change! Everybody scream.

It sounds both confusing and nice a the same time. I'll ride it out and figure it out eventually. Sounds more efficient.

webmemes.org(wtf)

You can change your background?! Whaaaaaaaa- it's time for change!

Also, this was very informative thank you.

They worked for me the first time on Firefox, but now I'm just getting the usual notifications again.
Edit: Working again, but when I click on them, I get directed to knighty's user page for some reason...

Knighty, it would be better if we could open a new tab for the notifications via right-click, like usual with the top-bar. :twilightsmile:

Knighty, you beast! :rainbowkiss: Marry me!

Once again my favorite browser proves to be a pain in the rear when it comes to keeping up with the improvements of the internet. Get it together, Firefox. Damn.

1255018 I have Firefox and it works.

That's pretty cool, my only question is, do the notifications only appear in a browser?

Also: it doesn't seem to update the notification thing, in case that hasn't already been said.

This sounds awesome. :rainbowdetermined2:

...Now my good old IE and I will go curl up in a corner. :pinkiesick:

What is the "s" button for on the notifications?

I can't find said button, is that only on the notifications you receive or something?

Edit: Missed the three lines about going to Local Settings was the same thing.

Edit2: As long as the (X) that showed up when you had FimFic open in a different tab this is fine for me. It was the best way to keep track for me.

1255033 Time to change browsers :twilightsmile:

Hmm, any chance of an option so that when I click on a notification, it opens in a new tab?

Hmm, also these notifications seem to be cloning themselves, and they don't disappear by themselves after a short amount of time, so I have to manually cross away all these replicas. :rainbowlaugh:

Those work well for me with Chrome. Knighty, I think you should become PM. Just in case. I really adore the effort you devote to the site, but this notifications thingy - it's simply ingenious. Finally, I won't divert my attention to checking notifications: they just show up at the bottom of the screen! I would give you a thousand hugs. :heart:

1255041 Quote from the news post:

Clicking a notification doesn't go to the page

This is unfortunately a bit of a quirk with using desktop notifications. Because they're detached from the window/tab, I have to bind the click event on their creation which means if you close that tab they're hooked to, the link will sadly no longer work. I will endeavour to try and fix this but no promises.

Perhaps due to a lack of coffee, but I do not see a way to disable the desktop notifications once they have been enabled.

knighty
Site Owner

1255057
True, there is no way on the page itself, but if you right click a notification you should be able to disable it in your browser (you can use the test button on the notification page to bring one up)

1255052

The notifications are linked to a page, and when I click on them, the page this it is linked to opens the link to the notification.

However, it's quite a bother when I'm getting five notifications, and each one is linked to one of my tabs, thus clicking on one will open it in a seemingly random tab.

It's quite a pain, actually. :twilightsheepish:

1255062 When I click one of these notifications it leads me to knighty's user page instead...

1255067

Really? :rainbowderp:

I'm using Google Chrome, perhaps that's why?

I clicked to see this comment using the desktop notification... :unsuresweetie:

1255069 Yes, really. Using Firefox.

knighty
Site Owner

1255079
Should be fixed. Accidentally using attr rather than data in jquery. Durr.

So if I get a notification for, say, a blog, the entire thing automatically shows up in the lower right? I'm sorry if I'm misunderstanding, you used so much nerd lingo that I desperately want to give you a swirly, and as such I really don't understand what's actually going on.

Not seeing the change in Chrome for android on my tablet, though I don't really know if it has support for desktop notifications. I wouldn't be that surprised if it doesn't.

Pretty Schwanky. Next up, the feature box, right?

And yet you still haven't installed a Clop tag (because let's be honest here, a lot of the clopfics on this site aren't actual romances). :derpytongue2:

Knighty, what the hell are you doing? :twilightoops:

Knighty, STAHP! :flutterrage:

1. Sadly shared workers are not supported by Firefox. For firefox we have to use the EventSource directly in the tab itself. This is BAD because it means we have to open up an EventSource PER TAB.

Time to switch to Chrome I guess ...

1255080 Um, sorry, but it kind of seems like it still redirects to your userpage...

I want to know if the Fimfiction server can list all the connections and how long they have been connected. And I want to know what is my best combo! :pinkiecrazy: Knighty! We need a stats page for how long we have been online total! :pinkiehappy:

Just tested this by favouring and unfavouring one of my stories, and it does appear to work for me (Chrome on Ubuntu Linux). It was pretty instantaneous too. I guess the old notifications system is still running because a short while later I got a regular notification too.

1255148 More stats seem like a good idea.
Is there really no way to bring back the "Estimated Words Read" counter?

When I go to my user settings... nothing happens when I click on "Click here to allow", and nothing happens when I click "Permitted (click to test)".

Browser is Opera 12.16

(Favoriting and unfavoriting one of my own stories, as PoweredByTea did, also does not result in any notifications.)

1255161 "Estimated time wasted per day" Would be a great stat. :twilightsmile:

Wow, love it. Great job again, Knighty. :heart:

I just received a notification of a new story being posted by an author I used to follow but no longer do. The notification is not reflected in my Feed. It appears there may be redundant listings for formerly favorited stories (as is apparent in the "Top Favorites Gallery" drop down lists) and formerly watched (as is apparent in the notifications).

HTML5 is getting mildly terrifying for me. "Now, HTML5 can send desktop notifications! Soon, HTML5 will be able to check your blood type! We're planning for HTML5 to be self-aware by 2016, and for humanity to crumble underneath its metal heel by 2018!"

Seriously, though, it seems pretty awesome. :twilightsmile:

This seems like an excellent addition to the site.

2. Thankfully I cam up with a solution to this.

We always believe in you. :rainbowkiss:
Gotta agree with Cola, though.

Wait, so now the icons don't automatically update and I can't open the notification link in a new tab?

What's even the point of this?

Gak

Just curious, how would one go about disabling this feature once it is enabled?

Just in case, how do you disable them?::unsuresweetie:

Login or register to comment