Just as we were ready to slam the door on 2020, the Michalka sisters sneaked in with a parting gift 14 years in the making: the chance to hear them drop an official f-bomb (and one shit) in their 2006 pop-bop “Potential Breakup Song.” At long last, Aly & AJ — that’s Alyson and Amanda, if your Disney-alum trivia is rusty — validated the lyrics most fans have been singing since they were tweens. They also solidified their spot in the 2020 TikTok Hall of Fame with the OG version racking up 2 million uses; the pair spent their New Year’s on the app to play the new recording and their December single, “Slow Dancing.”
The Michalkas first recorded “Potential Breakup Song” for their 2007 album Insomniatic. It came outback in their Disney days, in the same year the two starred in The Simple Life–esque movie Cowbellesas privileged sisters who must tough it out and work on a dairy farm. Aly was also wrapping up her time on the criminally underrated Disney series Phil of the Future. Since then, both have maintained their acting careers, takingan extended hiatus from music after Insomniatic that didn’t end until 2017’s fittingly titled EP Ten Years. Now 29 and 31, the sisters have refocused on music. In addition to working on a full album, in November they released a compilation of some previous work, called We Don’t Stop, featuring ’80s-synth-inspired pop tracks like “Joan of Arc on the Dance Floor” and “Attack of Panic.” With more singles on the way, Aly & AJ talked to Vulture about their gradual reinvention and what comes next.
You’d been doing the explicit version of “Potential Breakup Song” live for years. Do you remember the first time? AJ: There was one show [when] we literally just started doing it in the moment, and it became a thing. It was random. We weren’t planning it.
Aly: There were a couple of cities where we played the song twice, literally back to back because people were loving it so much, which we never do with any song. We just found it so funny that people were so hyped over it. We were like, “We’re gonna play it again!” and then people would go crazy. I don’t think we did all of the changes. I just said, “My fucking birthday.”
AJ: Yeah, it would have only been that line.
Aly: But obviously, TikTok brought this song back from the dead, which is wild. We really have TikTok to thank, and a bunch of moms.
AJ: And there was one guy in particular on TikTok not long ago who was like, “Can you guys please just swear in this song?” And I remember that being the trigger, where Aly and I were like, “Oh, we should rerecord this with the explicit lyrics.” He kind of inspired that.
Aly: That’s right. He was like, “I know y’all have said ‘fuck.’”
After you guys first performed the explicit version, did it become, like, “Okay, we’re going to do this every time we perform the song now”? Aly: If we had a crazy crowd, I would do it and then it would go off really well and people were excited, but there were many nights where I would just sing the original version. I think now we have no choice but to sing the new version from here on out, which is kind of hilarious. There was never a plan to put this song out and to rerecord it, but it’s had such a great response and the fans have obviously been wanting it for so long — which I didn’t even really know, but I guess secretly everyone’s been singing this lyric since they were like ten years old.
When this song came out 14 years ago, you were teenagers. What was it like to rerecord this song you originally did when you were so young? AJ: It’s weird because a lot of the parts become clockwork. They’re so set inside you — the way you sing certain things — because it’s been a part of your life for that many years that you almost don’t know how to sing it in a different way. But it was interesting to hear the original recording and compare what we sounded like as teens, how our voices have changed over the years. I think the song sounds a lot better now: the production, the quality, even a lot of the programming.
Right, not just the lyrics have been updated. Aly: There were a couple of weird things in the original that AJ and I took out. There was almost like a chipmunk-type vocal that was happening, and the Auto-Tune on the original was really heavy in a fun way [that] was obviously very popular back then.
Did you tinker with any lines besides the three new curses? AJ: Before we recorded it, Aly and I reviewed the lyrics, and it was really clear to us right away that those were the only moments. I originally was only advocating for one f-bomb and one shit and then Aly was like, “Well, we have to honor the song exactly where people sing the explicit lyrics.”
TikTok definitely gave “Potential Breakup Song” its full reawakening. Do you have a favorite version? AJ: Oh, that’s so hard.
Aly: Well, there’s a really funny one that came out recently of a guy that’s doing the ghosting version, where you go outside your body. He used that with the new explicit version, and it’s really funny.
AJ: That’s literally my favorite one out of the new version.
Aly: Yeah, AJ freaked and sent it to me. I mean, the moms’ one is truly hilarious, and it’s funny because a bunch of friends were sending me videos of people doing it, anything that had to do with making fun of it. There was a guy that dressed up as all of the moms and had wigs and everything. I thought that was brilliant.
AJ: I always comment on the ones that are all male-driven. I just think it’s funny to see a group of guys singing this song. There’s one where all of the guys work at the dentist’s office; they’re all singing the song and using their tools as props, it’s hilarious. And then another one is in the locker room with the Orioles. I thought that one was funny, too.
Aly: And then Gordon Ramsay with his daughter — I thought that was really funny. And you can tell that he doesn’t really know how to use TikTok, so he’s like lip-syncing but it’s off. It’s such a dad vibe, I loved it.
You’ve been putting all this work toward your return to music in quarantine in the middle of a pandemic. How has that both challenged and inspired you? AJ: Everything we’ve created over the last six months has been me, my sister, and my brother-in-law. We create art together in a very quarantined small production office, which ends up being Aly’s home. And that’s how we created “Joan of Arc on the Dance Floor” and put out the We Don’t Stop compilation. It’s challenging us in a great way because it’s given us creative freedom, but also not having access to a lot of things almost gives you better ideas. You’re so limited that it ends up bringing out something really cool.
Honestly, this record is so fun to listen to. Even listening to the mixes in my car on the way to Santa Ynez, just kind of reviewing notes in my head, I just feel so good. It’s hard to feel like we’re in a year that’s any different than 2020 because we haven’t left that year at all, but hopefully, when this record comes out, it’ll be seeing brighter days.
Aly: I also feel like this record feels like a West Coast album. It was made in California in Sunset Sound, an iconic studio that was linked with so many incredible artists over the years. For AJ and I to be able to record there, to be able to cut this record with a live band, which we haven’t done since our early days as artists, it kind of gave us hope that things were gonna get better.
It’s not going to be a struggle to put these songs into a set list and to get a bassist and a drummer and a keyboardist on these songs. It’s gonna feel so natural. I think [about] the way that some of these iconic records from the ’60s and ’70s were made. They were made in a very simple, straight-up way. It was a group of guys in one room cutting the song, doing three to four takes, then it’s done. Those records aren’t really made anymore that way. The 21st century brought us the computer, Pro Tools, Logic, and all of these forms of being able to create music in your bedroom, which is wonderful, but at the same time, you do take away the human aspect of music. I think that’s what we brought back into our music.
AJ: Well said.
You two recently made a TikTok re-creating one of the scenes from your 2006 Disney Channel Original Movie Cowbelles. How do you look back on those Disney days now? AJ: I look back on it really fondly because it’s kind of a time capsule of me and Aly’s life together and how we’ve grown up. I’m really excited about what we’re about to do, because I think that the time capsule continues and in a way that I’m really proud of. But it’s really neat to look back and go, Oh my gosh, that was Aly and I when we were 15 and 17, just learning how to drive. Those memories will live with you forever, and I’ve been able to work closely with Aly for our whole lives. It’s neat that we’ve built a business together; not only do we do music together, but we also have starred in a couple of movies together. There’s a place for our careers separately that I think it’s important to establish as actors, but in terms of music, we’ll always do this together. I don’t see us making another Cowbelles, but I love that we have that moment in time to look back on and go, Oh wow, that was really neat that we did that.
Aly: We can show our future kids. They’ll get a crack-up out of it.
AJ: I’m sure they’ll make fun of us and have plenty to say.
This interview has been edited and condensed for clarity.
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()}});
}, {"1":1,"6":6,"12":12,"35":35,"40":40}];
window.modules["global-nav.client"] = [function(require,module,exports){"use strict";const dom=require(4),auth=require(12),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(1),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 o=t.querySelector(".dropdown");!n||t.contains(e.target)&&27!==e.keyCode||o.classList.remove("open")})}function gtmSendReport(e,n,t){let o={eventCategory:"ecommerce",eventAction:"componentClick",brand:e,dimension23:"global-nav",list:pageUri,pageZone:"header",variant:"nav-link"};"global-nav-link"===t&&(o.eventLabel=n.href),gtm.reportNow(o)}function updateElementTargetUrlsIfQueryStrings(e){if(searchString){const n=new URLSearchParams(searchString);let t=e.href;if(t.includes("?")){const o=t.split("?"),i=new URLSearchParams(o[1]);for(let e of n.entries())i.set(e[0],e[1]);t=`${o[0]}?${i.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()&&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;
}, {"1":1,"4":4,"12":12,"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();
// ]]