Dec 1, 2019 - Discord Bot - Version 1.8.7 Released

Comments

Discord Bot Version 1.8.7

Minor bug fix for tonight – if you didn’t have your Picarto profile fully filled out we’d try to send empty fields over to Discord, causing Discord to reject the message, now we don’t try to fill out fields if the value is empty or null.

Release Notes

  • Bug
    • [BOT-16] - Error When Filling Out Embed For Picarto

Nov 22, 2019 - Discord Bot - Version 1.8.6 Released

Comments

Discord Bot Version 1.8.6

Pushed out another fix, one that had been plaguing us for awhile, found out that if you followed someone and then deleted the channel that messages would fail to send to that channel and halting sending further messages for that user.

Now if we attempt to send a notification for a streamer to a guild that doesnt exist, a user that doesn’t exist or a text channel that doesn’t exist, we’ll break the notification link and continue on.

Release Notes

  • Bug
    • [BOT-15] - Null Reference Exception Due To Abandoned Channels/Guilds

Nov 21, 2019 - Discord Bot - Version 1.8.5 Released

Comments

Discord Bot Version 1.8.5

We released a minor patch of the Discord bot. Entirely just bug fixes and better logging to check for other issues.

Release Notes

  • Bugs
    • [BOT-11] - Can’t Remove/Readd New Accounts
    • [BOT-12] - Documentation Page Vomits JSON Everywhere
    • [BOT-14] - Can’t Copy Commands From Documentation

Nov 3, 2019 - FriskyPaws Update - Tools and More!

Comments

FriskyPaws Update

The past week has been crazy since ASE, we’ve been stomping a ton of things out:

  • Images “fill” the preview box
  • Icomoon support
  • Site footer
  • Support for all kinds of social media
  • Admin control panel
  • Reset password functionality
  • User account confirmation
  • Email Subsystem

So How Much Further?

At this point what I can immediately see before we go beta:

  • Moderation tooling needs at least basic support so we can take actions
  • Full audit and change logging need to be added
  • Some security checks are missing, mostly related to the admin control panel
  • Following other users for uploaded content is a must
  • Commenting needs to be fully implemented
  • Private messages
  • At least requesting character and artist profile ownership

And How Long Before Gold?

  • Following artists and characters
  • Better tools for managing characters and artist accounts
  • Media merging tools

I may be a little off on that… but we’re getting close! I’ve been moving a lot of the smaller finer-detailed stuff to our Jira system located at jira.friskypaws.net, we’re going to keep the Trello board for features and higher-level concepts, while we’re going to move all lower-level (bugs, tasks, nitty-gritty) tasks to Jira. This will allow us to have a highly accessible feature-rich front for interacting, but a massive multi-hundred issue system without clogging Trello with nightmares.

I expect that the 0.9.0 (beta) and 1.0.0 (gold) releases to start to settle down and properly have all to-do work in them soon.

Images Fill Preview Box

All previews now “fill the box” on gallery pages, just a little visual improvement.

Image Fill

As part of that we’ve been keeping an eye on things working well on mobile (some minor issues still need to be addressed):

Icomoon Support

We added support for Icomoon, a platform for importing icons for all kinds of use, super easy for us to move forward with more visual elements. We use them for all of our social media links in the footer but may be sprinkling it all over for more.

We got a new site footer, nothing fancy, just our social media/site rules/terms of service.

Footer

Support For More Social Media

We added a ton of social media platforms we link to now, adding more is trivial. The full list right now is:

  • Dealer’s Den
  • DeviantArt
  • Discord
  • Etsy
  • Facebook
  • Furbuy
  • Furry Network
  • Inkbunny
  • Ko-Fi
  • Patreon
  • Picarto
  • Second Life
  • Sofurry
  • Telegram
  • Twitter
  • Weasyl
  • Website
  • YouTube

Social Media

Of course we’re going to clean up the profile editor a bit, gets really silly with all these social media items listed by default.

Admin Control Panel

We have some work done on our back-end admin control panel, the basics for managing Artists, Characters, Media, Reports and Users.

The biggest thing to tackle is tooling for report management.

E-Mail Subsystem

We added the boring e-mail subsystem, so we have some basic notification options.

Reset Password Functionality

Added the ability for users to reset passwords, nothing fancy here.

User Account Confirmation

We do require a valid e-mail address, so we added e-mail confirmation flows.

FriskyPaws Discord Bot

Some minor changes on the Discord bot went out with v1.8.4:

  • Clean up some old warnings
  • Prevent the bot from retrying status scans
  • Mixer notifications will no longer have HTML in them

Retrying Status Scans

We had a bug where Picarto’s API would start returning bad results, and our system would re-queue scan jobs. Meanwhile additional jobs were also being queued causing multiple jobs to all fire in parallel once Picarto stopped sending bad responses, this could result in multiple notifications going out.

Now we never retry jobs – they’ll just get picked up again after a short period.

Mixer Notifications Having HTML

This is a semi-fun one – not too much we can do for the time being other than a best-effort stripping of the HTML, so that’s what we’ve done.

Oct 27, 2019 - FriskyPaws ASE Panel 2019

Comments

ASE 2019 “What is FriskyPaws” Panel

Hey everyone, just freshly back from our panel at ASE and it was a blast, we had been sitting on some changes that we wanted to wait till ASE to publish.

Profile

Search

Registration is up, profiles are up (including characters, uploads, favorites, gallery), a new dark theme (which is the only theme right now), some clean-up of the main UI.

So, where have we been?

Sorry for the long delay, we ended up getting picked up on a large project, ate a ton of hours from our entire team. Good news: we’ve decided that we’ll no longer “take a dev unless we replace them” on FriskyPaws.

With that – we picked up two new developers – Malachai and Pyrozen, they’re currently 100% dedicated to FriskyPaws and have been helping crank out some stuff.

The Panel

Our panel went well, a lot more people showed up than I anticipated, lots of feedback, lots of interest, good questions.

Which on that note, the questions:

What are you doing about security? Credit cards and processing?

Currently there are very few plans in place for credit card processing (way down the road with the marketplace), out of the gate we’ll be facilitating artist’s normal workflows through PayPal and the like.

Now on that subject I personally have a lot of experience dealing with PCI-DSS (credit card security industry standard) for companies that store credit cards on-site, which is going to be way more stringent than what we’re looking to do (Stripe). We will provide a full PCI-DSS SAQ A/A-EP depending on what we’re doing.

As for security for our user accounts, we’re leveraging ASP.NET Core Identity Version 2 right now, which defaults to PBKDF2 with HMAC-SHA1, 128-bit salt, 256-bit subkey, 1000 iterations, version 3 uses HMAC-SHA256 and 10k iterations which we will be upgrading to as soon as the other dependencies catch up.

On top of the above, we’ve already caught the ear of a few security furs to help us do some pentesting on our platform when we get into Beta, we want this system beat up, we’ve considered a bounty program but we’re not sure how we’d fund that continuously (maybe we can provide other perks? But still… have to find something we find fair on behalf of those helping us).

Where are you currently planning on hosting it?

Currently we’re on a stack that is used for other stuff. We own the servers, we’re on a 100mbit fiber line, we have ~400GB of RAM available in our cluster and 75Ghz of processing power along with 22TB of usable high-performance and resilient storage. We have lots of room for cost-effective upgrades too.

This means that our monthly bill is quite low, most funding goes towards developers and assets to the site, not paying a cloud provider to keep the lights on.

We have a couple minor gaps we need to close (redundancy on some network gear for the most part), but nothing too bad, our Discord bot stays online more than Discord does – I think that’s a good enough.

How do you plan on funding this? Will there be premium features for paying users?

We’re currently funding this through other projects we’re doing, I have zero plans to rely on FriskyPaws to bring in funding to make it viable.

We’ve considered premium features but every time we come up with something I go “but… that is something I want everyone to enjoy”, so far, I think the best we’ve got are unique badges for users that support us.

What are you doing to try to prevent moderator bias in decision making?

This is always something that is difficult to combat, but a few major things we’re looking to do:

  • Moderator transparency: decisions are not made in the dark
  • Clear and fairly enforced rules: moderator performance is evaluated off of their ability to do so
  • Elevation system: issues can be elevated up the chain-of-command if a moderator isn’t adhering to the rules, and the moderator can be held accountable
  • Zero-shame system: we all make mistakes, people overstep bounds, empathy is required even when moderating content or people’s behavior
  • Avoid monolithic decisions: stay away from top-down internal decisions, encourage discussion with our staff, don’t just rubber-stamp everything, don’t just be filled with nepotistic behaviors

Ultimately people aren’t robots and it’s hard to make a completely impartial system – but we can do our best to serve the community first and foremost. The importance is the acknowledgement that we’re not always right either and to have ways to correct for that.

What are you doing about witch hunts?

This is a pretty straight forward one: our decisions for things like replacing Artist Beware is that we’ve realized there are a reason these hunts happen, but the ability to do anything about them is poor at best.

  • There is a thin line between call-outs and harassment, we will not tolerate the later
  • We want to discourage the use of call-outs by the very nature of addressing why call-outs happen
  • We do want to facilitate that people are held accountable, we want artists that take advantage of commissioners to get reviews that reflect that negative experience, we want commissioners that are a pain to get the same
  • Users that are violating our rules need to be reported and handled (content removal, temp bans, system access removal, permanent bans)
  • If a user isn’t violating a rule but is being disruptive, the rules need to reviewed and updated
  • If a moderator isn’t doing their job, elevate the ticket
  • If the handling of a ticket doesn’t seem appropriate and we want to have a wider discussion about it in the community, we’re up for discussing it during one of our regular community touch-points

Are you looking for more developers?

Right now we’re not, but that will probably change over the next couple months, we’re currently on ASP.NET Core 2.x and a lot of our front-end components are Vue.

Are you going to have a mobile app?

Yes! Eventually. Currently we’re looking to ship with pretty solid mobile support. Eventually we’ll be maturing that into an App you can download in the store. For now we’re just going to direct people to go to the site on their mobile device – the plan is to have almost the exact same experience on both (outside of we cannot provide mobile notifications on iOS using the website due to Apple not adopting new web standards, we can on Android and your Desktop though!)

Is it just images only?

First iteration, yes. But we’re looking to add support for music and video and have debated even supporting things like games.

Are you looking to use AI/Machine Learning?

We’ve eyeballed it for some fun experimental stuff, but nothing concrete. Anything from auto-tagging to character auto-identification to moderation workload help. We do know that machine learning can be really hit-and-miss so it’s more of a tool to help.


I think that covers everything, going to admit I’m running off these questions off of memory (my bad, should have written a lot of them down). If anyone was there and remembers one please do tell me! And feel free to hit us up for any other questions!

Some additional updates tonight

I added a temp page at https://friskypaws.net/ that details all of our resources

I also uploaded our slides here: https://presentations.friskypaws.net/presentations/what-is-friskypaws

Stay tuned

Next blog should be going over how close we are and what needs to be done, along with release plans.

Jan 29, 2019 - FriskyPaws Update

Comments

FriskyPaws Update

Busy work, much in progress

First, sorry for the delay, trying to keep these coming out before Sunday, things have been busy all around.

This week we’ve only got a couple items completed, mostly some quality-of-life improvements on software verification and input validation.

But there is a lot coming down the pipe…

We’re starting to tackle some of the larger projects, stuff like putting in the user interfaces, building and polishing those tools and designs and wiring everything up.

Advanced Searching

A bit of work is almost complete with advanced searching, which allows building and sharing complex search queries.

Tagging UI

And a big piece is pulling together our UX with tagging, it’s still really young though. Functionally it works but it still needs a bit of polish as we smooth out the user experience with it.

Upload Buttons

But as you can see, we provide auto-complete with preview images, still needs:

  • A lot of UX polish, refer to sizing/stylizing/the exit button/etc.
  • Displaying the owner’s information.
  • Picking the character’s avatar – not just the first picture in their gallery.

But it’s coming along, expect all of this and more next week.

Registration and Account Security

Another big piece currently being worked on, so far we’re eyeballing how deep into 2FA/3rd party log-ins (Facebook/Google+/etc.) we’re going to get into, but it’s very possible we’ll roll with all of this on first release, just some nice bits of account security and/or ease of use with other platforms.

Jan 20, 2019 - FriskyPaws Update

Comments

FriskyPaws Update

Minor UI fixes

Saphire has been cranking out all the little broken UI bits from the bootstrap 3 -> bootstrap 4 upgrade, here is the new upload buttons working now:

Upload Buttons

Artist Support

We now have support for adding artist records, it’s pretty basic right now but allows you to tag art with any number of artists and an artist to have a profile.

Generic Reports

ECrownofFire made our reporting system “generic” allowing us to report all different kinds of objects (comments, artists, users, etc.) with a much more simple unified structure. Less code duplication is always good.

Testing Improvements

We broke out testing to run on Linux due to issues with Docker for Windows and Continuous Integration, it was just easier to rely on Linux for all of that.

As part of that we’re testing our Ceph platform now.

Media Tests For Exceptions

We added a few new test cases, specifically:

  • Erroring when attempting to upload the same image twice.
  • Erroring when attempting to upload more than the upload throttling threshold.

And the reason we love testing comes out: we found an off-by-one error with the throttling threshold (eg: if set to “10” it wouldn’t throw till trying to upload the 12th image instead of throwing on attempting to upload the 11th).

New Code Coverage Platforms

ECrownofFire found an alternative code coverage solution to dotcover now that we’re on Linux – coverlot & coveralls is a good combination for us now:

Code Coverage Coveralls

Upcoming Work

As a lot of back-end code starts to wrap up we start running into focusing more on the front-end, so expect a lot more visuals over the next couple of weeks!

Jan 10, 2019 - FriskyPaws Update

Comments

FriskyPaws Update

We’ve been cranking out a lot of work recently. Over the past week we have:

Test counts are climbing, we’re focusing a lot on the back-end and will come around and implement more of the front-end once that’s all good:

Tests

A much desired feature that we’ve dropped a few times before, but figure we’d do an official sneak-peek here:

Uploads

UX still has a lot to do, but here are some sneak peeks.

Characters Search

Dec 9, 2017 - FriskyPaws And Patreon

Comments

What went down with Patreon

So not that we have to fill people in too much on this, but Patreon’s new fee structure caused quite a stir. We think this is a good time that we start to unwrap something that we’ve had hidden on FriskyPaw’s secret Trello board – how we wanted to improve artist support.

Artist support and where we feel it fails on Patreon

Patreon has been (for the most part) a positive platform for many creators. In the furry community that has mainly been artists. However one thing we’ve always felt it fall flat on was distributing funds more effectively. We typically had to pitch sometimes as much as $5-10+ to an artist we liked, minimums were also $1, this leads to very few very popular artists to bring in a decent amount of money, with the rest fighting for the scraps left over.

With Patreon’s fee changes, this problem is compunded even more.

A little bit about what we wanted to do

So a few things that we noticed about Patreon:

  • Pledges were individual, meaning fees were compounded
  • (Real) microtransactions are not a thing.
  • People seemed to support fewer artists than they’d like.

What we’d like to do is:

  • Take a pledge amount once a month (or maybe annually?), fees would only apply for this transaction.
  • We can divvy this up, even to fractions of a dollar between the artists you want to support.
  • Even use our algorithms to distribute to artists that you commonly consume their content.

Known Weaknesses

Our system isn’t perfect either, and it’s in the baby stages, we do have to still consider:

  • Gaming the system, we don’t want artists that make a lot of low-quality work to pull in more than artists that put a lot of time and effort info fewer pieces.
  • How do we want to do per-delivered item pledges?
  • We’re mostly postulating on the whole new distribution structure being more efficient to bring in more money for artists, it’s kind of a gamble.

About fees….

So the sad truth about Patreon is that their $0.35 + 2.9% is actually pretty much the industry standard, if we spun this up today this is what we would be charged to run credit cards. While we’ve pretty much budgeted a lot of FriskyPaws.net’s costs as “coming out of our pocket for the forseeable future”, this is one cost we cannot take on our own. We will have to pass this fee on.

Also some day we’d like to bring in some money into FriskyPaws, we’d like to get artists to do some work for us more often (again, that is coming out of our pockets for now), and we’d like to be able to dedicate more time to this and less time to our jobs so, so we may not keep our fees at cost forever, but this is highly dependent on other opportunities and ideas and feedback from the community.

What we need from you

Some feedback!

We’re making some major guesses on stuff here that are based off some really rough numbers and points from Patreon. So we need to hear from you:

  • Does this even sound interesting?
  • How often are you making a lot of $1-2 pledges on Patreon?
  • How much monthly would you put towards a list of artists that you really want to support?
  • How long is that list?
  • Any other feedback?