Friday, May 29, 2009

A Week with Support

Some time ago, Stephen blogged about The Guild Launch Development Approach. Today I am going to lead you through a typical week for me at Guild Launch.

My primary role at Guild Launch is Technical Support. I handle all of our support emails and phone calls. Like the rest of the team here, I get to wear many hats so it keeps me on my toes and makes sure I am never bored. Lets take a day by day look.

Monday

Mondays are super busy for me. I have tickets from Friday night through Monday and work extra hard to answer all of the weekends tickets plus the tickets from Monday before I leave. With more than 1 million users, that is a lot of tickets!

Monday is a sacred ticket only day, but like all rules there is an exception to this one - Testing. We do releases on Wednesday and when I test on Monday, it is the second to last day of the testing cycle. To help reduce some of that pressure, sometimes I will come in for a few hours on Sunday.

Tuesday

The first few hours of my Tuesday morning are spent auditing Ventrilo. We have a process that suspends canceled servers on Tuesday and I monitor that process. These servers stay suspended for a few days and are then deleted at the end of the week if they have not been reactivated.

After Ventrilo I work on tickets for most of the day. Because of server maintenance for several games on Tuesday, I tend to have quite a few tickets.

If I am testing, I will spend the majority of my time after lunch finding bugs and working with the new functionality. If by the end of the day I do not feel good about the release or I was unable to test a new feature fully, I will tell Stephen and we will push the release back a week.

Wednesday

Wednesday is our release day and the first thing I do after the release goes out is double check account registration and guild creation, then touch on some of the new features. For the first few hours I monitor tickets very closely while Stephen watches the Support Forums. I wish every release could be perfect and bug free, but I do miss the "edge case" bugs. In our last release, there was a bug with the Shout Box, but that bug only happened when it was placed above the Forums and in testing, I placed it on the left.

If we do not have a release, I knock out the tickets from overnight and work on other things.
Since tickets are a touch lighter I have more time to do other things such as adding new games to our database, learn about add-on development and visit some of your sites. I also read a lot about testing methodology to help solidify our testing process.

Wednesday is also the day I have blocked off for Pro Tips.

Thursday

Thursday is usually the day I start testing, and I start it a week or two before a release. While testing, I will answer tickets and tend to do them in blocks. Test for a couple of hours, answer tickets for a couple of hours.

Much like Wednesday, if there is no testing to do I have plenty of other activities to keep me busy and I generally do the same things; research, add games, learn better methods for testing, etc.

Friday

I treat Friday similar to Monday. It is the last day of the week and I will be out of the office for two days, so I tend to focus on tickets and making sure my box is empty before I leave. Friday is also the day that all of the suspended Ventrilo servers are deleted and I oversee that process.

If I am testing on Friday, I will try to test the larger more complex changes to avoid running out of time on Monday and Tuesday.

At the end of the day, I take a few minutes to organize my desk and make sure I have a plan for the next week. I keep a list of the games I want to add as well as requested games, organize my notes for future feature ideas and side projects and make sure I am ready when I walk in on Monday.

Weekends

The only time I come in the office on a weekend is if I am testing and I feel that I can not finish before Wednesday. I do browse sites from home over the weekend to keep an extra set of eyes on things and will often log into our ticket system to look for any reported downtime tickets.

That is a general look at my week and as you can tell, the majority of my day is spent providing the quality support you have come to expect from Guild Launch. I will be back here on Wednesday with another Pro Tip and in the mean time, keep those emails coming!

~Mike

Wednesday, May 20, 2009

Windows 7, nVidia Drivers & Fan Speed

I recently updated my gaming a.k.a "At Home Mod Development" machine to the Win7 RC1 and then upgraded my nVidia drivers to first set of Windows 7 drivers, then I updated to the 185.85 series and ran into an odd issue. After updating the drivers the back chassis auto-sensing fan on the machine kept revving up and then slowing down. Then 30 seconds or so later it would rev up and slow down. Rinse, repeat, ad nauseum.

After 10 or 15 minutes of this annoyance I reached behind the machine to verify which fan was reving up and when I barely touched the back metal part of the 9800gx2 I just about got my skin burnt. The back was hot as a gun barrel. So, I quickly fired up the nVidia control panel and found somewhere, somehow in the driver updates the fan speed for the 9800gx2 had been set to 0. That's right 0. I expect even at 0 the fan spins just a bit.... but not much and certainly not enough.

So, if you're out there running Windows 7 and/or the newest nVidia drivers check your fan speed you might just save yourself a card replacement.

-Stephen

Tuesday, May 19, 2009

Single World MMOs & Storytelling

Game Set Watch has an interesting article on 'Single Server' MMORPGs. The premise of the article is that sharding is the key factor in the difficulty of creating compelling game wide storylines. If one server makes one decision and another makes the opposite decision how do you release a storyline to the whole community in a compelling and engaging way? We've seen server wide events in World of Warcraft, but they have amounted to instance unlocks and the variance in the storyline has not been the story, but instead it has been the length of time to unlock the next part of the story.

As an Eve Online player I've been fascinated by the tremendous effort they put into their hardware, optimizations, and the "Largest Supercomputer in the Gaming Industry". Eve has some great story arcs if you follow them and they have a great ability to deliver those stories to the player base in their news windows and on their site because they only have to tell one story. I will say that some of the in-game effects of those story arcs are a bit thin. The story arcs happen, you get the news, but you don't always feel a part of it. However, there are other elements than just the stories that the single server allows. Including Eve Radio, which could exist in another game but not with the same connection to the game. Eve radio runs contests and the on-air personalities actually interact with the players directly. The experience would not be the same if the on-air personality had to preface everything with "Player X from Server Y says..." instead they can interact with the entire community. That's very powerful.

Another example is Eve's Council of Stellar Management. This is something that gains alot of power when you consider a single shard environment. CCP can get the playerbase involved and have player representatives elected and not worry about inter-server issues. Sure, they will have politics, but they don't have to create a governing body for each server to make sure they are represented.

Possibly the greatest factor of single shard games though is that each player's actions contribute to the other's game experience. This truly lets the game leverage its playerbase. When a corporation in Eve does something really game changing, such as the downfall of Band of Brothers or the Eve Bank Scandal, that event happend in the *world you play in*, not on some other server. Everything that happens effects you and everything you do effects everyone else. Sure, there are degrees of that effect, but the effect is there and it provides an interesting and engaging element to the game.

If game developers can get their heads and investors around the monetary investment in single server architectures I think we'll see more and more games heading that way. It's definitely something to keep an eye on.

-Stephen

Monday, May 18, 2009

Making Lytebox Work in IE8 - Close, Previous & Next

Update: There is another solution that is a touch cleaner and probably gets more to the root of the issue available here: http://nederveld.wordpress.com/2009/07/02/lytebox-and-internet-explorer-8/

Here at Guild Launch we've been using a wonderful streamlined version of Lightbox called Lytebox. We use it primarily because it's a much smaller download than the other Lightboxes and Lightbox 2 and doesn't require any external libraries such as Prototype or Scriptaculous.

This version hasn't seen much development in the last year or so though. It just works.... until IE8 came out. With the release of IE8 some problems cropped up. Namely, the Close, Previous and Next buttons wouldn't show. After a lot of playing around and testing different things I've found the solution. So without further ado here is how to get Lytebox working in IE8 again.

One thing to keep in mind, this fix is specific to us and removes some of the customization that Lytebox has in its CSS. If you know what you are doing you can adapt the fix to your own customization. We've been using the "Grey" theme so I just tweaked those settings:

Before The Changes

In the current lytebox.css there are these lines for the previous buttons in the Grey theme:

#lbPrev { width: 49%; height: 100%; background: transparent url(images/blank.gif) no-repeat; display: block; left: 0; float: left; }
#lbPrev.grey:hover, #lbPrev.grey:visited:hover { background: url(images/prev_grey.gif) left 15% no-repeat; }

And these for the Next button in the Grey theme:

#lbNext { width: 49%; height: 100%; background: transparent url(images/blank.gif) no-repeat; display: block; right: 0; float: right; }
#lbNext.grey:hover, #lbNext.grey:visited:hover { background: url(images/next_grey.gif) right 15% no-repeat; }

And this for the Close button:

#lbClose { width: 64px; height: 28px; float: right; margin-bottom: 1px; }
#lbClose.grey { background: url(images/close_grey.png) no-repeat; }

The Problem

The crux of the problem is that IE8 isn't recognizing the "Grey" class being applied to the ID by the script. Instead of directly figuring out why that is I just merged the classes together since we always use the Grey theme.

The Fix

For the Previous:

#lbPrev { width: 49%; height: 100%; background: transparent url(images/blank.gif) no-repeat; display: block; left: 0; float: left; }
#lbPrev:hover, #lbPrev:visited:hover { background: url(images/prev_grey.gif) left 15% no-repeat; }

For the Next:

#lbNext { width: 49%; height: 100%; background: transparent url(images/blank.gif) no-repeat; display: block; right: 0; float: right; }
#lbNext:hover, #lbNext:visited:hover { background: url(images/next_grey.gif) right 15% no-repeat; }

And for the Close:

#lbClose { width: 64px; height: 28px; float: right; margin-bottom: 1px; background: url(images/close_grey.png) no-repeat;}

Why does this work?

Basically I just made an end run around IE8 not rendering the Grey class properly and just made the button be always the Grey set. If you are using one of the other themes just make the same changes using that theme's images.

So, now you have Lytebox working in IE8 the way it should.

Enjoy!
Stephen

Tuesday, May 12, 2009

GL Pro Tips - Roster Imports

(Almost) Every Wednesday, Guild Launch Pro Tips will explore common issues, a look at features as well as creative ideas on how to use the Guild Launch system. This week, Mike will guide you through Roster Imports.

Hey gang, I apologize for missing the last two weeks. Things were busy here with testing and all, and I fell a bit behind. Anyway, I am back and today we will talk about Roster Imports.

Two years ago Blizzard released their Armory and Guild Launch Armory Imports were born. Since then, a few other companies have released their own sites with in game character data and we have made sure to include imports for those games as well.

To import your roster, go to your Guild Roster page and you will see a series of links on the left in the Roster Navigation section. The name of the link will change depending on your game, for example - EverQuest II will say, "EQ2 Players Imports". Clicking the proper link will take you to the import page.

The imports page is a little different depending on the game you play and I will cover each of them real quick:

EverQuest II - In order to import your EverQuest II roster, you first need to go to the EQ2 Players site and do a search for your guild. Once you have found your guild page, look at the URL. It should look something like this:

http://eq2players.station.sony.com/guilds/guild_profile.vm?guildId=12345678

The difference is going to be in that red box where the 12345678 is. That number is unique to your guild and that is what you want to use on your Guild Launch site. Copy and paste that number into the EQ2 Players Guild ID field and you are done with the first step.

Lord of the Rings Online - Once you are on the Kinship Roster page, you will see a link on the left for Lotro.com Imports. On that page you will see a field for Guild Name Override and it should be filled in with the name you picked for your site. This name will need to be the same as it is in game and you can change it in this field if it is different. Once that is set, you are done with the first step.

World of Warcraft - On your Guild Roster page you will see two links for imports. The first is Armory Imports and the other is Profiler Imports. Armory Imports will use Blizzard's Armory to grab the data for your guild. The Profiler Imports page uses the Guild Launch Profiler to upload your guild data and is usually more accurate than the Armory since the data is updated as soon as you log off line.

Armory Import - This works just like the Lord of the Rings Online import above. You go to your Guild Roster and click the Armory Imports link on the left. This page will show you the Guild Name as you entered it on the site and can be overwritten by typing a different name. The Armory requires you to input a + where a space would be. Guild Launch would not work, but Guild+Launch would. You can also see what server your set your guild to, though you can not change it on this page.

Profiler Import - Once you have downloaded and set up the Guild Launch Profiler (instructions here), logged in and collected the data it is time to log out and upload the file. You want to go to the Guild Roster page and click the Profiler Import link. On this page you will see your entered Guild Name and a form to browse for the file you need to upload. Confirm your Guild Name is exactly the same as in game with a + where a space would be.

To upload the form, click the browse button and look in the following directory:

"World of Warcraft/WTF/Account/User Name/Realm Name/Character Name/SavedVariables/GuildLaunchProfiler.lua"

User Name is what you type to log in, Realm Name is the server you play on, Character Name is the character you collected the data with. When you are in the Character directory there is a SavedVariables folder, make sure to open that and you should find your GuildLaunchProfiler.lua. Once you have opened that file you will see it listed and click upload. You are all done!

Other Options - On the import pages are a few other options that I will discuss here. None of the imports have all of the following options, so do not be alarmed if you do not see it.

Synchronize Roster - This option will remove characters based on your import data. If a character is claimed by an account or has DKP it will not be removed by this option. This will allow you to have characters represented on your site from different guilds or even different games.

Synchronize Ranks - Checking this box will import the ranks and automatically assign them to the characters. This prevents you from having to manage which character should display what rank and keep track of who changed.

Import Character Gear and Stats - By default, an Armory import only grabs the Race and Class data and nothing else. Checking this will grab all of the gear, stats and spec information for your guild. Using this feature will greatly increase the amount of time an import will take. As such, I only suggest doing this maybe once every few days or once a week with regular imports in between.

Update Basic Tradeskill Info - This option for EverQuest II guilds will grab what professions and the rank for each character. At the time of this writing, Sony does not allow us to get the actual recipe data.

Pro Tip - If you are having trouble importing double check your Guild Name and Server. Go to your Admin section and click the Guild Hosting Properties link on the left to change that information if necessary. LotrO and WoW guilds will need to have their name *exactly* as it is in game and WoW guilds need to have a + in place of a space. Gûild Launch, Guild+Launch and Guild Launch are all different guilds as far as the imports are concerned.

Hopefully this will help you all get your data imported. As always, if you have questions or comments you can email me; support@guildlaunch.com.

~Mike

Monday, May 11, 2009

Guild Launch Turns 3 Years Old!

On May 6th Guild Launch turned 3 years old. I had been working on the idea and developing the concept since late 2005 and formed Guild Launch in May of 2006. I started development in earnest and hired our first Developer and Graphic Designer in August of 2006 and released our beta in November of 2006. After a successful beta we went live in January of 2007. Since that time we've seen some incredible growth. When we went live Guild Launch was comprised of 2 servers and a firewall. Over the last 3 years we have grown to 9 servers with more database hardware planned for during the summer.

That growth can be seen in our numbers. Our Forum Signature servers serve over 120 signatures a second at peak. At this time Guild Launch has more than 1.1 million registered users. We've had more than 80 thousand guild sites created and Guild Launch maintains info on more than 4 million characters in more than 100 different games. And people like to use their sites! When World of Warcraft version 3.1 was released and the extended downtime kept extending Guild Launch served more than 2.2 million pages in a single day.

During the last 3 years the Guild Launch Guild Management System has grown dramatically. In the first year we released new versions about every week to two weeks. This was a concerted effort to bring the core features online to our members. During the latter part of 2007 we focused on refining existing features and adding new features. We implemented our profiler mod in 2007, made EPGP additions to Rapid Raid, introduced Ventrilo widgets, server status widgets, and a whole lot more.

During 2008 we made a focused effort to "amp up" existing features. During this time we increased the release timing to two to three weeks to allow for more focused effort and to allow for more testing time. We made significant overhauls to PMs, the forums, widgets, customization, and our profiler mod. In 2008 not a single feature went untouched or unrefined in some way. Later in 2008 we started focusing heavily on our Rapid Raid offering adding even more reporting and making additions to our mods. Also during 2008 we made major improvements to our database hardware and reduced our daily downtime to a weekly event.

2008 also had some challenges. On July 19th, 2008 our office building burned to the ground. As a testament to the resilience of web based companies we all worked from home for two months and since our servers and support system were offsite and our development environments were all virtualized we didn't lose any data other than the print version of our logo and some easily replaceable textures we use. Insurance covered the lost hardware and furniture and we were back in real offices a while later with new computers and desks. Our mantra at this time was "Give me a chair, a flat surface, a computer and an Internet connection and I'm good to go!" Most Guild Launch members didn't realize our offices were a charred mass until later when we had relocated the office and began showing off the new space on the support site. Guild Launch is resilient, and we're here to stay.

Now, in 2009 we've switched to a release schedule of about every 3-4 weeks. We've been working on larger features and doing more refinement during development. In 2009 our multi-game support, and alliance functionality has been a major focus. We've also given a significant boost to our customization with the customization options in the admin area, custom smilies, and section specific customization options and we'll be expanding those features in the coming months. In addition we've been addressing usability site wide and refining the Admin area to be more usable. We've reduced the number of sections in admin to make the separation more clear. We've improved our documentation and we've introduced the http://glmods.guildlaunch.com/ site to give our ever growing number of mods a place to live.

We've also revamped the signature site completely to better handle growth and launched it as a new site at http://www.siglaunch.com. We've released some fun features like the Member Map functionality and as I write this we’re finishing up a release that contains major improvements to roster imports for EQ2, Lotro and WoW and the next few months will see additional Warhammer profile functionality, more Eve Online Functionality and Runes of Magic functionality (to name a few) and further refinements. We have also been expanding our blogging and Twitter use to bring Guild Launch a little closer to you all and to disseminate useful information to our members through creative means. We want you all to feel like you are a part of the community and to get a peek into the constant work we are doing to bring awesomeness to you all.

For the rest of 2009 and beyond we are going to continue to elevate existing features, to develop new features, and to constantly ask the question “Will our users say ‘I Kick Ass’ when they use this feature?” We will be expanding banking features, adding more forum options, an awards system, and more widgets as well as expanding our templates for games such as Runes of Magic, Eve Online, LoTRO, Warhammer, Everquest, Aion, Maple Story and more.

Every release has included heavy input from our members. We're blessed with an awesome member community that provides great feedback and helps us refine and deliver the features you want and that you can use. In every release we make a careful balance between our strategic desires to add features and refine existing features while delivering features specifically requested by our members. I am proud of our team's ability to do this and we'll continue to deliver the features you want and need to make your site management easier, more powerful, more fun and to deliver on our Play > Manage™ philosophy.

We look forward to the next 3 years and the next 20 years of providing you a with an absolute top notch experience at Guild Launch, and the best is yet to come!

Stephen & The Guild Launch Team
Jun, Michael & Vicki

Friday, May 8, 2009

Guild Launch Maps

While I was creating the maps functionality I noticed that as soon as you zoomed to a certain level, a popup would ask you if you wanted to view the map in a bird's eye view. I found this very annoying and didn't think there was a way to disable this. Viola! I have added in some code so that the annoying popup will no longer appear. However, should you still wish to view the map in bird's eye view, you still can by simply clicking on that button. Just saw Stephen's build email so this should get pushed out pretty soon.