Ross's Banner
Ross

Age/Gender: 31, Male
Location: Hoboken, NJ
Job: Code Jockey

I helped create Newgrounds. Then I left. Then I came back. Then I left again. It's like that movie "Runaway Bride", but with fewer movie stars and more computer programming.

Newgrounds Stats

Sign-Up Date:
12/15/99

Level: 13
Aura: Light

Rank: Civilian
Blams: 8
Saves: 1
Rank #: 153,926

Whistle Status: Normal

Exp. Points: 1,605 / 1,880
Exp. Rank #: 20,474
Voting Pow.: 5.47 votes

BBS Posts: 186 (0.05 per day)
Flash Reviews: 12
Music Reviews: 0
Trophies: 0
Stickers: 0

Entry #1

Newer Older

Jump to Entry: [ 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 92337 ]


Ross

We Have Liftoff!!

Posted by Ross Jul. 18, 2007 @ 10:50 PM EDT

I can't believe we made it. We've been working furiously on the redesign for what feels like an eternity, and it's neat to see it finally being used by more than the handful of us at the office. (This is one of the great things about working on Newgrounds - you never feel like your hard work goes to waste. At a previous job, I spent two years working on a big web application, only to watch the project get shelved. That was sad.)

So here we are, at last. Unlike previous NG redesigns, this one was more of a "reinvention" than a redesign. Normally when people hear "redesign", they think it only applies to the cosmetic aspects of the site. Which it does - this was a total XHTML/CSS overhaul, not a single scrap of HTML (outside of NG Mag) lives on from the previous site, thanks to Stamper and Bob.

But the really juicy part was the total back-end rewrite James and I did. When I first started programming Newgrounds in late 1999, I was motivated and hardworking - but very inexperienced, with little appreciation of good programming practices. The site worked, but I made a lot of bad decisions that resulted in a messy and largely unmaintainable codebase. (Not to mention that PHP 3 was the state of the art at the time.) Miraculously, after I left, James was able to figure out what my code was doing and change/rewrite/extend it to suit the site's ever-evolving needs. However, its fundamental flaws - lack of centralization and modularity being the big ones - grew more pervasive.

By the time I made it back to Newgrounds a little over a year ago, I was a changed programmer. I've become a big believer in object-oriented programming (thanks to Java), something I would've never dreamed I'd become when NG first started. I've also learned a lot about software design in my time in the wilderness - what works, what doesn't, and most importantly, what happens when design is an afterthought.

The site you're using now was almost completely rewritten in object-oriented PHP 5 and JavaScript - I'd estimate at least 90% of the back-end code was rewritten from scratch for the redesign. On top of that, the site moved from being an old-school site (click a link, go to a page) to a more modern Web 2.0-type site, with lots of AJAX and in-page interactivity. This required coming up with a whole new framework for doing things - I could write a book (or a series of blog posts?) on the things I learned while working on the NG redesign. It's been quite a journey, and of course I'm still learning.

However, we're not in Xanadu yet. There remains a lot of troubleshooting to do - many users have probably picked up on a glaring bug or two. (I'd be fixing them right now, if I wasn't on a train, without Internet access.) But I'm really proud of what we accomplished with the redesign, and I'll be even happier in a few weeks once we've gotten most of the kinks ironed out. There are a lot of fun features in the pipeline - just with respect to blogs, I'd like to add things like tagging, searching, rich text editing, the ability to save drafts, and more.

But that's for later. After almost 72 hours straight of redesign work (with a few breaks to eat and sleep), it's time to spend some time with my wife, who's probably forgotten what I look like. :)

Updated: 07/19/07 10:40 AM Log in to comment! | Share this!

The People Have Spoken

22 Comments

Jul. 19, 2007 | 12:59 AM DFox says:

I had fun reading about the new site tech specs :) I do a lot with PHP and that information is interesting to know.

Seems like you and James did an outstanding job on the backend. I can only imagine how much work it was considering the new features like userpages and commenting system and everything.

Anyway, congrats on a successful launch and keep up the great programming!

Jul. 19, 2007 | 1:53 PM Ross responds:

Thanks DFox. I plan to write more about the code behind the site in the days to come.


Jul. 19, 2007 | 9:07 AM AcDiK-DR4G0N says:

Great job on the site man, keep up the good work. You're an inspiration to me and probably a lot of other people . Keep it up.


Jul. 19, 2007 | 9:41 AM Sonucais says:

You sir made a great work with your codes ;)


Jul. 19, 2007 | 9:47 AM Akula says:

Ross == ace.


Jul. 19, 2007 | 9:53 AM mike says:

great work, Ross -- you've been working your ass off

redesign needs more uml diagram???

Jul. 19, 2007 | 1:44 PM Ross responds:

Don't forget design documents! We need a bunch of those.


Jul. 19, 2007 | 3:21 PM BoMToons says:

I'm curious to see your future blog posts about what you learned from working on the redesign.

Great job btw, NG's presentation is now as state-of-the-art as its concept.


Jul. 19, 2007 | 3:50 PM sqrage says:

Do you truly enjoy programming?

I've never really heard of anyone that does.... :P

Jul. 19, 2007 | 10:57 PM Ross responds:

Yes, I really do enjoy it. When I'm not getting paid to do it, I'm doing it for fun on my own time. If someone is a programmer but doesn't enjoy it, they're really in the wrong profession. It's not one of these jobs you can get away with doing half-assed.


Jul. 19, 2007 | 4:58 PM Epica says:

MOAR CODING!!!


Jul. 19, 2007 | 5:10 PM CaptainBob says:

uml diagrams and design documents? you would get along well with some of my professors..

but yeah awesome work as always Ross, we appreciate it!

Jul. 20, 2007 | 12:16 AM Ross responds:

We joke about it because Newgrounds is as far from that stuff as a company can possibly be. Our "design documents" are a bunch of random whiteboard scribblings, if we're lucky.


Jul. 19, 2007 | 5:42 PM JohnnyUtah says:

*high five


Jul. 19, 2007 | 5:47 PM bob says:

omgwtf! u have a wife ur so OLD!


Jul. 19, 2007 | 10:11 PM deadlock32 says:

// Do we have an array element needle in haystack already?
function InArray(needle, haystack)
{
for(var i=0; i<haystack.length; i++)
{
if(needle == haystack[i])
{
return(true);
}
}

return(false);
}

Heh good stuff guys = ]


Jul. 20, 2007 | 12:58 PM Zendra says:

I enjoyed reading this news post. As a programmer (non-active at this moment) it is interesting reading through how some technical things of the new NG work.
90% is a lot - considering that I assume that there were thousands of code lines to be rewritten...
But, you've made it!

What I like most about the redesign are the nifty AJAX features. When pressing a review as abusive the links disappear and all these other nice AJAX animations. In-page voting and commenting is real handy, too!

One thing I read on one of your responses, was that you also made documents of the redesign. Is that like programming documents? IE: if this occurs, that will happen, if not user voted?

Anyway, thumbs up for all of your guys for the great work! Keep it going!

Jul. 20, 2007 | 1:20 PM Ross responds:

Nah, that was a joke. Big companies with their boring software projects often have dictionary-sized documents laying out everything in great specificity. I've been around a few, and in my experience, no one pays attention to them anyway, and when requirements change (as they always do), the documentation is rarely updated.

We don't have anything remotely like that at NG - we brainstorm, send e-mails back and forth, yell at each other, experiment, occasionally make unilateral decisions when it's 2 AM and everyone else is asleep, etc.

As for sheer volume of code, we've got something on the order of 16,000 lines of JavaScript and well upwards of 40,000 lines of PHP. 90% of that is... a lot. :)

Updated: Jul. 20, 2007, 1:21 PM

Jul. 22, 2007 | 1:05 AM hashbrown says:

i love you


Jul. 22, 2007 | 1:08 AM 207TJ says:

Hey :)
I've been a fan of you since 6th grade.


Jul. 22, 2007 | 9:42 AM Archkronos says:

*High 5*


Jul. 22, 2007 | 2:09 PM NeonFlame126 says:

'BOUT TIME

Just kidding. Great job! I couldn't have done it any better myself....because I wouldn't know how to. Even if I did, couldn't do it better. =P


Jul. 22, 2007 | 2:43 PM cicla says:

why you have never made a flash game? do you know AS? i guess you probably know since all programing languages are almost the same (or not the same but is easier learn another one when you already know one)

Jul. 22, 2007 | 7:24 PM Ross responds:

I have zero experience creating Flash or ActionScript (though I know ActionScript is based on JavaScript, so it'd be easy enough to pick up). I'm a programmer, not an artist. I do wish I could draw 1/10th as well as the NG artists. Those guys are amazing.

But yeah, when you learn the principles of programming in one language, you can usually pick up another one pretty easily. At least, another language in the same family - if you look at, say, functional programming languages (Scheme or ML for example), things get a little crazy.

Updated: Jul. 22, 2007, 7:25 PM

Jul. 22, 2007 | 7:37 PM Lalo says:

HEY ROSS! please tell me, is a redesigned NG.MAG also coming??? its so sad the redesign looks so modern and cool while the NG.MAG looks all forgotten and dusty.

Jul. 23, 2007 | 9:44 AM Ross responds:

Yep, there are plans for overhauling it. Once we're done polishing the rough corners of the redesign, we'll start thinking about it.


Jul. 23, 2007 | 5:44 PM AceAnimation says:

I luv the -new- newgrounds, the inpage options are friggen awesome.
But what happened to the psp only page? The link is gone and everything.

...Luv the new background too btw...


Jul. 25, 2007 | 6:49 PM Chronamut says:

i suggest you get into manga - pick up a copy of shonen jump from any variety store - they come out monthly - and have about i dunno.. 8 different comics that run in them.


Aug. 11, 2007 | 2:26 AM 207TJ says:

Hey Ross, hit me back.

Newer Older

Jump to Entry: [ 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 92337 ]