Hello, Dreamwidth! I'd like to start this update by wishing my wife sarah a belated happy birthday (putting her on the spot in front of tens of thousands of people) -- her birthday was Saturday, and she had a very good one.

Development

This code tour includes (hopeful) fixes for the problems people were having with their comment import from LiveJournal timing out, an update and overhaul of the Presentation section in the Customize Journal page, and some major, massive, epic work to modernize our JavaScript sitewide. Which brings me to:

Technical Debt

I've seen a few people lamenting the lack of new user-facing features lately, or wondering why it's taking us so long to release features we said we were going to release. This absolutely isn't a sign that DW development is slowing down, or that we're working less hard or accomplishing fewer awesome things. The reason it seems like we haven't had any major feature releases lately is because we've been working hard on things that, if we do them right, you won't ever see -- backend improvements that are critical for us to do before we can do all the new feature work.

Basically, we are working on paying down our technical debt. For those of you who don't know, technical debt is a metaphor used in the software development world for the maintenance and improvements you delay for a future time in order to get code or software shipped now. Because we forked from LiveJournal, we inherited a decade's worth of delayed maintenance that we need to make good on in order to continue forward. We could keep delaying it, but we've reached the point where it's more work to continue working around the problems than it is to fix it.

We've spent the last six months aggressively working on modernizing the code and improving the backend, which is putting us in a much better position to go forward. The project's not completely done yet, but we're getting there! Most of the fixes and improvements are things you guys won't ever see, because there aren't any user-facing changes. But once we're finished, we'll be in a much better position to do feature development much more rapidly.

Biz Update

So, tax time is upon us, and that means that we've finalized the 2010 books and the results are in. We're cautiously pleased with how things wound up: in 2010, we very nearly broke even for the year, in terms of "money earned vs money spent", and we would have broken even or had a slight profit if it weren't for the three months of being unable to accept payments.

(For those of you who are just tuning in: in January of 2010, PayPal decided that they would no longer do business with us unless we agreed to censor the content our users posted to remove material that did not violate our Terms of Service, but bothered them. We declined, and in the end, we had nearly three months of downtime in which we couldn't accept online payments until we could implement our alternate solution.)

I've posted the 2010 Year End Update in dw_biz, in which I go into some more detail about our expenses, our results, and some of the various factors that meant we didn't actually see all the money we took in this year. If you're interested in the "behind the scenes" aspect of where your payments go and how we handle the business end of things, head on over.

Seed Accounts

We've had multiple people ask us about seed accounts (permanent accounts) lately, and whether or not we ever plan to offer them again. When we started Dreamwidth, the plan was to sell them once -- at the site launch -- and never again unless something major happened; this was to prevent seed account sales from cannibalizing future revenue.

Well, something major happened -- the three months where we were unable to accept payments did eat a lot into our operating fund, and various other factors since then have been nibbling at the reserve. (See the dw_biz post I linked in the previous section for more information there!) In order to replenish that reserve, and make sure that we have the resources to continue to expand through the rest of 2011 instead of just stagnating, we will be putting a limited number of seed accounts on sale next month.

I know that no matter what I say, people are going to worry, but rest assured: we are not in financial trouble. Right now, we are on track to break even or make a modest profit in 2011. (Which is good -- our plan for when we started DW was that we wouldn't actually start seeing a significant profit until 2013 or so!) Rather, this move is to make sure that we have a reasonable reserve in the event of (God forbid) future disaster -- it was that reserve that let us stay on the air last year when we had our payments crisis, and the reserve never quite recovered from that depletion. Having that reserve back in place will let us sleep a lot more soundly at night.

Plans haven't been 100% finalized yet -- stay tuned for more announcements -- but right now, the tentative plan is to place 400 Seed Accounts on sale in four batches over a 24-hour period on April 30 - May 1, our two-year anniversary to launching our open beta. We'll be doing it in batches to make sure that our users in every time zone -- whether geographical or personal -- have at least one opportunity for a sale time that isn't in the middle of their night. Accounts will remain on sale for as long as it takes for the 100 accounts in each batch to sell out, whether it happens immediately or over time, and each new batch will be added to the previous. (So, if there are still 50 accounts left for sale from the first batch when the time for the second batch comes due, the 100 from the second batch will be added to the 50 left from the first batch.)

As with last time, seed accounts will cost $200 (the equivalent of four years of premium paid service). You'll be able to buy them for yourself or for a friend. (We chose that number because it's what we felt was the right balance between replenishing the reserve and not hurting future sales too badly.)

We'll give you more updates on when accounts will go on sale as we get closer to the end of the month.

(Edit: And someone in the comments made me realize I hadn't mentioned: a Seed Account is functionally equivalent to a Premium Paid account, and receives the same benefits. It just won't ever expire. Also, if you have existing paid time when you buy a Seed Account, you can contact us to either transfer the paid time to another account, or have it converted back to Dreamwidth Points.)

Styles Class

Have you been wanting to learn how to customize your style more than the wizard will let you do, but haven't quite gotten around to figuring out how? Or do you have the image of the perfect style in your head and haven't been able to make it a reality?

foxfirefey is starting up a course on the DW style system and how to work it in style_system. You can view the proposed syllabus to see if it's something you might benefit from. It's a low-pressure, no-commitment-necessary way to learn how to play around with making things pretty.

Invite Codes

As many people no doubt noticed, we released another batch of invite codes earlier this week. This time we distributed 1 invite code each to all personal accounts that had been active in the last 30 days. You don't need to save the email you got -- you can always view all your invite codes at the Invite Someone page, linked on all site-skinned pages.

Invite codes don't expire; you can save them for personal use or invite a friend. Or, if all of your friends have already joined you on Dreamwidth, you can share them in dw_codesharing.

Antispam

We've seen a small uptick in the amount of spam being posted to the service, and the "no invite codes" week does seem to have had a small "logged-in spammer" result. (I'm guessing it took time for the result to become apparent, since much spam software will create an account and then let it lie dormant for a bit before posting.)

Our antispam team has been smacking down the spammers as fast as they rise, but this is a good time for yet another reminder! If you receive spam -- whether in comments or in posts to your community -- be sure to pick the "mark as spam" option while you're deleting it. That will put the comment or post into the antispam system, where our antispam team will leap upon it so fast that it's often dealt with within minutes. (No, really. They have an irc bot to alert them to new spam and everything. It's kind of frightening sometimes.)

Our Support for LiveJournal

I'd also like to take a few minutes to publicly offer support to LiveJournal, where the team has been doing an incredible job in responding to and mitigating a Distributed Denial of Service (DDoS) attack. If you haven't been able to reach LJ in the past few days, this is why; the current theory in the press is that the DDoS is a political statement being made against Russian-language bloggers using LJ as their platform. We wish the LJ team luck, perserverence, and a bottle of really good top-shelf liquor in trying to combat the problem.

We've seen increases in the number of people using the content importer to back up their content from LJ over the past few days, and with LiveJournal inaccessible during periods of heavy DDoS traffic, this can cause a problem with imports timing out or not otherwise succeeding. We'd like to ask you to consider holding off on starting a new import for a few days, until the problem can clear up a bit. Our importer is smart enough to retry an import a few times if the process times out before giving up completely, but minimizing the traffic that LJ needs to cope with can only help them out.

Our Farewell to Inksome

This week also will see the closing of Inksome, another site based on the LiveJournal code. Kit and Shell, the owners and operators of Inksome, have been awesome to us throughout, and they've been great to share ideas with over the years. We'll miss you guys, and we wish you luck.

Sad News

It's with regret that I announce the loss of padme_kenobi, a member of the Dreamwidth community. She suffered from Epidermolysis Bullosa, an incredibly rare genetic disorder. Her friends remember her as an incredibly positive force in the world; we are made lesser by her passing.

*

That's it from us for now! 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.

no subject

And the DDOS attack, I can only say this ... LJ has a lot of fake users, all mostly in Russia - you know the phantom users who are spamming all the comms with spams... They should separate the users ... Russian users on one server and the others on another...

=> that's me being angry - sorry.

I'm sure they are doing what they can, but it's been 4 days now ... I'm Mod/Co-mod and maintainer/co-maintainer in a few comms and I can't access can't respond, and it's driving me nuts....

I'm happy DW do NOT have financial problems... but I'm still preoccupied... most of my friends are over there and I still haven't figure out how to be there and here at the same time... frustrating.

no subject

It doesn't have anything to do with language or nationality -- there are plenty of spammers in every language. LJ gets a lot of Russian-language spammers because LJ is pretty much the Russian blogosphere, so the spammers feel like there's an audience there! And it really isn't possible to divide a service like that, nor would it do any good, especially since a DDoS affects a service at the most basic level -- when under DDoS, often traffic can't even get to sites hosted in the same datacenter, much less on the same service.

It's frustrating for the members of a service when they can't access the site, but in this case it honestly isn't LJ's fault. They're taking nigh-superhuman measures to divert the attacking traffic and get back online.

no subject

Image/media hosting something we're working on! (It's one of those things where we have to solve a lot of the technical-debt problems first, heh.) We don't quite have the resources to offer it to everybody yet -- when we do launch, it will be a paid account feature, and I'm not sure how much space/quota we'll be able to provide -- but it's definitely in the works.

no subject

Yay for possible seed accounts. I just wanted to check that if I was one of the successful purchasers would I get to keep my current number of icons. That would be the most important factor to me in making my decision.

no subject

I don't have a Seed account, but given how long you've spent arguing that offering permanent accounts regularly is a bad idea for users (see you in January 2009 and you in April 2009, for instance), offering them again at all seems... not true to your original intention. Yes, I see you have explained the reasons why, both in summary here and in your dw-biz post.

It would be easy to say "it doesn't feel cool" or "it doesn't feel Dreamwidth-y" - and that's how the announcement makes me feel about the situation - but that doesn't seem like a very constructive remark to me. More specifically, it feels like a triumph of pragmatism over idealism, and that's not what I hoped for from you.

no subject

I totally get what you are saying! Even at the time, though, I was very clear that we reserved the right to offer seed accounts up for sale again if circumstances changed, which they absolutely have. Essentially, in 2010, we had 9 months of income and 12 months of expenses, and when payments came back online, 25% of what we took in for the first six months was placed on hold and not released to us (and still hasn't been). I obviously wish that hadn't happened, and we did everything we could over 2010 to minimize our costs. Still, as things stand right now, we are fiscally stable but lacking enough of a cushion against further future disaster for me to be totally comfortable, and it would be irresponsible to not take action to remedy that situation.

We chose the number of seed accounts to sell now very carefully, after weighing our rate of growth, our paid account percentages, and our projections for the next few years, and I'm confident that we won't be cannibalizing future revenue to the point where it will be a danger. It's a trade-off, but running a business involves making trade-offs like that! I specifically plotted out our paid account and other rates of growth over time, halved the numbers to be on the safe side, and projected that out four years (since a seed account is the cost of four years of premium paid services), and the projected loss of future revenue is less than the difference between the amount we're taking in now and the amount we're projecting to be taking in by then and then some.

I don't think pragmatism and idealism are mutually exclusive, but if it were, in cases like this pragmatism would have to win. The DW userbase has trusted us to steer this ship, and part of that involves making sure to have a hedge against disaster. The operating fund is what allowed us to stay "on the air" in the beginning of 2010 without kowtowing to censorship demands, and having that safety margin against disaster is critical to us -- it's what enables us to have that idealism in terms of our principles regarding freedom of expression, freedom from advertising, and freedom from outside interests, among (many!) other things.

All of those principles are far, far more important to me than holding to a statement about seed account sales that wasn't even an absolute. I want us to have a comfortable enough margin that we could survive another episode like we went through in early 2010 if we had to. (While, of course, praying that we don't have to.) That, I think, is the far more responsible and Dreamwidth-y thing to do.

I certainly don't expect everyone to agree! And I know that some people will be worried. But we are currently ahead of the game, in terms of the timelines and projections we made in 2008-2009, and the only reason to be doing this now is the unexpected roadblock we had to deal with at the beginning of last year. It's something we never could have anticipated, and I think that we should be allowed a certain amount of leeway in the actions we take to recover from it.

no subject

I'm so excited about the seed account sale. It's not a money thing for me as I'm sure I will continue to buy batches of points to give away to random users, people who say interesting things, and communities. Instead, it is a declaration of this being my home. When seed accounts were for sale the first time, I just did not know how important Dreamwidth would become in my life and I have somewhat regretted not having a crystal ball with which to predict that so that I could have purchased a seed account at that time.

no subject

I just...love you guys so much! Reading through this open, informative, clear announcement, knowing what's going on and being reminded of the sound basis for your approach to your business--especially the part about technical debt--I feel so glad to be part of the DW family.

no subject

no subject

Oh, I was forced to pass up a Seed Account in the other sales due to lack of funds, but this is just a lucky third chance for me to try and scrounge together the money before they go on sale again. It's really only by disaster that Dreamwidth is ever forced to put them on sale, and while that's really unfortunate.. I'm over here cheering for the chance. I'm sure they'll vanish in a jiffy and Dreamwidth will have a nice solid cushion in case the fates decide to inject a little humor into the DW year.

no subject

I am so delighted to see the Seed accounts will be offered again! I am online only intermittently right now, but love that I can 'invest' in DW as a place that is so upfront about what it does and has values in line with so many of my own. (and of course, I hope to be more active, once my offline world becomes more manageable! :))

I also think you've been clear that this (offering the Seed accounts) is not done lightly and that you are offering these for a limited time and with a very specific purpose... that, to me, is maintaining your integrity and I commend you for how you're handling this.

Finally, raising a glass along with you to the memory of Padme_kenobi. I knew of her only peripherally through my fandom, but she will be missed.

no subject

no subject

We'd like to ask you to consider holding off on starting a new import for a few days, until the problem can clear up a bit.

I started an import from LJ yesterday before I knew about the DDoS problem. It imported my profile and tags etc. quickly, but the entries are still in the queue. Is there a way that I can stop the import/take it out of the queue now, and come back later to import the entries when things clear up?