Some Things Never Get Old...
Just thought I’d share the expandable account menu now that I’ve ported it into the new language I’m using! It’s so addicting to just play around with GUI stuff once you’ve made it work...


#batman#dc#dc comics#tim drake#dick grayson#dc fanart#batfam#batfamily



seen from United States

seen from United States
seen from China
seen from United States
seen from United States
seen from Russia
seen from United States
seen from India
seen from China
seen from United States
seen from United Kingdom

seen from Sri Lanka

seen from United States
seen from United States
seen from France
seen from China
seen from Jordan
seen from Philippines

seen from Malaysia
seen from Jordan
Some Things Never Get Old...
Just thought I’d share the expandable account menu now that I’ve ported it into the new language I’m using! It’s so addicting to just play around with GUI stuff once you’ve made it work...
New video update showing the library's new editor and some WIP on the accounts.
Thoughts On Community And Culture
Community Tendencies
In any community the behaviour of its early participants will set the tone for it. An organisation run by wealthy people will naturally reflect the interests and perspectives of wealthy people.
A community influences and selects for the behaviour of its participants. If people in a community value a specific kind of humour it’s a natural human tendency to try to adapt to that sense of humour to fit in. Individuals adopt community behaviour and norms, and those who don’t tend to leave.
Considerations & Values
The tendencies described are generalisations. Each member of a given community won’t value the exact same thing or act the same way. The generalisations concern communities as a whole and how they function systemically. If you believe communities have those tendencies then some important questions arise:
Who are the early participants of the community?
What perspective do they have?
What are their values?
I’m not going to answer all those questions now but I list them to give you an idea of some of the things I was considering when I drafted the guidelines below. But first I would like to tackle just the final question about values, since they do provide context for the community guidelines.
What does StoryDevs value (besides interactive narratives)?
Participation of people with varied skill levels, disciplines, (dis)abilities, locations, ages, gender identities, orientations, races, ethnicities, economic statuses, privacy needs, and so on.
Education and services that are not profit-driven.
Social justice.
Some obvious things can be deduced about what StoryDevs must do in order to not contradict these values. For example, if we want a wide array of participants we will need an accessible site. If we want education and services that aren’t profit-driven they can’t be exclusively or substantially gated behind money.
Guidelines Draft
The guidelines below are not rules so much as a description of the site’s perspective on community. It’s a draft, intended for refinement and discussion. The points are not in any particular order.
A casual, light-hearted tone free of profanity doesn't automatically make a comment non-toxic. If someone is friendly while describing how they hope for effective genocide they are still a corrosive influence. Tolerating them long-term will make value #1 (participation of varied people) difficult to adhere to as their presence will drive the targeted people away.
Repeated announcements of apathy toward human suffering is toxic. The “repeated” here is important. Sometimes people have their own problems and cannot consider others’ and they may vent something to this effect. A distinction is drawn here between that and someone who makes a pointed effort to consistently state that a particular issue doesn’t affect them.
Repeatedly advancing the sentiment that a better world is not possible is toxic. Everyone has a bad day when they feel down or pessimistic. But there’s a difference between that and being a perpetual storm cloud who will respond with “this will never work” to everything. In order for the world to improve action must be taken. And for action to be taken one must believe that their actions can have an effect and that they are worthwhile. Criticism is necessary — feeding the desire to exclusively tear things down isn’t.
Repeatedly spreading misinformation is toxic. Again, “repeatedly” is important. Genuine mistakes happen, often even. A distinction is drawn here between that and someone spreading misinformation, being corrected, and then continuing to spread said misinformation anyway. In cases where someone is consistently incorrect but presents their information as true it may be necessary for staff to take some form of action. This is to help beginners (per value #1, which mentions varied skill-levels) who may have difficulty discerning incorrect info and waste their time on it.
Speculation and gossip about some subjects results in misinformation and baseless antipathy. For example, back-of-the-envelope calculations about how much a developer earns without any grounding in evidence and sound reasoning leads to people judging a developer by a set of criteria that hasn’t even been verified.
"No politics" rules are deeply immoral and insulate privileged community members from ever having to confront views, argumentation, and resources that contradict their own, fostering a broader culture of political ignorance. People develop their political views in the communities they belong to, few attend specifically political forums.
There is no boundary between a community (online or otherwise) and the "real world" — all communities are part of the world. All communities both affect the world and are in turn affected by it.
People are flawed and make mistakes — this is inevitable. In general the community should be accepting and forgiving. However we must recognise that some character flaws that result in damaging behaviour (e.g., racist beliefs) can take many years of personal reflection to address and overcome. While the community should strive to be an educational place that can assist in this change, there must be a line drawn where the behaviour is recognised as simply too damaging to community integrity to be dealt with inside of said community.
Dogpiling is almost never helpful even when the people piling on are right. For example, if someone unwittingly repeats a racist dog whistle what outcome do we want, ideally? Ideally we want them to realise and stop doing it. A dogpile of people saying “you’re racist”, while correct, doesn’t give the person any clear explanation or action they can take. The world is not ideal and the person may know exactly what they’re doing. If it’s a pattern of behaviour then it ought to result in ejection from the community but there needs to be room for recovery and improving people’s understanding.
The preservation of context, where possible, is important. Ideally the site’s design should strive to situate the content it produces or platforms in context, such that people viewing it can make informed judgements.
Community members’ behaviour offsite can be relevant. For example, if someone has an abusive history on social media they may be banned from the community, regardless of their behaviour inside the actual community. This is a natural development from guideline #7. This depends on a certain degree of confidence that it is indeed the same person, so care should be taken by staff to verify such things. Nothing prevents that person from making a sock account, however they won’t be able to leverage or associate their usual brand on or with the platform.
Being skilled or useful is not a good reason to retain a community member who is a jerk. There are plenty of nice and skilled developers.
Discussions where community members take pleasure in others’ misfortune (e.g., stripping of privileges) should be discouraged. The enforcement of rules is not for the sake of punishment, it’s done to protect the community and align it with its own values. This framing is important. A fixation of the deservedness of punishment is at odds with the value of social justice, undermining the possibility of redemption and re-integration.
Staff have a responsibility to be educated such that they can recognise subtle antagonisms such as racist dog whistles. Concerns expressed by community members ought to be considered as research prompts for staff.
Community design is possible and necessary. It’s a skill requiring both research and practice. The values of the site will not necessarily naturally occur, particularly when we consider the broader social context the site exists within. If a just community is unnatural or unlikely in current circumstances then it ought to be treated as other unnatural things we’ve invented like indoor plumbing — a thing that needs to be maintained in order to reap its benefit. It cannot just be left to evolve at the whims of chance and the starting conditions.
Community growth isn’t necessarily good. At times it may even be preferable to constrain growth or downsize.
Consultation is necessary, particularly when trying to determine policies concerning or affecting disadvantaged people. More generally any sort of design or practices intended to help others should periodically seek input from those people.
Conclusion
Again, the guidelines above are not rules. In fact, if you want any chance of people actually reading your rules they’d probably need to be considerably shorter. Some things aren’t necessary for non-staff to read, for example the #16 guideline about community growth not necessarily being good.
In any case I’d be interested in feedback. There’ll be some more updates on the visual design + feature implementation coming soon so look out for those as well.
StoryDevs is a place for developers of story-focused games and visual novels to find each other and collaborate. The site is under development but handle reservations are open: www.storydevs.com/reserve
Website: www.storydevs.com Patreon: https://www.patreon.com/jakebowkett Twitter: https://twitter.com/storydevs Discord: https://discord.gg/A2jtNqE Email: [email protected]
New Sections On The Site
The Talent Database has existed on StoryDevs for quite a while. Now there’s been work on a forum and what I’m calling a “public library”. Let’s look!
The Forums
The forums have a unique design despite the fact that they mostly work the same as the asset store, talent database, and library under the hood. I decided to lay it out in a traditional fashion with categories stacked atop one another because it’s helpful having the description directly underneath each category.
When I say it works the same under the hood, here’s what I mean:
The categories would usually be links on a traditional forum are actually checkboxes here. You can select multiple categories at the same time and view them, useful for browsing without something specific in mind.
The categories will also function more as tags, so a single thread could appear in multiple categories. An occasional issue on a traditional forum is the ambiguity about where to place threads. Having a handful of 15 - 20 tags helps with that.
Dev categories are pictured above — I consider them malleable at this stage. I’ll need to consult with folks from different areas about the best way to divide things up and how best to describe them accurately and succinctly. Other categories for marketing, legal, financial, and team management are there too.
The Library
The library is a place for resources that benefit the public. I use the term “public library” to get at the fact that it’s intended to be a community service. Sometimes you hear “library” used to describe the shit you bought on iTunes or whatever, and there are libraries which require membership in a particular group.
The goal of StoryDevs’ library is to provide a unified interface into a bunch of disparate resources, such that it can be used for research and historical preservation.
Any republished material must have the original author(s) permission and a link back to the original resource. Republished materials will also probably require re-formatting. Some criticism I’ve read is great but poorly formatted making it much less accessible — a standard format makes reading much easier.
Conclusion
Anyway, that’s something else I’ve been working on lately. Keep in mind that these additions are not live yet. I’m hoping for a big overhaul of the live site by the middle of this year.
There’s still even more updates I need to get around to writing but I might leave it a few days. Let me know what you think and have a nice day/night :)
StoryDevs is a place for developers of story-focused games and visual novels to find each other and collaborate. The site is under development but handle reservations are open: www.storydevs.com/reserve
Website: www.storydevs.com Patreon: https://www.patreon.com/jakebowkett Twitter: https://twitter.com/storydevs Discord: https://discord.gg/A2jtNqE Email: [email protected]
Multiple Talent Profiles & Error Handling
Time for another update!
Multiple Talent Profiles
I’m thinking of making it so you can have multiple talent profiles, allowing you to tailor them to specific circumstances. First, a quick refresher on talent profiles:
StoryDevs has a talent database which allows you to search for devs you want to work with. When you perform a search on the talent database, you’ll see a bunch of results (there’s only one above because I’m testing stuff!), and then ultimately you’ll end up viewing a talent profile such as the one on the right
Your talent profile shows an example of your work at the top, then your name, followed by a bunch of resume-ish stuff below such as projects you’ve worked on, skills you have, etc. Sometimes you’ll want to apply for two different positions with two different sets of requirements though. Well...!
Rather than editing one profile, having multiple profiles allows you to keep two or three and link to them depending on the type of people you’re trying to appeal to. Above you can see I have a “Programming - Web Dev“ and “Programming - Game Dev“. They’re both programming but you’d write your resume differently depending on which you were applying to.
Anyway, the design isn’t fully fleshed out yet. For example, I’m not sure how to handle the search with multiple profiles. Can two of your profiles appear in the same search if they both match? My intuition says that would be irritating for the person searching (”didn’t I just look at this person?”)
It may just be that you have to nominate one general searchable profile then make the rest accessible by direct link.
Error Handling
Error handling just means “when the program (in this case a website) fails, what happens?” In the past StoryDevs has been pretty hit or miss here. Sometimes it would gracefully tell you it can’t find what you’re looking for, other times... you’d get scary black and white code on the screen telling you the program has died.
Well, now it’s much better. Below is what happens when there’s a 404 — that’s the numerical code for when a website can’t find what you’re asking for because it’s be deleted, moved, or there was a URL typo.
The other type of error is a program error. This is a polite way of saying my code has a bug in it.
The difference between these two errors is that the 404 is most commonly caused by users (it’s not even really an error per se — just an acknowledgement that the thing can’t be found), while a program error is more serious and usually caused by the programmer.
Patreon Update
Recently my dad was unexpectedly hospitalised and will probably been in hospital for at least another 6 months, if not much longer. In that time no one has had access to his money, so I’ve had to cover his bills as well as mine. It’s no exaggeration to say the Patreon was the only way I could keep the site up last month, so I just wanted to say thanks for that.
Other than that, I’ve changed the $20 goal to $25. Previously it including hosting the site, plus the domain names. Now it’s both of those plus a private GitHub repository, which is $7 a month. Currently the Patreon is at $24 a month.
StoryDevs is a place for developers of story-focused games and visual novels to find each other and collaborate. The site is under development but handle reservations are open: www.storydevs.com/reserve
Website: www.storydevs.com Patreon: https://www.patreon.com/jakebowkett Twitter: https://twitter.com/storydevs Discord: https://discord.gg/A2jtNqE Email: [email protected]
Patreon Launched, 400+ Reserved Handles & More
Patreon Launched!
StoryDevs now has a Patreon page to allow you to support my work! Enough people have asked me how they can support the site that I decided to try it out. Even if you can only pledge $1 it still helps! From what I hear the majority of successful Patreons are comprised of smaller pledges.
There’s only one reward tier at the moment: $1 per month will get your Patreon name added to a permanent “thank-you” page on the site (you can opt-out or provide a pseudonym). A couple of additional ideas I had for rewards were:
Reserve up to two handles per email address (maybe something like $5 per month?)
A special role on the Discord server.
Again, haven’t thought too deeply about it yet. If anyone has their own ideas I’m open to them.
400+ Reserved Handles
Really happy to have crossed this milestone a while back! Your StoryDevs handle forms the link to your profile so reserving one allows you to ensure you get what you want. If you plan to reserve a handle please remember that you must confirm your email address — sometimes the confirmation email may end up in spam or take several minutes to arrive.
Interface For Switching/Editing Personas
What StoryDevs calls “personas” are basically built-in support for alt-accounts. Sometimes you want two or more accounts for a website either for privacy or because you want to keep things separate. This can be annoying to manage since you need multiple email addresses, multiple passwords, and can only be logged in as one at a time.
Personas allow you to create a new identity that looks like a completely separate account to the public. Unlike separate accounts, however, personas are be centrally managed, edited, and switched between via one account. You can create a new persona instantly without additional email verification.
In the future there will be a drop-down menu next to your handle in the upper right, in the header. It will be similar to the one on the left of the account view, allowing you to switch between your identities from anywhere on the site. I haven’t got around to adding it yet though!
That’s all for now — I’ve done more work on the site between posts but I’ll save that for another post! Again, if you can spare a dollar or two for the StoryDevs Patreon I’d really appreciate it!
StoryDevs is a place for developers of visual novels and story-focused games to find each other and collaborate. The site is under development but handle reservations are open: www.storydevs.com/reserve
Patreon (new!): https://www.patreon.com/jakebowkett Website: www.storydevs.com Twitter: https://twitter.com/storydevs Discord: https://discord.gg/A2jtNqE Email: [email protected]
Alt-Accounts, Redesigns, Modes Updated
It’s been quite a while since a substantial update so I want to talk about what’s been happening lately.
Account System Restored
As some of you may remember an account system was first technically working several months ago. Following a complete re-write of StoryDevs’ code base it’s now been restored. As before, you have an option to perform remote log-outs in case you’ve lost a device or accidentally stayed logged in at a public place:
There’s also been a bit of a redesign of the account layout. As you can see in the first picture your avatar is now under “basics” rather than in the left column and the account menu has it’s own search field. You’ll be able to type keywords there to find and access parts of your account (such as settings) quickly rather than having to roam through menus. Additionally, there’s now mock-ups for the inbox and settings:
The little [ + ] or [ – ] next “Messages (2)” indicates that it has a sub-menu... which I haven’t implemented yet. Once completed it’ll have options beneath it for “Inbox”, “Sent”, and maybe “Drafts”.
Your account settings will be grouped as logically as possible. As you can see in the above image there’s a “Global” category which contains settings that apply to both of your account’s... personas? Whaaaaaat?
Built-In Alt Accounts
On a whim I decided I’m just gonna design the site with alt-accounts as a feature, rather than making it a user workaround. People make alt accounts for all types of sites from social media to special interest forums. Let’s just embrace that need and try to make life easier for them.
First things first, you only need one email address and password to do this. From your account you’ll be able to choose a second handle and display name pair which can have its own associated talent profiles, assets, inbox, settings, etc. It’s not a different account because you’re still using the same log-in and can set global settings for both accounts, so I call them “personas” for now. The name isn’t really important and I may change it later.
It’s important to note that unlike a site such as Tumblr, there’s no “primary” persona. You could create a new one then delete your old one.
What are the advantages? Well here’s a few:
No need to log out and back in as your alt. Switching will be a keyboard shortcut or button away.
No need for a second email address.
Creating a new persona is easy: you just need to enter a new handle and display name.
Your account can detect that you have a second persona and be configured to warn/challenge you when posting so that you don’t accidentally post as the wrong one.
Modes Are More Robust
The “mode” the site is in just refers to what’s inside the columns. There’s a talent mode, an asset mode, and an account mode so far. When you switch modes it loads different stuff into the columns. That system is okay but I’ve extended it so that each mode knows more about what state it’s in.
For example, in the gif above the user is viewing their account settings. When they collapse all the columns they’ll see a label appear above the columns reading “Account > Settings” and each column itself has labels appropriate to what it contains. It’s possible to give the user this extra info because the mode knows what state it’s in.
The state of each mode also allows it to know which columns you’re likely to want to look at, as well as which columns it’s preferable to collapse if the window gets too narrow. If you’ve just performed a search in the talent database you presumably would like to see the results. If you decide to leave the talent database and view your account the talent mode’s state is remembered — when you return it’ll know what columns to expand and collapse, as well as what you were originally looking at.
States also have their own urls which allows you to link people to a mode in a particular state. This is handy if you want to link someone to a search you performed, or you’re trying to help someone by showing them where to go in their own account to do a particular thing.
Column Bug Fixed
There was a timing-related bug for column expanding and collapsing that could lead to things looking like this:
In a nutshell it was caused by the UI elements being initialised before the column had fully expanded. It was a rare bug but unacceptable given how screwed up it made things when it happened. The timing issue was caused by the columns using CSS transitions and having to guess when the transition ended by reading the stylesheet transition-duration value and then initialising the UI in a timeout set to execute after that duration had passed.
Since Internet Explorer can’t animate the columns with CSS I already had custom animation code lying around. Now all browsers use it and because it’s all in JavaScript I have full knowledge of the state of the animation every frame and can ensure initialisation happens when it’s supposed to.
Phew, so that’s it for now.
StoryDevs is a place for developers of visual novels and story-focused games to find each other and collaborate. The site is under development but handle reservations are open: www.storydevs.com/reserve
Website: www.storydevs.com Twitter: https://twitter.com/storydevs Discord: https://discord.gg/A2jtNqE Email: [email protected]
Back and forward browser buttons
Sometimes when you use sites like StoryDevs that don’t refresh the page it breaks the back button for your browser — you click back and it doesn’t do anything. I rarely use the back button but there may be other folks who do, so I’ve made some progress toward getting it to work like it normally does:
Any time the URL changes in the address bar you’ll be able to go back to the previous address with back. Forward works too.
Why This (Of All Things!) Is Important
People expect websites to work a particular way. Off the top of my head some standard functionality is:
“back” button takes you back to the previous page
middle-clicking a link opens it in a new tab
space button and arrow keys allow you to scroll
various browser shortcuts like ctrl+tab (cycling tabs), ctrl+l (focusing address bar), and so on make browsing convenient
I don’t really think StoryDevs needs a back button. I’d even go so far as to say you’re using the site wrong if you use it. But adherence to a certain set of standards is important. Not everyone can be expected to be familiar with your site and more importantly you just don’t know how a particular piece of functionality is used. People may depend on this or that common feature, perhaps due to a lack of time to change, tools they use, or disability.
So wherever I can I try to ensure standard functionality remains intact, even when I think my version is better. Ultimately I’m trying to make people’s lives more convenient — if someone clicks the back button and it doesn’t work that isn’t more convenient. There’s one of two cases:
The person clicking “back” is receptive to a new way of interacting with the site and I haven’t done a good enough job of educating them how to do that.
They’re not receptive and I’ve broken the only way they want to interact with the site (i.e., the standard way)
Both these cases are my fault.
Anyway, this is something I began addressing with the site’s links a little while back. The original links wouldn’t allow you to middle click them to open a new tab. Now they do, as you can see above. I’ll try to retain as much original functionality as I can going forward. No pun intended. Well now that I’ve typed that and had a chance to edit it the pun is intended.
StoryDevs is a place for developers of visual novels and story-focused games to find each other and collaborate. The site is under development but handle reservations are open: www.storydevs.com/reserve
Website: www.storydevs.com Twitter: https://twitter.com/storydevs Discord: https://discord.gg/A2jtNqE Email: [email protected]