Jeff, our CTO and lead developer-with-a-beard, had recently expressed to me his desire to speak at conferences and events. Fantastic! ...except for one problem. There are no developer-centric tracks at any SEO conferences. SES? Zip. SMX? Zilch. Pubcon has had a smattering of developer-related sessions that were, according to Jeff, weak sauce. SXSW is the only conference to offer developer sessions, but that series is more tech than SEO-oriented.
Why no love for developer sessions? No matter what conference I attend, ultimately I'll hear a question from an audience member who is clearly a developer or is in some way directly involved with his company's site's back end. And, most of the time, the panelists dodge the person's question because they lack the knowledge to be able to provide the person with a quality response.
Case in point: at SMX Social Media in New York (back in October 2007), my fellow link bait panelists and I all stressed, in three separate presentations, the importance of ensuring that your server can handle the massive influx of traffic coming to your site as a result of a successful link bait campaign. That was all well and good...until we got to the Q&A portion of our session. Every third question we were asked had to deal specifically with server issues and what back end-specific changes you should make in anticipation of the traffic stream. We didn't know exactly how to answer because none of us are developers--we just write and promote the content, right?
I was asked to reprise my speaking role at SMX Social Media Redux in Long Beach, California. The only problem is that I ended up getting double-booked with speaking appearances, as there's an Ecommerce Summit in New Orleans I got invited to speak at. I needed someone to take my place at SMX Social Media, so I emailed the Third Door folks and pitched Jeff to assume my spot. He could talk about how to prepare your site for link bait, and I thought it would be really valuable for audiences to get the link bait perspective from a developer's point of view. Plus, he could answer all of those pesky server-related questions. Their response? They asked if Jane (who I also recommended in case they didn't warm to Jeff) was available to take my place. Aww. (To be fair, Jane's more than competent to speak about link bait and, in fact, gave a well received presentation at SMX London. I was just hoping for a little dev love this time around.)
My point is, why doesn't a conference series (SMX, I'm looking in your direction--it'd be a nice way to differentiate yourself from SES) offer some sessions that are development-focused? Not even a separate track, mind you--just a session or two. Maybe one on "Web Developer Resources." Jeff raves about Firebug, a web dev toolbar. This sort of information is bound to be valuable to advanced SEOs, right? Or what about "Get to Know Your Programming Languages"? People can find out which ones do certain things better than others. Or, simply enough, "Ask a Developer"? Put a few devs on a panel and let the audience pepper them with questions. How would that not be a popular session?
Okay, say people don't want a developer-centric session. What about putting a dev on an SEO panel to provide an alternative perspective, like my link bait suggestion? I know lots of extremely talented developers (Matt, Cesar, Dave, and our own Jeff, to name a few) who I know would be really great speakers and can provide extremely valuable information. It's just too bad that SEO conferences have no love for devs--in my opinion, this is a huge missed opportunity, and if implemented properly, would provide great value to a conference series.
Postscript: Danny Sullivan commented below about how SMX Advanced will have an entire Developer Track. Woo hoo! Thanks for your input, Danny!
Yo SMX, Where My Devs At?
Events
The author's views are entirely his or her own (excluding the unlikely event of hypnosis) and may not always reflect the views of Moz.
I think your specific example of needing a dev to help explain server bolstering for linkbait isn't the strongest one, but I've certainly seen a lot of panels were developer-centric knowledge is valuable. That said, having a Greg Boser, Dave Naylor or many other developer-knowledgable SEOs on the panel has made this a moot issue many of the times I've been around.
And while I can't answer the specifics about code, I can usually handle most of the highly technical questions as well. For example, some tips on providing support for linkbait (so it doesn't bring down your server):
#1 - Limit the number of database queries to as few as possible, or possibly even create a wholly static version of the page. This isn't always possible with blog posts or tools, though, so instead, you'll want to...
#2 - Make sure your database allows for a lot of simultaneous connections. This brought down SEOmoz a few times when our hardware actually could have easily handled the bandwidth.
#3 - Be careful about how much of your embedded, large-file-size content (like images, videos, plug-ins, etc.) come from sites or servers that can't support the load. People have seen this even with Google Analytics, but it's most problematic with large images or video. Which is why you...
#4 - Host large image files or video (or other KB-heavy-content) on a third party site like Flickr, YouTube or Metacafe. You can embed this content as an iFrame to help keep the server from flinching.
#5 - Be aware of simultaneous traffic more so than just total traffic - it's the number of connections in a very short period of time that's the problem, not necessarily the heavy load all day long that's spaced out.
#6 - Have your finger on the reset button for the web server and the database server. If things go down, you want to be able to get back up and running quickly, and if that requires sending a support ticket to a web host or waiting on a phone call, you're going to be slow. A direct ability to restart in the event of trouble is a great backup plan.
Oh geez, you're no fun. We can't clone you for shows, Rand!
Want to bet on that? :p
I wasn't aware of GA code load failures, but then again I always put that code near the end of the page, so that no matter what it will not affect the page displaying for the real visitor.
That's another really important suggestion with all types of tracking or third-party code. Put it at the end of pages, so even if it stalls, the rest of the page is loading. Great point :)
Hmm well.... That depends, quite a few tracking programs, like GA, won't track f/i outbound clicks correctly if you load the script in the footer...
Just to assist.#1 That's not always the best idea. I'll take 20 super-fast queries that get the job done over 5 long loading ones that can't be cached by your database server. So add to this point turing on query-cache or something equivilant.
#2 99% of all DB installs do this already, so if we weren't - it wasn't on my watch. This is really more of a blocking/file lock issue than anything. Also make sure to pick the right database type (MyIsam or InnoDB) if you're using MySQL. And know the differences between them.
#4 this is a good idea, but rarely the problem for most people. 90% of the problem with people's linkbait is with their own assets on their own server.
#5 Ramping up to a lot of traffic right away is important, but you have to give some action items of what exactly do do in this sitation. You should have monitoring software on your server like Monit to pay attention to this, make sure that you test your server so that it can handle the load.
#6 I know of no host that gives you the ability to restart your server other than with a support request, including ours. 99% of the time if you're down you need someone at the data center to physically go walk over to the server and press the reset button.
See, this is why we need you on a panel!
Jeff - go ask Matt Inman about #2 and #6 - we've had these problems before. That's why I bring them up :) Our old host took a fewhours to hit that reset button, our new one is pretty quick about it.
As for #4 - it IS a huge problem for many people and that's why I'm suggesting using the third party hosting for that type of content. Did you read #3? That's why I suggested it.
Hey Rand,
I'm not trying to be a Debbie Downer with adding my suggestions, I just want to make sure we provide the best and most accurate info to our users. :)
With #6, yes our host is much faster than a few hours! But still, when we issue a reboot request it's through a support ticket. Some hosts are better than others on restarting for you, but it's not like there is some remote "restart button" you can push. It's just a matter of how good your host is. Obviosuly understand that process before you do linkbait, but it will involve talking to support.
#2 Well it depends on what you mean by "simultanious connections." By default, MySQL ships with 100 simultanious connections. You can up that if you want, but honestly, you'll get more bang for your buck upping the buffers and query_cache. Plus, most people don't have a separate database server, so if it's on the local box and you can't serve data out of your database fast enough with 100 simultaneous connections, you really need to optimize your site's code first.
If it's a "persistent connections" thing, that's not really a best practice - especially with PHP - as it creates all sorts of headaches.
#4 I guess I worded this poorly before. You're right, if you're post is a bunch of cool images or a video countdown - yes, by all means offload your content to Flickr or YouTube, that will save you a lot. But I've heard stories of lots of people (us included) who had problems with their site going down from linkbait just from text. And it's in those cases that I would argue to optimize their sites assets. Make sure images are small, the server is sending the right content-expires headers, your markup isn't bloated & you are caching what you can. A few KB here and there goes a long way towards helping your survive.
Rand, although you mentioned implementing a scalable database, you didn't mention load balancing and dynamic server and storage provisioning on an application specific basis and to properly defined QOS requirements, which is the root cause of the majority of website failures associated with excessive traffic demand.
An ever increasing number of remote users, the rise of multimedia traffic and multi-tiered applications, have really changed the game when it comes to having a properly provisioned infrastructure.
I would have to agree wholeheartedly with Rebecca on this one. A talent like Jeff would be a great addition as a conference speaker or panelist.
What would be really nice is hearing a presentation about how IT and marketing can work together to ensure that a well planned and executed sales and marketing plan doesn't crumble because of an IT failure as a result of insufficient network resources - whether internal or external. A case study of success would be great.
Kudos to Rebecca on a thoughtful post.
I think that some of the ideas Rand suggests are okay for smaller companies, which of course represents the majority of sites, however most typically won't apply to larger sites that host internally. For example - #1, #3, #4 wouldn't apply and the conditions that would create the concerns surrounding #5 and #6 would simply be unacceptable.
I've noticed that SEOmoz.org suffers quite a bit of downtime and intermittent delays - much more so than most companies. This is definitely an infrastructure problem and it has a definite correlation to lost revenue.
RE our downtime:
Believe me, this pains nobody more than me when things are slow and the site has down time. Overall, I think we do a good job hosting the site and dealing with up time, but I know we can do better. Our traffic and popularity has grown significantly over the last 12 months, and as a result a lot of the lack of optimization & speed in our code base has become a forefront issue.
We're currently in the process of optimizing our code and rearranging our tools in such a way where our web server isn't stressed so much. So Sean, we hear ya dude. But do know we're not going to sit idley by. :)
Interesting discussion.
I just wanted to mention a few popular solutions to the problem of increased server load. In order to reduce the database hits from dynamic pages you have these popular options:
1. Reuse database connections. Database connections are expensive. Have the developers use database connection pools, so that database connections are pre-established and are reused among all server requests. This functionality is built-in into the Java and .Net frameworks. I believe you have to do this manually on PHP and other scripting languages.
2. Break down the load. Use a tiered architecture: Web Server, Application Server and Database Server.
3. Cache as much as possible. Use a caching server/service like memcached (used by sites like Wikipedia and Slashdot). You can also use reverse proxies in front of the real servers to serve cached dynamic content
4. Split the work. Use load balancing servers
5. Avoid the reset button at all costs. For a content site this might not be a problem, but for an e-commerce website hitting reset can mean a lot of lost money. Not just because of the downtime and lost opportunity but because of the uncompleted transactions. Uncompleted transactions would need to be reverted (rolled back in DBA terms) and the database needs to support this.
6. Use a content distribution network. For large media files CDNs like Akamai help reduce the load on your servers and provide faster response to users around the world. This is a very expensive options (starting at US$2000 per month), but it is extremely useful for very popular sites.
First and foremost, in addition to being gorgeous, Rebecca is also absolutely correct.
I want to illustrate the way gadget widget conferences have been handling this exact issue. They face this problem alot because even though it is the marketing department doing alot of the planning it is the devs that know the possibilities and in the gadget world the two have to work hand in hand more closely (arguably) than in the SEO world. Many widget conferences solve it with one little word...
Workshops.
At an upcoming gadget conference I will be in a couple of sessions where I will likely throw out a couple juicy, clever, useful tips.
However I will also run a full day workshop where companies wanting a gadget can come and we will brainstorm and each company will leave that workshop with an actual gadget or two that they have created, submitted, and taken promotional steps on.
The participants of the sessions will have some nice tips.
The participants of the workshop will have not just a gadget but more importantly, hands on knowledge from start to finish of how create, submit, and promote gadgets.
I think there are parallel areas in SEO where the exact same sorta deal could go on and that the developers could do the workshops, and the Rebeccas can do the sessions.
In fairness I want to also mention that Jeff is gorgeous too, and I can tell you that even though I did not pick his head as much as I wanted to, he was a great addition to the SEOmoz crowd at PubCon, and I know alot of people discussed alot of things with him that they could not have done so with a non-developer.
So therefore, if you really wanted to cover all bases, you can have Jeff (devs) attend the sessions to cover tech problems where your marketing people are speaking.
But I would love to see workshops at SMX, I think they could really do well in done correctly, and I would suggest that Danny at least add one question to his famous conference questionnaire...
What areas would you like to get hands on training on in the form of a workshop?
Awww thanks Pat. You're pretty easy on the eyes yourself!
Rebecca, in a few days, people are going to come back to this and think I paid you $20 under the table for this post.
All I'll say now is that I definitely agree that developers want to know more about how to code their apps in a more search-engine friendly way. I've been meeting and talking with TONS of devs at Seattle startups in the last few months, and have learned a lot about what they care about most. Stay tuned. :)
Oh good, that listening device I hid under your coffee table is working properly. ;P
I'd be interested to see what they said they cared about too.
I think these conferences need a "development IS marketing" track.
Online, how do you tell the difference? If you screw up on the dev side, the marketing is kaput...
I see that a lot of sessions are "marketing" rather than "tech"-focussed. Like you, I'd like to see more of the "tech" subjects covered in more depth. That's another way for one conference series to differentiate themselves from all the rest.
Woot! Fsirt Psot!!1!! (Sorry spent waaaay too much time at Fark in me Yoof).
I agree--marketing's great and all, but people shouldn't lose sight of specific on-site factors and development-centric things that are just as important. They've been put on the back burner (or no burner, actually) lately at conferences.
Oh, and second!
The Site Clinic sessions are some of the most interesting, especially in judging the level of competence of the people who actually attend the conferences to learn something.
Often their 15-minute slot is more illuminating than all of the rest of the dozens of hours of pre-programmed content put together.
To follow on what Vanessa hinted at, we have an entire Developers Track at SMX Advanced that will happen on the second day. She's assembled a great line-up of panels, and it will all be posted.
Rebecca, developers have never been forgotten. And in fact, I have done sessions just for developers on several different occasions, over the years. The reason we went ahead with an entire track this time is there's a growing need for it.
You need some perspective, though. Yep, everyone asked a lot about web hosting at SMX Social Media. But if I hadn't run one of the other panels, then people would have been asking about that. It's always a careful balance, and I wish I could jam everything into a schedule, but you can't.
On asking for Jane over Jeff. You were booked to speak and confirmed ages ago, then last week you send me an email saying you'd been assigned to do this other conference. You suggested that either Jeff or Jane could take your spot on the panel rather than it just being Jeff you pitched and me somehow out of the blue saying no, send me Jane. You also suggested filling the spot with someone else.
On my end -- this close to the show, I'm looking for the fastest and least complicated solution to a program that was already locked down. Have Jeff come in and talk on a topic that the other speakers on the panel aren't expecting and haven't been coordinated with? Or have Jane come in and cover the same topics you did before, where I'm doing a clean hassle free swap? Yes, I went with Jane and asked that you basically get her ready to do what you did before. Not an anti-developer thing, promise.
Hey Danny,
Care to spill the beans on this "Developers Track?" ;)
To clarify, yes people, I did suggest to Third Door that Jeff take my place first and foremost, then suggested that if they wanted Jane, she was also available (though she told me that she thought it would be neat for Jeff to be on the panel), then I said that a third, non-SEOmoz employee can take my spot if that's what they'd prefer. Danny is absolutely right about that.
My "aww" was attributed to the fact that I thought it would be a unique perspective for the panel, but they chose to go the traditional SEO route. No hard feelings about that, Danny, and I hope you don't think I'm being grouchy about it.
I too am looking forward to hearing more about the Developers Track at SMX Advanced, and I'm happy to hear that I'm not the only one clamoring for this sort of thing. Thanks for clearing all of this up for us, Danny!
Edit: I've made some changes to my initial post to make it clear that I did, in fact, offer Jane as a viable substitution. I don't want to misrepresent Third Door in my post--sorry about that.
I manage the interactive development at my company and SMX in Long Beach will be my first conference for SEO or social media and I too have my concerns about how much development is addressed.
My clients require more SEO focused sites along with better tools to engage their users so it is important that I not only know how to develop these sites but why do it in the first place. What’s the expected end result and how can the tools we create facilitate that?
I am very excited my company is fully embracing this and I am looking forward to my first technology conference of this sort but I’m also going to be heading out there alone so I hope to meet some new friends!
I think the news from earlier this month about page load time impacting AdWords quality score would show a reason for some tech sessions at search marketing conferences. Reviewing that discussion is how I came across Firebug, the YSlow add-on, and some of the recommended changes that can improve site speed.
I'm with R on this one - I think that the mere fact of so many tech heavy/dev centric questions shows there is absolutely a need for tech speakers. People need specific answers to difficult questions.
Fields of Dreams in reverse - they've come - you just need to build it SMX.
#4 - Host large image files or video (or other KB-heavy-content) on a third party site like Flickr, YouTube or Metacafe. You can embed this content as an iFrame to help keep the server from flinching.
The only downside with this is if you have an image as linkbait and people hotlink to flickr you've lost somelinks to your site.
Great comments here. I am quite technical, but would still definitely like to hear Jeff and other talented devs speak.
I think we need to separate slightly sysadmin-type stuff from developer stuff though. I'm interested in both, but they are different (overlapping) challenges.
Can someone explain charsets to me? Seriously. I have a good degree, but I just can't get my head around it. Our sysadmin musta explained it a dozen times. Durrrr.
Do you have a spare 20 minutes ;)
Dude. Next time I see you in person. I have a feeling this one needs a whiteboard. I'll look forward to it (and I'm buying the beers if you can get it into my thick skull) ;)
Hmmmm...Whiteboard you say? That gives me an idea!
;)
I'd be all for that whiteboard as well, Scott...FWIW
Computers can't store letters, they use numbers to represent them. There are 256 numbers available to represent all the characters that are displayed on your screen.
However, 256 numbers isn't enough for all the world's characters, so while a particular range of numbers is used to represent A to Z in one character set, that same range of numbers is used to represent something else in the Greek or Cyrillic alphabets.
So, if you fail to declare which character set is to be used, your content is diplayed as grabage. In the west, ISO-8859-1 is the one most likely to be used.
Yep. It's an International Standard.
Thanks g1smd. I understand that, but I get very lost when looking at (e.g.) how they are handled by databases. With MySQL for example, you get to set the table, field, collation, connection and a bunch of other things. I don't understand what all the combinations are for (why not always read in the charset of the field for example - don't understand why you'd want to do anything different).
Databases and tables have collations because they specify the defaults. So when you create a new column or table without specifying a colaltion, it just backs up to the default one.
I could so go and RTFM, eh? This is a great way of learning though. Looking forward to a master class when I see you next...
I would say there would be plenty of interest at any SEO conference in a developer slot, so kudos for raising the issue.
regarding #1, a useful tip for speeding up blogs such as wordpress is to hard code some of the header info (or anything you can) rather than using php queries. (perhaps this is what rand meant). stuff like content type, charset et al.
no point polling the database for stuff that you never change anyway!
I usually use a PHP include for some of that common content stuff.
Some of it can be added into .htaccess of course.
e.g.
DefaultLanguage en-GB
AddDefaultCharset ISO-8859-1
RAB RAB...
I have asked this question before years ago, the issue is ...
Linux - Windows servers , PHp, Python, Perl, ASP, .net.. or wait AJAX CSS and Html Blend,,, NO NO Sliverlight adobe air ..
I sat in a DEV one at Pubcon, you just cant't get the happy media I guess..
DaveN
Relevant post Rebecca. Without developers all our efforts will come to naught. The darkness of the back-end is critical to effective functioning of the whole website. Getting them developers to stand up and deliver presentations is another matter all together, they usually don't like social intercourse, nor sharing hteir secrets...interesting people them developers, got the greatest respect for them and their work. If I had to stare at screens filled with code every day I would lose my mind ;)