Here at Vulture, we’ve been examining some of the greatest and most beloved shows in the teen TV canon. Today, we turn our attention to two creators whose shows are not only part of our High-School-TV Showdown, but part of our hearts. Josh Schwartz created The O.C. at just 26, and then co-created Gossip Girl only a few years later. Rob Thomas gave us Veronica Mars, and we marshmallows were never the same. Schwartz and Thomas are responsible for some of the best parent-child relationships in TV’s modern era, some of the great romances, and the best Chrismukkah ever. Ahead, Schwartz and Thomas discuss how Freaks and Geeks inspired them, the state of teen dramas today, and the romantic pairings they never planned for.
Josh Schwartz: Rob, what made you want to do a high-school-based show?
Rob Thomas: I taught high school for five years, my first five years out of college. I was a high-school journalism teacher and taught yearbook. There’s no place better to hear teen-girl voices than a high-school yearbook. I got my start writing young-adult novels, and I desperately wanted to write a teen show for television. And the show that I really wanted to do was Freaks and Geeks, but they did it and they did it so well, and then it got canceled. And I thought, That’s the death of small-story television. For Veronica Mars, I thought I needed a Trojan horse. The only way I was going to get to tell coming-of-age stories is by giving this high-concept, “teenage-girl, private-eye,” and sort of sneak a teen show in behind that high concept.
Schwartz: It was a similar trajectory on The O.C. It was very much wanting to do Freaks and Geeks, but that wasn’t an option. So, how do you give them enough 90210, and then also try to smuggle in your Freaks and Geeks? There was a version of the script where Seth was much more Jewish, and they were like, “If Ryan is our Luke Perry, who is our Jason Priestley?” And I was like, “Oh, right, that’s how we have to play this.”
Thomas: You selling The O.C. made me think we could get a show on with this age group — it made things seem possible to me.
Schwartz: That’s nice, excellent. Did you have any kind of coming-of-age movies or shows that were super-inspiring to you? I’m taking the reins as the interviewer now.
Thomas: You’re doing a fine job. I had come out to L.A. and was walking down Hollywood Boulevard, and there was some store where you could buy scripts. The one that I bought was Heathers. That script really knocked me out at the time. I don’t know how you are, Josh, as a TV writer, but I spend no energy on my action blocks. Like, if you’re trying to be impressive on a feature script where you really want to knock people out with your writing, you might pay some attention to that. The Heathers script set the bar so high because every line of it was beautiful. We were always trying to do Heathers. Like, We’re going to give them a stylized thing. The quip that the adult writers spent two days thinking up. We’re going to let our teenage characters say that. Whereas, Freaks and Geeks would make them say the things teenagers would say.
Schwartz: We always said, “We’d love Freaks and Geeks, but we’d also love to stay on the air.”
Thomas: By the way, your music selections always gave me fits. You were so on the ball. I would pick things and then hear them on your show three weeks before us. You were always much closer to the Zeitgeist than I was.
Schwartz: People were actually really open to it then because there weren’t a lot of opportunities to hear new music. Television actually became important at that time: MTV was over, radio was pretty much consolidated, iTunes hadn’t yet been created, or Spotify — TV stepped in and filled the void. We both did our parts for the Dandy Warhols.
Thomas: You were so young — The O.C. was your first show that got on the air, but you were still in your 20s?
Schwartz: Yeah, I was 26 when we premiered.
Thomas: Did you have older writers on the show?
Schwartz: Older than me? Yes. And they would not let me do the show alone. They said I had to work with an experienced showrunner.
Thomas: I was 33 when I got my first show on the air, and I remember the idea of bringing older writers on staff scared the hell out of me because you figure it’s your show but they know more than you, and you fear that you’re going to go out to lunch and the show won’t be yours when you come back.
Schwartz: It’s terrifying. One of the things I remember distinctly was, Gossip Girl was much more consistent — we had learned a lot on The O.C. about burning through too much story. By the end of season one, we wrote off like four of our most beloved characters, and marched into season two thinking, We can top that. But, of course, those season-one characters are so core. I remember at one point in the show, we were getting really hammered by the critics. And there was nothing but glowing reviews for Veronica Mars. So, of course, I was insanely jealous. But, I was wondering how you factored in the shorter shelf-life sometimes for these teen dramas. The trickiness as they reach the end of high school and college. Was it important to keep high school longer? Did you want [Veronica] out sooner?
Thomas: Because we were always struggling in the ratings, we were always experimenting — so we tried shorter mysteries, we tried putting her in college. It was a bit of experimentation just to see if anything moved the needle for us. And it did not. I think I would have tried to milk another year of high school. If we had been doing well, I would have stuck with it because we were barely hanging on. I said, “Let’s try something new.”
Schwartz: We had a similar thing at the end of season three [on The O.C.] where they were like, “Mmm. We’re not sure if we’re going to pick you up again.” Management at Fox had changed and something big had happened and that led to killing off Mischa Barton’s character. At that point, you’re trying to do anything to keep your show going.
I do think we were fortunate, the both of us, to be on the CW [for Gossip Girl and Veronica Mars]. I know it’s funny to say that. Did you guys make the transition?
Thomas: Yeah, our first years we were on UPN, and then the third season was CW.
Schwartz: First of all, if you look at the amount of talent that came out of the WB, J.J. [Abrams], Kevin Williamson started there. Joss Whedon. They really yielded some great shows that otherwise would not have had a home. The kind of stuff that we like to do, it lives with one foot in cable and one foot in network in some ways. And it’s a little bit more youth-oriented. I worry that it’s going away a little bit.
Thomas: Yeah. They definitely want to skew a bit older now. I don’t even know if they’re buying teen stuff there now.
Schwartz:So, you must be very proud when someone like Kristen Bell goes on to have such a wonderful career outside the show, and obviously we overlap with that. She was the voice of Gossip Girl for us. One of the nice things when you’re doing a show for this age group is you get to discover people. You’re not looking for a big name — you’re trying to get a 16-year-old Veronica Mars or Blair Waldorf. What has that experience been like for you?
Thomas: It’s really fun. I have friends who write on these big CBS procedurals where they have that older movie-star lead, and it seems so driven by the star’s whims and desires. The nice thing about doing a show about young people is that as the creator, you probably have more control over the show than if you’re doing the David Caruso show on CBS. And that is great, and they are eager. Like on Veronica Mars, all of them were eager for more screen time. And Enrico Colantoni was perfectly happy if he had three scenes an episode and could keep cashing those checks.
Schwartz: The fun thing about TV is you get the opportunity to discover things, and somebody who starts off in a smaller part can really emerge and surprise you. In The O.C., for instance, Rachel Bilson was a guest star. She had three lines in the pilot, and one of them was like, “I’ve got to pee.” But everybody really responded to her and she had great chemistry with Adam Brody. Her role evolved and she became a series regular, and we were able to discover that and see that chemistry. You start to write toward that. Sometimes you have an actor like Ed Westwick, who starred as Chuck Bass on Gossip Girl, and was basically the villain. Suddenly, his romance with Blair took center stage. Neither of those romances were designed to be the center of those shows. The audience tells you, and you see it onscreen, and you really have a chance to react to it.
Thomas: I had a really similar experience. The big romance happened between our leads of course. But then the guy we hired to play the bad guy, we did not hire him thinking that would be where we steered the show. It was sitting there watching dailies come in and watching those two and saying, “We want more of that.” That’s what makes us excited, so let’s hope the audience buys into it, too. Then trying to resist the urge of watching it, and knowing you want to go there, but taking your time getting there because the urge of just smashing them together was so great. The thing is, we’re watching the same things the fans are watching — we just get to see it a few weeks earlier.
By submitting your email, you agree to our
Terms and Privacy Notice
and to receive email correspondence from us. This site is protected by reCAPTCHA and the Google
Privacy Policy and
Terms of Service apply.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
Already a subscriber?
Already a subscriber?
`;
// integrate Sub(x) scripts and elements
if (hostname !== 'subs.nymag.com') { // do not integrate on this subdomain
document.head.appendChild(trackingScript);
document.body.insertAdjacentHTML('beforeend', subXAnimationElements);
}
There was an error processing the request. Please try again later."}).catch(e=>console.error("Error verifying email: ",e)))(r.querySelector(".content"),o.bannerCTAVerification)})):(l.remove(),s.remove()),o.dismissable||n.remove(),o.useAlertIcon||a.remove(),r.classList.add("show"),n.addEventListener("click",()=>{u(),r.classList.remove("show")})}else r.remove()}});
}, {"3":3,"6":6,"17":17,"35":35,"40":40}];
window.modules["global-nav.client"] = [function(require,module,exports){"use strict";const dom=require(4),auth=require(17),signInButton=dom.find(".user-signin"),signOutButton=dom.find(".user-signout"),globalNav=dom.find('[class^="global-nav"]'),body=dom.find("body"),dropdownItems=dom.findAll(".dropdown-wrap"),gtm=require(3),appendLandingPageParams=require(135),pageUri=require(124).getPageUri(),subscriptionPromoLinks=dom.findAll(".persist-params"),searchString=window.location.search||"";function closeDropdowns(e){let n=globalNav.querySelectorAll(".dropdown.open");dropdownItems.forEach(function(t){let i=t.querySelector(".dropdown");!n||t.contains(e.target)&&27!==e.keyCode||i.classList.remove("open")})}function gtmSendReport(e,n,t){let i={eventCategory:"ecommerce",eventAction:"componentClick",brand:e,dimension23:"global-nav",list:pageUri,pageZone:"header",variant:"nav-link"};"global-nav-link"===t&&(i.eventLabel=n.href),gtm.reportNow(i)}function updateElementTargetUrlsIfQueryStrings(e){if(searchString){const n=new URLSearchParams(searchString);let t=e.href;if(t.includes("?")){const i=t.split("?"),o=new URLSearchParams(i[1]);for(let e of n.entries())o.set(e[0],e[1]);t=`${i[0]}?${o.toString()}`,e.href=t}else e.href=`${t}?${n.toString()}`}}function init(e){const n=e.querySelectorAll(".to-landing-page");window.addEventListener("auth:init",()=>{signInButton.addEventListener("click",function(e){e.preventDefault(),auth.showEmbeddedLoginFlow("top navigation")}),signOutButton.addEventListener("click",function(e){e.preventDefault(),gtmSendReport("Sign Out",e.target,"user-info-link"),auth.logout()}),auth.isAuthenticated()&&e.classList.add("signed-in"),(auth.isSubscriber()||auth.isMobileAppRequest())&&e.classList.add("subscribed"),e.querySelectorAll(".user-link").forEach(e=>{e.classList.add("active")}),subscriptionPromoLinks.forEach(e=>{updateElementTargetUrlsIfQueryStrings(e)}),appendLandingPageParams(n)})}dropdownItems.forEach(function(e){e.addEventListener("click",function(){e.querySelector(".dropdown").classList.toggle("open")})}),body.addEventListener("click",closeDropdowns),document.addEventListener("keydown",closeDropdowns),globalNav.addEventListener("click",function(e){let n=e.target;n.classList.contains("global-nav-track")&>mSendReport(n.text,n,"global-nav-link")}),module.exports=init;
}, {"3":3,"4":4,"17":17,"124":124,"135":135}];
window.modules["aaa-module-mounting.legacy"] = [function(require,module,exports){"use strict";const _pickBy=require(221),_each=require(406),Fingerprint2=require(408),DS=require(407),Eventify=require(246);function registerGlobals(){window.DS=DS,window.Eventify=Eventify,window.Fingerprint2=Fingerprint2,DS.value("Eventify",Eventify),DS.value("Fingerprint2",Fingerprint2),DS.value("$document",window.document),DS.value("$window",window)}function mountDollarSliceComponents(){DS.service("components",["$document","$module",function(e,n){var o=_pickBy(n.definitions,e=>e.providerStrategy===n.providers.controller),r=Object.keys(o);function t(e){return o=>{try{n.get(e,o)}catch(e){logMountError(o,e)}}}_each(r,n=>{var o=e.querySelectorAll('[data-uri*="/_components/'+n+'/"]'),r=e.querySelectorAll('[data-uri$="/_components/'+n+'"]');_each(o,t(n)),_each(r,t(n))}),this.components=r}]),DS.get("components")}function logMountError(e,n){const o=e.outerHTML.slice(0,e.outerHTML.indexOf(e.innerHTML));console.error("Error attaching controller to "+o,n)}registerGlobals(),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>{mountDollarSliceComponents()}):mountDollarSliceComponents();
}, {"221":221,"246":246,"406":406,"407":407,"408":408}];
window.modules["ads.legacy"] = [function(require,module,exports){"use strict";const _map=require(118),_forEach=require(107),_isString=require(268),_intersectionWith=require(409),_isEqual=require(274),_each=require(406),_debounce=require(182),_sortBy=require(205),page=require(124),visit=require(114);DS.service("adService",["Eventify","$cid","$document","$window",function(e,t,a,i){var o,n,s,r,d,c,u,l,g={},p=this,h=[],f=visit.getQueryParamsObject(["utm_campaign"]),m=document.querySelector('script[data-type="ad-a9"]'),b=[],w=!1,v=[],y=document.querySelector('script[data-name="ad-doubleverify"]');document.querySelector('script[data-name="concert-ads"]')||(i.NYM={},i.NYM.analytics={},i.NYM.analytics.adStartTime=i.performance.now(),i.googletag=i.googletag||{},i.googletag.cmd=i.googletag.cmd||[],u=i.googletag,(m||y)&&(i.googletag.cmd=i.googletag.cmd||[],i.googletag.cmd.push(function(){i.googletag.pubads().disableInitialLoad()})),m&&(l=i.setInterval(function(){void 0!==window.apstag&&void 0!==window.apstag.timeout&&(i.clearInterval(l),window.apstag.cleared=!0,l=null)},10),setTimeout(function(){l&&(i.clearInterval(l),i.googletag.pubads().refresh(),window.apstag||console.log("MESSAGE: Timeout for A9 load exceeded, aborting"))},500)),y&&(b.push(new Promise(function(e){w?e():v.push(e)})),c=i.setTimeout(T,2500)),o=function(e){var t,a,o=e.data,n=[];return o.loaded?e:(o.loaded=!0,t=null,(t=o.sizes?u.defineSlot(o.name,o.sizes,o.id).addService(u.pubads()):u.defineOutOfPageSlot(o.name,o.id).addService(u.pubads())).setTargeting("adid",o.id),f.hasOwnProperty("utm_campaign")&&t.setTargeting("utmcamp",f.utm_campaign),a=p.getAdCount(o.label),t.setTargeting("label",o.label+"_"+o.site+"-"+a),u.display(o.id),u.pubads().addEventListener("slotOnload",function(){i.NYM.analytics.firstAdLoadTime||(i.NYM.analytics.firstAdLoadTime=i.performance.now(),i.NYM.analytics.firstAdLoadLabel=e.data.label)}),n=_(o),Promise.all(b).then(function(){n?window.apstag&&window.apstag.cleared?window.apstag.fetchBids({slots:[n],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([t],{changeCorrelator:!1})})}):y&&u.pubads().refresh([t],{changeCorrelator:!1}):u.pubads().refresh([t],{changeCorrelator:!1})}),e.slot=t,e)},n=function(e){var a,i,o,n=t(),s=e.getAttribute("data-name"),r=e.getAttribute("data-sizes"),d=e.getAttribute("data-label"),c=e.getAttribute("data-site");n=e.id,r&&r.length?(r=r.split(","),a=[],_map(r,function(e){e=e.split("x"),i=parseInt(e[0]),o=parseInt(e[1]),a.push([i,o])})):(e.classList.add("oop"),a=!1),this.data={id:n,name:s,sizes:a,loaded:!1,label:d,site:c},g[n]=this},r=function(e){u.cmd.push(function(){var t=o(e);g[e.data.id]=t})},s=function(e){var t=[];e.slot?(t=_(e))&&window.apstag&&window.apstag.cleared&&window.apstag.fetchBids({slots:[t],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([e.slot],{changeCorrelator:!1})})}):e&&r(e)},u.cmd.push(function(){var e,t,o,n=page.getMeta("article:tag"),s=page.getMeta("author"),r=i.location.href,d=(e=a.head.querySelector(".head-gtm"),t=a.body.querySelector(".gtm"),e&&"top"===e.getAttribute("data-gtm")?"gtmtop":t&&"bottom"===t.getAttribute("data-gtm")?"gtmbottom":"");o=[],_forEach([n,s,d],function(e){_forEach(e.split(","),function(e){(e=e.trim().toLowerCase().replace(/\s/g,"-").replace(/\'|\’/g,"")).length&&o.push(e)})}),u.pubads().setTargeting("kw",o),u.pubads().setTargeting("entry_group",o),r=r.slice(r.lastIndexOf("/")+1),u.pubads().setTargeting("pn",r),u.companionAds().setRefreshUnfilledSlots(!0),u.pubads().enableAsyncRendering(),u.enableServices()}),this.load=r,this.create=function(e){return new n(e)},this.refresh=function(e){var t;_isString(e)?(t=this.getById(e),s(t)):s(e)},this.remove=function(e){var t=e.data.id;a.getElementById(t).innerHTML=""},this.getAdCount=function(e){var t,a=0,i=Object.keys(g);return _each(i,function(i){(t=g[i]).data.loaded&&t.data.label===e&&a++}),a},this.getById=function(e){return g[e]},d=_debounce(function(){var e={TopLeaderboard:1,RightColTopMPU:2,outOfPage:99,"homepageTakeover/TopLeaderboard":1},t=_sortBy(h,function(t){return e[t.data.label]||10});_forEach(t,function(e){return e.data.sizes?r(e):i.setTimeout(function(){r(e)},2e3)}),y&&window.PQ.cmd.push(()=>{try{window.PQ.loadSignals(["ids","bsc","vlp"],T)}catch(e){T(),console.error(`There has been an error loading Double Verify signals: ${e}`)}}),h=[]},10),this.addToPageLoadQueue=function(e){h.push(e),d()});function _(e){var t,a=e.sizes;return a=_intersectionWith(a,[[970,250],[970,90],[728,90],[300,600],[300,250],[320,100],[320,50]],_isEqual),e.sizes&&e.sizes.length&&(t={slotID:e.id,sizes:a,slotName:e.label}),t}function T(){i.clearTimeout(c),w=!0,_forEach(v,function(e){e()})}}]);
}, {"107":107,"114":114,"118":118,"124":124,"182":182,"205":205,"268":268,"274":274,"406":406,"409":409}];
window.modules["cid.legacy"] = [function(require,module,exports){"use strict";DS.service("$cid",function(){var r=Math.floor(100*Math.random());return function(){return"cid-"+ ++r}});
}, {}];
window.modules["client.legacy"] = [function(require,module,exports){"use strict";require("cid.legacy"),require("ads.legacy"),require("facebook.legacy"),require("aaa-module-mounting.legacy");
}, {"cid.legacy":"cid.legacy","ads.legacy":"ads.legacy","facebook.legacy":"facebook.legacy","aaa-module-mounting.legacy":"aaa-module-mounting.legacy"}];
window.modules["facebook.legacy"] = [function(require,module,exports){"use strict";DS.service("facebook",[function(){this.fb=function(i){window.FB&&window.FB[i].apply(this,Array.prototype.slice.call(arguments,1))}}]);
}, {}];
require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o typeof key === 'string' && key.match(/\.legacy$/)).forEach(key => window.require(key));
}
function tryToMount(fn, el, name) {
try {
fn(el); // init the controller
} catch (e) {
const elementTag = el.outerHTML.slice(0, el.outerHTML.indexOf(el.innerHTML));
console.error(`Error initializing controller for "${name}" on "${elementTag}"`, e);
}
}
/**
* mount client.js component controllers
*/
function mountComponentModules() {
Object.keys(window.modules).filter(key => typeof key === 'string' && key.match(/\.client$/)).forEach(key => {
let controllerFn = window.require(key);
if (typeof controllerFn === 'function') {
const name = key.replace('.client', ''),
instancesSelector = `[data-uri*="_components/${name}/"]`,
defaultSelector = `[data-uri$="_components${name}"]`,
instances = document.querySelectorAll(instancesSelector),
defaults = document.querySelectorAll(defaultSelector);
for (let el of instances) {
tryToMount(controllerFn, el, name);
}
for (let el of defaults) {
tryToMount(controllerFn, el, name);
}
}
});
}
// Make sure that a `window.process.env.NODE_ENV` is available in the client for any dependencies,
// services, or components that could require it
// note: the `` value is swapped for the actual environment variable in /lib/cmd/compile/scripts.js
window.process = window.process || {};
window.process.env = window.process.env || {};
if (!window.process.env.NODE_ENV) {
window.process.env.NODE_ENV = '';
}
// note: legacy controllers that require legacy services (e.g. dollar-slice) must
// wait for DOMContentLoaded to initialize themselves, as the files themselves must be mounted first
mountLegacyServices();
mountComponentModules();
// ]]