denise: Image: Me, facing away from camera, on top of the Castel Sant'Angelo in Rome (Default)
Denise ([staff profile] denise) wrote in [site community profile] dw_news2012-09-26 05:13 am

Dreamwidth Update: 26 September, 2012

Hello, Dreamwidth! It has been a busy busy week in these parts, and we are here to bring you a collection of new and interesting things you can play with and information about the awesome things we've been up to.

Behind the cut:

* Development
* Technical backend improvements
* S2 siteskinned comments beta
* Create Entries beta updated
* Site skins now HTML5
* New styles and themes
* Email Notification Woes
* Import Problems -- Fixed, But Tell Us Anyway
* Paid Time
* Miscellaneous Other Stuff


We did a code push this weekend, so there is so much stuff new and improved that I have to share with you, omg. I'll go through some of the really awesome stuff in a bit, but if you want to see everything, we have code tours:

13 July - 25 Aug
26 Aug - 19 Sept

I also want to call out a welcome to new contributors [personal profile] carisma_sensei, [personal profile] dunvi, [personal profile] kunzite, and [personal profile] swaldman!

Some highlights of bugfixes and new features:

* Poll responses will now be sorted chronological by response order, not by the userid of the responder.

* Pages that have a "work as community" dropdown will also now have a statement of what user you're currently working as.

* Emails generated by actions taken in moderating communities will always include a copy of the entry that's being accepted (previously it only included the post if it was being rejected).

* Until we can take some more steps to make our morass of settings make more sense (it's definitely something we want to do!) there will be better linkage between the Manage Settings page for a community and the community posting settings page.

* We've expanded the Links List in your journal so you can now specify a title for each link (to be displayed on mouseover) in addition to the link and the link text.

* We made it clearer that the "Delete All" message in your inbox only applies to the particular subfolder you're looking at, if you're looking at a subfolder.

And many, many more, including:

Technical backend improvements

(Which sounds super, super dirty, I know.)

We've been working our fingers off for the past few months to make it possible to switch from our old version control system (Mercurial) to our new version control system (Git, hosted by GitHub). We also took the migration as a chance to fix up a ton of the process that annoyed the crap out of us (and made it hard to explain things to newcomers), and a bunch of stuff that worked great thirteen (!) years ago when Brad Fitzpatrick first started development on LiveJournal but that other people have come up with better ways of doing in the meantime.

Special shout-outs go to [personal profile] fu, [staff profile] mark, [personal profile] exor674, [personal profile] kareila, [personal profile] pauamma, [personal profile] foxfirefey, and [personal profile] ninetydegrees, all of whom did a ton of work in making the change possible, documenting the new process, or helping us to find glitches in the new process so we could fix them, and to [personal profile] cesy for a ton of useful advice. This changeover has been several months in the making, and I'm sure I've missed a few people who also helped out (and I apologize to anybody I left out!) It's been a really awesome example of everybody gamely pitching in and learning new stuff left and right in order to make the process better for everybody.

S2 siteskinned comments beta

One of our long-running backend cleanup tasks is, over time, to replace the existing templating language that builds the pages on the site with a newer, more modern templating language.

At the time we forked our code from LiveJournal, most of the pages on the site except for individual journals were generated by a custom templating language known as BML, which Brad invented for the site he ran before LJ (because at the time there really wasn't an alternative) and carried over to LJ. BML hasn't been under active development in years, though, because it got to the point where it was good enough for the site and it wasn't worth spending the time to make it better. In the intervening years, several other good templating languages have arisen, many of which have much more widespread adoption, better documentation, and more modern features. So, we're slowly converting pages from using BML to using Template Toolkit, the new templating language we've chosen.

Individual journals, however, are generated by a custom programming language called S2 (if you've ever created a custom style, on LJ or on Dreamwidth, you've probably dabbled a bit in S2). Except! If you had custom comment pages turned off in your journal, so that your entries and comment pages showed in the site skin instead of in your journal style, the entry or comment page was generated through BML and the site templating language.

(It was really, really, really old code, too. Like, really. Really, really, really old.)

Having the two separate ways to generate an entry page is super inefficient, because it means that when we change something in one, we have to change it in the other as well. (And, as people have no doubt noticed, we haven't been all that great at keeping them synchronized up.) So, we're working on making it so that the comment page is generated by S2, no matter if you're viewing it in the site skin or not. This has meant a lot of work to make the S2-generated entry/comment pages match the old site-skinned comment pages, and it's been a daunting task. [personal profile] exor674 did a lot of the backend changes necessary to even make it possible, with help from [personal profile] fu, and [personal profile] momijizukamori did most of the CSS and S2 work to create the actual views, with help from [personal profile] kunzite.

Changes like this are super huge, and there's always the chance that we missed something, so we're running the converted comment pages through our beta features system first, in order to make sure we didn't miss anything. If you'd like to help us out by testing, go to the Beta Features page and scroll to the third of the three beta tests, labeled "New S2 Comment Pages". Bugs or display weirdnesses can be reported in the entry for the S2 comment pages test in [site community profile] dw_beta, and you can see the current list of known/fixed issues that we've identified.

Create Entries beta updated

A while back we rolled out the beta version of our new Create Entries page, which will eventually become the page you use to update your journal. (We're redesigning it because the existing update page really won't work well for things we want to add in the future, like scheduled posts, draft posts, more integrated media hosting, and other spiffy new features.) It's a super huge undertaking, because as part of all this, we've had to pretty much reinvent a ton of stuff on the backend to make it possible. We've been tweaking it and fixing bugs with it based on your feedback for a while, as well as working on the last few things that haven't been implemented yet, and this push added one of those things that had been missing: the ability to edit your entries in the new form (as well as posting entries).

We still haven't implemented a rich text editor (which has proven annoyingly hard), draft entries of any type (including auto-saving of entries you're typing), or the "don't autoformat" button (although if that's the only thing keeping you from switching over, you can surround things that shouldn't be autoformatted in <raw-code>...</raw-code> tags), so if those things are really important to your use of Dreamwidth, you should hold off on enabling the beta version. But we've fixed a ton of the bugs that people have reported, too, so if you tried it out and ran into bugs with it, you might want to try again.

To enable the beta Create Entries page, go to the Beta Features page and scroll to the second of the three beta tests, labeled "New Create Entries Page". Once you've enabled it, visit the new page and hit the gear icon in the upper right hand corner of the page () to turn individual panels on and off, and to drag and drop the panels to rearrange them to your satisfaction. Bugs or display weirdnesses can be reported in the entry for the Create Entries editing page.

Site skins now HTML5

Thanks to the tireless efforts of [personal profile] deborah, all of our site skins are now written in HTML5, the newest version of the HTML spec. This is so that we can make the site better for people who access it with assistive technology, and also to take future advantage of the really flexible and powerful things that have been added to the markup language.

I did totally forget to let people know in advance of the codepush that any custom Greasemonkey or Stylish skins that people have created would probably break a little -- I'm sorry for forgetting to mention that! If you're using a custom skin, [personal profile] ninetydegrees commented with the CSS selectors that changed for you to use in changing your custom skins.

New styles and themes

This code push also included a screaming whackton (that's a technical term) of new styles and themes, thanks to the amazing work of the people in [site community profile] dreamscapes and [personal profile] momijizukamori and [personal profile] ninetydegrees, theme-patching machines. This push included over 100 new themes, and four entirely new styles: Ciel by [personal profile] carisma_sensei, Corinthian by [personal profile] momijizukamori, Librarian's Dream by [personal profile] branchandroot, and Paper Me by [personal profile] cimorene.

With this push, we've surpassed over 1000 available themes for your journal -- 1,120, to be precise. That's kind of freaking awesome.

There's an overview of the new stuff in [site community profile] dw_styles. If it's been a while since you've checked out the available themes and styles for your journal, we've added a "New" tab in the Select Journal Style area, which will hold all themes that have been added in the last two code pushes. You can also view the base styles, and if you click on the style name, it will show you all themes that are available for the style. Once you've picked a theme, the Customize Journal Style page will allow you to tweak it to your heart's content, from choosing where to put the sidebar (or how many sidebars you want, if any) to changing the colors to more.

Also, I'm pleased to announce the (belated) results of our polling for the new default theme for new accounts! Newly-created accounts past this point, until our next change, will use the "Early Edition" theme for the Five AM style. This won't affect accounts that have already been created, but newly-created accounts will use that style and theme for a while.

Email Notification Woes

Several Gmail users have let us know that Gmail appears to be marking email notifications from us as spam again. This happens from time to time: because of the volume of email we send out, and because of the forwarding email addresses (which get a lot of spam, and therefore looks like we're sending a lot of spam), many providers will give us the side-eye of You Are Possibly A Spammer, You.

There are some things we can do whenever this happens, and we do do them, but because email is kind of a deeply flawed protocol (because it was created back in the day when if somebody was doing something stupid with it, their network admin could walk down the hall and whack them upside the back of the head and tell them to stop being stupid) it is super hard to make sure that it will work for everybody.

So, if you use Gmail and you've been missing email from us, check your spam folder: it's probably there. You can sometimes work around this by explicitly adding "" to your Contacts, or by setting up a recipe in your inbox so that email from that address is delivered to a sub-folder of your inbox (we've been told that Gmail handles filtering recipes before they spam-filter, and assumes that any mail you've set up to divert into a separate folder is wanted mail). You might also want to contact them and let them know that their spam-filtering algorithm is depriving you of wanted mail, and make sure to check the "this is not spam" on any mail that has been diverted into your spam folders to help train their detectors.

Meanwhile, especially if you're using a huge webmail provider, please be careful not to mark email from us as spam, since many systems will learn from that over time. If you want to stop getting email notifications, you can change your settings on the Notifications tab of Account Settings. Likewise, if you get a spam comment to your journal or a spammy private message, use the "delete and mark as spam" option on the site (which will send it to the vigilant [site community profile] dw_antispam team) instead of marking the notification itself as spam inside your email program. (And the antispam team would also like to remind you that while it's best to report spam if you aren't sure if it's spam or not, people breaking community rules should just be deleted, not deleted & marked as spam!)

Import Problems -- Fixed, But Tell Us Anyway

A few weeks ago, people were reporting a problem where they'd request an import from another site and the system would tell them the import was successful, but comments weren't being imported.

We've found and fixed the thing that was causing the issue, but if you were one of the accounts that were affected and your comments still haven't been added to your account, we need you to tell us about it. [staff profile] mark was able to automatically fix some of the accounts that were affected, but not all.

If you're one of the people whose comments are still missing, or who got duplicated entries when doing an import, please open a support request in the Importer category to let us know. (I did contact a few people who had open support requests already, so if you already got a support reply from me, you don't need to do this again.)

Paid Time

It's been a while since we've said a public thank you to the people who make it possible for us to keep this place running! We have no advertisers, no venture capitalists, and no outside investors: our only source of income is your payments to us. That means that we're focused 100% on doing things that make you happy, not pleasing third parties who don't even use the site themselves.

If you'd like to show your support for us and to make it possible for us to do even more awesome things in the future, you can buy paid time, for yourself or for a friend. You can also buy extra icon spaces that you can use whenever your account is paid, or Dreamwidth Points that can be used in the shop in the future or given to a friend later.

A side note about paid time: in the past, we've transfered paid time from one account to another for anyone who asked, as a favor for the people who supported us. Unfortunately, paid time transfer has to be done manually right now, and the number of requests has really exploded lately -- it's started to take up a significant portion of my time. We're going to have to start placing some more restrictions on paid time transfer, so if you aren't sure whether you're going to keep using an account for a while, you may want to start buying paid time in smaller increments or buying a batch of Dreamwidth Points and then applying them to paid time one month at a time or so. (There's no real penalty for buying paid time in smaller batches: it costs roughly the same on a per-month basis, with a few pennies' difference here and there to make the numbers come out even.)

Miscellaneous Other Stuff

A collection of stuff that isn't involved enough to get its own header:

* [staff profile] mark and I will both be attending 2013 in Canberra, Australia at the end of January! We'll both be speaking: he'll be delivering "Systems Administration: Server and Process Behavior" on Thursday, and I'll be delivering "Beyond Alt Text: What Every Project Should Know About Accessibility" on Friday. We've both been to LCA before and found it to be an awesome conference full of awesome people, so if you're in a place where you can come, you totally should.

* Back in December, we pledged 10% of our revenue that month to the Ada Initiative, a nonprofit organization that works to improve the representative of women in "open stuff", including open source software. You can read their blog post about our donation! (I believe in what they're doing so much that I donate my time to serve on their board of directors in an advisory capacity.) I went to their AdaCamp DC unconference a few months ago, and it was one of the most awesome conference experiences I've ever had. The Ada Initiative is holding an individual fundraising drive at the moment to allow them to keep doing awesome work; if you have some spare cash, please consider donating to the cause.

* One of the things we care about a lot is making Dreamwidth accessible to people who are using all kinds of assistive technology -- it's one of our primary goals for the site! This is something you can help with, too. If you have some spare time, visit your Manage Icons page, and take a few minutes to fill out the "Description" field for a few of your icons. That field is used as the "alt" text every time the icon is displayed, which is the text that screenreaders read out to people who are listening to pages instead of viewing them. Good descriptions are short and succinct -- you might explain what's happening in the icon, describe the mood the icon's intended to evoke, or transcribe the text. Check out my icons page for a sampling of some of the approaches.

* Because I've just been all super dorky all over our irc channel about how amazingly awesome all of our volunteer contributors are, I wanted to repeat that here! [personal profile] kareila has just compiled our quarterly(ish) list of code, theme, and styles contributors (and it's awesome to see how many people are currently active!) and you can see the list of people who have gotten "support points" for helping out in the public support area. Our antispam team (listed in the userinfo of [site community profile] dw_antispam) does amazing work to keep the site spammer-free (or at least spammer-repellant), and everybody who offers opinions in [site community profile] dw_accessibility helps keep us one of the more accessible sites on the internet. The designers in [site community profile] dreamscapes help make the site pretty, and everybody who's opted into one of our public beta tests and given feedback or reported bugs in [site community profile] dw_beta helps to make the site better and more reliable for everybody. If you're interested in helping out, or want to learn more about contributing, why not check out one of our official communities and see what strikes your fancy? We'd love to have you, and I like to think we're a pretty awesome project to work on.


That's it from us for another update! As always, if you're having problems with Dreamwidth, Support can help you; for notices of site problems and downtime, check the Twitter status page; if you've got an idea to make the site better, you can make a suggestion.

We'll see you soon for our next update!
mark: A photo of Mark kneeling on top of the Taal Volcano in the Philippines. It was a long hike. (Default)

[staff profile] mark 2012-10-01 04:46 am (UTC)(link)
Well, Dreamwidth is an LLC. That means we're subject to pass-through taxation, which means we copy down our "income" and pay taxes on that, but can take a benefit if we have losses.

Ultimately it doesn't matter how much money Dreamwidth spends, we still get taxed on the revenue, unless we lose money. Well, also, there are things we can do if we purchase stuff, so we can write that down as business expenses -- like working for yourself kinds of things.

The alternative is to treat Dreamwidth's taxes as a corporation -- but those are way, way more complex and we have to hire someone (at a good cost) to sort it out. Maybe we need to go that way, but it hasn't proved to be a good requirement yet...
mark: A photo of Mark kneeling on top of the Taal Volcano in the Philippines. It was a long hike. (Default)

[staff profile] mark 2012-10-01 04:55 am (UTC)(link)
Yeah but we get taxed on way more than just that, since we only pay you a little bit and we pay me nothing. If I was paying just taxes on that, it'd be $10k or something -- not the ~$40k I had to pay out two years back...?