My brain freezes and I think, "Okay, so all this week I've thought to myself: I should include this [insert something I can't currently remember here] in my journal update -- but now I can't think of anything!"
Then it slowly comes to me as I write, and inevitably I'll look back and think "Damn, I forgot to write about [insert thing I will later forget here]". Anyway, on with the show:
Gotta get my fix
I posted a bunch of stuff that was broken with the site last week, a couple of the things that were lighting up Site Feedback (specifically item arranger and gift giving) and both were fixed last week.
Since then, Site Feedback has returned to addressing things that are slightly more interesting. Like site improvements rather than site problems.
There are still a go-jillion things that need to be fixed, updated, improved -- and all of us here know it and are working on it. Though I guess I should address...
Common misconceptions about Gaia development
Here are a few things I see a lot of Gaians say on a regular basis regarding stuff that's broken, out of date, or just working crappily on the site.
1. You should stop making new stuff and just fix everything that's broken!
There are several issues with this:
- It costs a lot of money to just pull someone off their existing project. When you have a bunch of plans for the rest of the year, if you have to completely pull one project, the 30 people who are affected by that timeline have to waste time to adjust priorities, etc. We're paying them for all that wasted time.
Something that's broken may have been written in a confusing way a long time ago by a developer who's currently tied to another project and isn't available to rewrite the system.
Often devs are working on multiple-person-dependent projects. If the fix only requires one dev, do we just let the other dev fall behind while he waits for the other dev he needs to finish his project?
Once something's started, we don't just stop to switch to something else unless it's really important or we hit a major roadblock (e.g., in the case of Tattoos and the avatar engine). When developers are on a roll with a project, it slows down development on BOTH projects when they have to keep switching gears.
The devs who can fix certain things can't fix other things. We have devs who know one or two (but not all) of : PHP, HTML, CSS, Javascript, AJAX, Java, Flash. So if something in Towns breaks, there are only a handful of developers who know the Flash-programming necessary to fix it. If something breaks with profiles, there are only a handful of devs that know the CSS/AJAX necessary to fix it. All devs are different smile
Finally, and one of the most important points, is that certain big issues like inventory-related stuff, Marketplace, Guilds, Quest system, adding poses to avatars, fixing homes, etc. is that these are BIG systems that require a lot of attention and will have a very long development cycle and will tie up several developers for a couple months or more. It's expensive to dedicate people to these projects and sometimes we have to make that unfortunate call of deciding what's working "well enough" and what gets our attention first?
2. It should only take you a week at most to fix this!
Guys, you have no idea - and I think I hear these kinds of things mostly from people who have very little experience with any kind of development. Gaia is a site with a very scrutinizing community that supports over 80,000 concurrent users, and until you have to deal with each of these issues, it's pretty impossible to know the challenges you face in fixing/developing features.
Let's run down a few of the things that add on to the time of the development or repair process of a particular feature:
- Developer availability: If all our devs are on existing projects, we have to make a good case as for why a particular bug/problem is worth delaying their project (which may have several other devs depending on them)
Finding the issue: It's easy to see that something is broken, but not always easy to see WHY. Remember, we wrote the code in a way that we thought worked -- if it's not working, it's something that might take a little looking into.
Fixing the part or the whole: Often if there's a little thing wrong with something, especially with an older system like guilds/marketplace, it makes a lot more sense to rewrite the entire system while a developer is poking ahead around in there. Think of... if your old car's engine breaks down, making the decision between buying a new engine for a really old car, or just buying a new car that you know will last longer.
Code review: We have to make sure our code follows best practices so it's usually common that we have another developer look over the code of a feature/fix before release so that we make sure the first one didn't overlook anything.
Testing the fix: We have to move away from the old Gaia culture of releasing stuff, letting it break, fixing it, letting it continue to break, fixing it, etc. Every feature and release goes through extensive testing now. Sure, stuff still breaks... but it breaks softer.
Potential gains: There are things we decide will make Gaia WAY more fun, and things that are just kind of annoyances or minor improvements. If fixing feature A results in +10 GFU (Gaian Fun Units) and writing feature B results in +150 GFU, but they both take the same amount of time, we usually decide to devote our time towards feature B rofl
(And since I KNOW people will ask this - I just made up GFU as an example. We don't actually measure anything like that.)
3. Just buy more servers already!
Gaia has enough servers for right now -- a lot of what needs to be fixed is code-based, and that all depends on devs. "Hire more devs!" might be a better cry smile
4. Gaia devs are lazy
How dare you!
Actually, this is the only one that actually upsets me (rather than just bugging me - since most users wouldn't know better regarding the other two issues). Gaia devs (and I'm talking more about other devs than myself rofl ) work their asses off, take flak from users, and still keep the site up and running.
Also, I'm aware there has been a severe lack of linking in my journals. If I had more time I would, but some jerks around here keep bugging me about "working" and "job responsibilities" and "pink slip" or something. So I gotta get back to it!
Quote:
A note: Lots of people have asked in the comments, and by "avatar engine" I just mean the code suite that's used to assemble your avatar graphic. Nothing new - but something that needs to be updated if we want to support new poses, bigger/smaller avis, or anything remotely different from the existing avatar system.
Community Member