In December of 1996, Netmix.com first appeared online as the world’s first DJ mix-show website hosting streaming mixes by the world’s most sought after DJs. In the March 20, 1996 issue of Billboard Magazine, Netmix was cited by former Dance Trax columnist, Larry Flick, as the “innovation and advancement of dance music on the Internet.”
Born out of my bedroom in a four-story walk up at 726 Washington Street, just outside of Washington Square in Brookline, MA, I would move Netmix from Boston to New York City in September of 1996 to partner with a dance music promotion company, with the goal of converging promotion and marketing with online streaming and distribution. While the partnership didn’t work out in the long run, Netmix survived in the dotcom 1.0 economy until it entered a purchase and sale agreement on June 1, 2000 with Polyverse, a youth-culture startup funded by investors in the gold rush of the early Internet era, which saw companies like CDNOW, MP3.com, and Psuedo Networks valued in the many hundreds of millions of dollars.
While I was negotiating with Polyverse, the Internet bubble started to burst. Fast forward to October of 2000 and Polyverse was out of cash. No one could raise money. The doors closed on new capital and thousands of startups on both coasts and around the world failed. It was, in no uncertain terms, one of the most difficult periods for founders and employees of these companies who saw their hopes and dreams fall apart when the Internet economy collapsed.
Over the next 19-years, I would hold onto the Netmix.com domain and keep the website active. In the late 2000s I launched the Netmix Global House Sessions Podcast, which is still ingrained into this site today (and for the foreseeable future). The podcast features my alter ego, DJ Tony Z, in the mix. But Netmix became a side hobby while I focused on working for various corporations and startups in New York City until 2010, when I asked my wife to move to Chapel Hill, NC for a job at the University of North Carolina.
In North Carolina for 9-years now, we skipped across the state; from Chapel Hill to Winston-Salem and now Asheville, NC. My wife and I adopted a baby boy at birth who was born in the Asheville area. My family became the priority while I also ran my WordPress consulting company, Digital Strategy Works. I had ideas for Netmix, but life’s priorities simply got in the way.
A few years ago, I got it in mind to host a radio mix-show on a Low Power FM here in Asheville, AshevilleFM. My friend, Phillip and I created the Asheville House Music Society and hosted the show on the station for about a year, but we had to put the show on hiatus. In September of 2018, we brought the show back on the air on another LPFM in Asheville, WPVMFM.org, where I volunteer as the station’s webmaster. While working on the station’s website, I noticed they were using a WordPress plugin, Radio Station, which was originally created by a developer in Colorado, Nikki Blight. The plugin hadn’t been updated on the site in a while, so I checked in on the WordPress codex to review the plugin and its status. When I learned Nikki was no longer actively developing the plugin and saw that there was an installed user base, I contacted her to inquire about it and let her know that I’d consider taking it over.
After a brief conversation, Nikki passed along the car keys to the plugin in early June (2019) and wished me luck. After 16-years of working with WordPress, I am now an official manager and committer of a plugin listed in the WordPress repository. But, I’m not a developer myself. I’m a product manager and entrepreneur with deep experience managing WordPress projects, so I needed help bringing the plugin up to speed. I put the word out in the WordPress universe and the universe returned Tony Hayes, an experienced WordPress developer living about two-hours south of Brisbane, Australia. Tony’s work includes https://wpmedic.tech and other plugins that check on the health of WordPress websites.
For the past three months, Tony and I have been working together on the open-source, free version of the plugin. We’ve also had a contribution from another developer working at a radio station in Virginia, who helped bring the plugin up to WordPress coding standards. We’ve made some improvements to the plugin and are actively working on building a PRO version with an audio player, time zone switcher, and a few other neat features. But for now, we’re tightening up the plugin and its core feature set.
We’re also looking at integrating the plugin with a few popular radio station automation software packages, like AirTime and LibreTime.
After 19-years of controlling the Netmix domain name and website, I decided on merging Radio Station with Netmix, which is why the plugin is now hosted here on this site and it will carry the Netmix brand going forward, along with all the bells and whistles we hope to add to it.
We’re always looking for contributions from the community. If you’d like to join in the fun, please do visit the Radio Station project on Github and take a stab at fixing something or adding something, then issuing a pull request. We’d love to get contributions from the radio station community supporting open-source projects.
I’m so excited I finally found and merged a worthy WordPress project with the Netmix brand. Over the next couple of months, you’ll see some changes to this website. It’s a work in progress and slow going, but we’re committed to advancing the plugin, building out a PRO version with additional awesome features, and figuring it all out as we go along. We’d love to know what you think of the plugin, so leave a comment on this post below. And, please do share this plugin in your networks, so we can grow participation and installs – that’s how this is going to succeed.
I’ve followed your popular, The Lefsetz Letter, for many years. I’d subscribed to your email newsletter after I’d first heard about you through the Pho List, a long running private listserv about copyright, where discussion is heavily weighted toward the music industry. Whether the list members were supportive or not, your posts were certainly a hot topic for some time. Yes, for those younger folks reading this, we’re still communicating using old school email and listserv technologies instead of Secret,Yo,Snap Chat and texting.
Because I’d originally subscribed to receive the your blog by email, it wasn’t until years later I clicked through to the “Archive” page on your website, which is really the homepage of your WordPress blog. Even though your actual homepage is a splash page with two links (above); one for clicking through and registering to receive the blog posts by email and the other to view the posts in blog format.
It’s been this way for many years and my guess is that’s the way you prefer it, despite a very public “noemail” campaign by iBiblio.org Director and UNC Chapel Hill School of Information and Library Science Professor, Paul Jones, who will only respond to those who connect with him through social media and not by email. He deems email to be an archaic format, which has long outlasted its usefulness.
While Professor Jones presents frequently on why email is a relic of the past, it still seems to have a place in this world for you, although less than a quarter of your readers open email related to the music industry. To bolster Jones’ #noemail crusade, I found this research report by Palo Alto-based technology market research firm, Radicati online, which states North America accounts for only 14% of global email accounts. Estimated growth of email accounts is only 7% -– from 3.1 billion in 2011 to 4.1 billion by year-end 2015. Compared to Asia Pacific, which accounts for 49% of all email users and Europe with 22%, we here in the USA are not reading email as much as we once did. While corporate email is growing due to low cost cloud based services, personal email is declining while instant messaging is growing by an estimated 11% from 2011 to year-end 2015.
Despite these numbers and Jones swearing off email, companies like MailChimp,Constant Contact and iContact thrive on the reliance of marketers to send email. But 19% of all email received by corporate email users is spam or “greymail.”
MailChimp publicly post their industry benchmarks, which show average campaign rates by each industry using their service. Email seems continues to have a place in this world, albeit a smaller one. It has certainly taken a back seat to social media. According to the report, social profiles will grow from 2.4 billion accounts in 2011 to 3.9 billion by year-end 2015.
MailChimp’s industry averages for Music and Musicians show a 22.49% open rate with a 3.03% click through rate and a low 1.08% soft bounce rate. A little less than a quarter of all those who receive email coming from the music industry click through to open and read the message. Only a small percentage of those people convert, but it seems they do read these messages given the low bounce rate percentage.
Sure, while Paul Jones may decry email for its quaint antiquity, Yahoo!, Google and Microsoft still support their popular email services and MailChimp, Constant Contact and iContact have created multimillion dollar businesses around email marketing. However, like snail mail and the music industry at large, email has been impacted by new technologies, which means that your stubborn reliance on email as a medium can be equated to the music industries failed resistance to digital downloads.
You are arguably one of the most well read music industry bloggers in the world. Your posts by email reach many certainly reach many of your readers, but are they reaching as many as they could? ts pretty clear by the way you’ve setup your homepage that you prefer readers subscribe to your posts by email. Given the numbers above, have you started to think about when you’re going to expand your digital horizons?
Many (including me) admire you for keeping your Lefsetz Letter blog simple. In it’s plain style, it’s certainly unique. There are no bells and whistles. No images or advertising. It’s just plain text. The only links you post are generally to Spotify and YouTube content. And, you’ve managed to consistently deliver under the 1,700 words Buffer has analyzed as the best length for a blog post. In this day and age when there is a battle for our collective attention to media messages, your long posts aren’t as novel as I thought they might be, but your reliance on email to deliver your messages could very well be.
I’ve written to you on occasion in response to your posts, but you’ve never replied to me. I’m not in your inner circle and those are the people who seem to get your attention. Since I don’t know if you read my email replies to your posts, yet you sort of force me into your reliance on email (yes, I know there is RSS, but I don’t sub to RSS like others do), I thought I’d write this post instead.
First, I consider myself and others will support that I’m somewhat of a WordPress expert. I have been working with WordPress for 9-years. I just so happened to check my WordPress.org profile, which says I joined in February 2005. Just a short month before your first blog post in March 2005.
I founded WordPress Westchester Meetup in 2009 and then WordPress Chapel Hill Meetup in 2010 after moving to Chapel Hill for job at UNC. I’m no longer there, but that’s another story. I have also presented on WordPress topics at WordCamp NYC, Raleigh and Asheville. As you can see, I’m so engaged in WordPress, I build businesses on the platform through my company, Digital Strategy Works and this blog has been on WordPress as long as the Lefsetz Letter. As a WordPress expert, there are three things that irk me about your blog and I hope you address them. They are:
When you set up WordPress, you decided you wanted to front a “splash page” that drove some people to the blog and others to your mailing list signup form. Back then, we didn’t have as many available widgets in our WordPress sidebars. But you could have still put your mailing list registration form in a sidebar back then instead of in a page. It’s one-click to that page after landing on the homepage, but in today’s busy world, one-click is too much. Most sites now either have their mailing list signup just above or below the nav bar or at the top of a right or left sidebar.
You’re also still using PHP List, which is a mailing list software. Most web hosts now frown upon sending out an email list through their web servers because of the CAN SPAM Act. And, there is now a “whitelist” and “blacklist” of which hosts are being let through and which hosts are being targeted for spam. Reliance on PHP List instead of migrating the list to MailChimp or equivalent, who are “white list” providers, may be impacting the delivery of your message to your audience. It may not be, but it’s something to consider if you want to a. ensure your audience receives your emails and b. track open rates and unsubs. In fact, with MailChimp, you can even send out a weekly digest of emails published via RSS. You have it so people can only subscribe on your site to full post when it comes out, but some people enjoy weekly digests and that’s not an option. Additionally, it’s not obvious on your site where you might be able to unsub either.
My suggestion is to make your blog “archive” your home page and adopt a widget for your email subscription form in the right sidebar or in your site header. But, how do you do this?
Well, it seems when you installed WordPress, you uploaded WordPress in your “root” directory at your host, which is generally a folder named: “httpdocs.” Your URL resolves to: “httpdocs/wordpress” instead of just root aka “lefsetz.com/.”
If you were ever so inclined to fix this, you can simply edit your index.php file and change this:
** Loads the WordPress Environment and Template */
require( dirname( __FILE__ ) . '/wp-blog-header.php' );
** Loads the WordPress Environment and Template */
require( dirname( __FILE__ ) . '/wp-blog-header.php' );
This would then resolve your home page to lefsetz.com instead of lefsetz.com/wordpress. Anyone who types Lefsetz.com will no longer have to click on “Archive,” which is really a pain in the you know what. You say everyday that people “don’t have time,” yet you are a hypocrite by continuing to force people to one-click to your content from your “splash page.” For someone who crucifies artists on doing it right, you’re not doing it right yourself. Does it matter? To people like me, yes – it matters! A lot!
2. Social Sharing
There are NO social sharing icons on your blog. For someone who is so critical of artists who don’t use social media, you do not do it right.
What to do? Simple. Install the WordPress JetPack plugin and activate it. Then, connect it with your WordPress.com account by logging in, in the admin, with your WordPress.com user/pass. Access Dashboard > JetPack > Settings. Scroll down to Sharing. Turn it on by clicking “Activate.” Next, navigate to Dashboard > Settings > Sharing and drag’n’drop your social icons and click the check boxes to make them activate on your posts, pages and media (I have additional boxes for other post types), so that people who read your blog can share your posts in social media far easier than copying and pasting a link.
You’ll also be able to connect up with Google+ for your Google Authorship, so that your Google+ profile appears in Google search results. And, you’ll also be able to cross post into social networks without having to copy and paste links! Pretty awesome, I’d say.
If you activate Publicize, you’ll also be able to sync your blog with your social media accounts and cross post into social media. You can simply activate it in your JetPack Settings as well.
3. No XML Sitemap
You don’t have an XML sitemap, which can help your blog in SEO by connecting it directly to Google and Bing, who can then more accurately spider your blog posts while delivering analytics on keywords and other useful data.
Here’s what I found when I went to http://lefsetz.com/wordpress/sitemap.xml. A 404 Not Found error. Ghastly!
How does one create a sitemap? Simple, just download, install and activate All In One SEO Pack, the most popular SEO plugin for WordPress (downloaded over 19M times), from the WordPress.org plugins repo. It comes with a sitemap generator, but it’s core purpose is to allow you optimize the SEO of every post and page.
Once you’ve added your site, you’ll need to “Verify” the site (no screenshot provided) by linking it to your Google Analytics account or using All In One SEO site verification fields to enter in the string required for Google to see your site. Once it’s verified, you’ll be connected to Google directly. You’ll have to repeat this at Bing as well. Pinterest is also available.
An additional benefit of JetPack is activating WP.me, which is also located in the Settings panel. Using this integrated JetPack plugin will shorten your links. Shortlinks are certainly useful for those who don’t want to copy long links in a URL bar. I use a Bit.ly plugin to convert my links to that service, because I’m interested in managing my link sharing analytics with their analytics dashboard.
That’s it. I hope you’ll take this advice. If you need some help, let me know and happy blogging!
Radio Station is a plugin to run a radio station's website. It's functionality is based on Drupal 6's Station plugin, reworked for use in Wordpress. The plugin includes the ability to associate users with "shows", display the currently on-air DJ, store playlists, and more.
What is the single most important feature of any music website? C’mon, don’t let us stump you that easily. Still thinking? Okay, let us help. It’s the audio player, of course! If you’ve got a hot music site, then you’ve got to have a functioning audio player, so your audience can play back music featured on your website or in your mobile web application (notice I said mobile web application, not mobile application). When serving up those audio tracks, nothing is more frustrating than having a song interrupted while navigating between pages of a website. That means you can’t just deploy any audio player, you’ve got to deploy something with persistence across all site pages, allowing a consistent listening experience while surfing with no obvious break in the action. Wait, did we say that a user can navigate between pages while the audio player remains persistent and it doesn’t disrupt the audio stream? Yes! That’s what we said. After many years of ugly pop-up players or Flash-enabled players in Flash .swf wrappers that kill your site’s SEO, it is finally possible. Lots of sites are now deploying them. Some are even creating themes for WordPress with enhanced audio player experiences, so you get all that for free or a very low cost compared to custom development. The Stylico-DJ-Templatefeatures a persistent HTML5 player in the left sidebar. Before we get into the how and why of persistent audio players, here are a few more examples of sites employing these players successfully.
The best site for hand-crafted Internet radio, where user-generated playlists are all the rage, 8tracks.com recently converted to a persist audio player experience. This advancement will allow listeners to enjoy uninterrupted audio while navigating the site and following their favorite “DJs.” It will surely increase engagement with 8tracks and subsequently, listening hours. check out the player in the screen shot below. It’s at the bottom of the page. (In the interest of full disclosure, the author of this post is an adviser to 8tracks.com and holds shares in the company.)
One of the earliest and best implementations of a persistent audio player, Beatport first innovated with a full, all-Flash experience. Advances in HTML5/CSS3 and jQuery saw Beatport convert their entire experience into an SEO friendly website. This was smart for two reasons. First, it improved search engine optimization of the Beatport site. Flash is notoriously difficult for search engines to crawl, so converting the experience into HTML would helps Google, Bing and other search engines efficiently crawl the site. Second, it was to enable their audio player to work on Apple iPhones. When Apple decided not to support Adobe’s Flash Player plugin, Beatport customers could not play music from the existing Flash site on an iPhone or iPad. This forced Beatport to quickly innovate and come up with a solution for the mobile web, which you can from the screenshot posted see below.
Play any track on the Beatport home page and the track is added to a playlist found by the drop down arrow to the right of the bright green “add to cart” button in the header. You can jump back and forth and pause/play your track selections and there is a visual representation of the track with a cursor in the timeline that helps you know where you are. Then try and navigate between pages and you’ll see that the player consistently remains fixed and the audio continues to play.
This is similar to the iTunes experience, which has always had a playback feature in the head of the software as shown below. The user has the ability to play a track and navigate throughout the store or their library, as shown below without interruption.
Finding a way for users to listen to music uninterrupted while surfing the site is one of Beatport’s competitive advantages over its rivals, many of whom continue to deploy pop-over players, which are problematic for a number of reasons. As you can see in the screenshot of the DJDownload website below, the pop-over player gets in the way. It pops up and over the left side of the page, making it very difficult for the user to navigate the site. Since the pop-up player is in its own browser window, just clicking on the main page will bring the main page forward and layer the player behind it making it that much more difficult to use. Today, an audio player should always be persistent on your site. The technology is available, you just have to find the right developer to make it happen for your site. There are a few WordPress themes that feature HTML5 audio players and we hope to see more.
Another successful deployment of the persistent audio player is on the Pandora website. Pandora is one of the most popular streaming radio services on the Internet. The implementation is also HTML5/CSS3 with jQuery and AJAX, two methods to trigger playback and load new page information in the browser, without stopping audio playback. Whether you change your preferred radio station or click into your user profile, the audio player stays constant.
The grandaddy of artist networks and indie music discovery, Reverb Nation recently converted their site and player experience as well. The difference here is the player is on the bottom of the page instead of the top. It’s a different take and we’re wondering what A/B user testing uncovered when they were planning this feature. Does it matter whether the player is fixed to the bottom or the top? Is there an increase of decrease in usage based on location on the page? We’d love to get some feedback on this. Please leave us a comment with your thoughts on the placement of a persistent player experience. Top or bottom – which is better for the user experience?
The new MySpace has launched and its got a new player experience as well. As you can see, all the titles we’ve listened to are in a left/right scrollable slider. The player sits at the bottom of the page – similar to Reverb Nation. All pages load with AJAX, keeping the player persistent.
Here is a view of the new.myspace.com media library. Click on any track it will play in the player at the bottom of the page. Playlists can be created and shared with other new.myspace.com members. Of course, there is no Facebook or Twitter integration, which is understandable given the competitive landscape between these social networks, but that is going to make it much harder for MySpace to gain social traction. You cannot cross-post from MySpace to Facebook or Twitter and vice versa. MySpace is going to have to decide if they want to go down that road. But, we’re getting off track! Back to the player discussion.
A Brief Jog Through Our Experience With Audio Players over the past 17+ years
While persistent audio players have long been available in a downloadable client for the desktop (iTunes) or baked into an Adobe Flash experience, it’s only in the last few years you’re seeing them included on web sites as a persistent web app. And, like all audio players that came before it, it’s not all that easy to implement. I mean, it’s not necessarily plug-n-play type thing. You’ve got some work to do to implement them correctly. We”ll get to that, but let’s first start with a little history. When we first started out in this business, the most widely accepted method for streaming audio was to purchase a streaming server from Real Networks or lease space on a server from a hosting company who invested in the technology. Using Real’s server technology, you could broadcast at 14.4kbps, which is a fraction of today’s 10mbps download speeds. Early audio players were rudimentary. They were only meant as a utility to stream audio and not much else. The first image below is the Real Player 2.0, which was released in 1996. Netmix actually used this player to stream our first DJ mixes when we launched in January of 1996. Here is a view of the latest version of Real Player 16, which has a persistent player experience. The software also acts as a media library along with other advanced features. As you can see, Real Player has advanced considerably over 17+ years.
Before bandwidth got cheap, Real Networks would power audio on the web for the better part of a decade before being rendered obsolete by HTTP, UDP (User Datagram Protocol) and RTSP (RealTime Streaming Protocol). At the time, Microsoft would compete with Real Networks, rolling out a competitor to Real Audio and calling it, Windows Media. Here’s the original Windows Media Player. The latest version is Windows Media 11.
While the trial site did have a link to the audio only view, we discovered that by clicking on the link for the audio only experience, both Chrome and Safari for Mac returned the audio file in their HTML5 browser based audio players, as shown below.
In the context of this post, it’s important to address this issue, because many of those who are new to development and working with audio on the web may not know that audio links must start using the new HTML5 download attribute, which is appended inside the link tag like this:
Open Source content management systems including WordPress are inadvertently driving persistent audio player experiences. Free to download and install, these content management systems are extremely popular with DJs, bands and labels. Anyone with a hosting account can quickly set up a blog and within minutes publish a podcast or embed player widgets from services like Reverb Nation, Soundcloud or 8tracks into their sites pages. When it comes to a persistent experience, we’re just starting to see WordPress themes that utilize jQuery and AJAX to deliver the persistent player music fans are increasingly exposed to from the sites we mentioned earlier in this post. If you’re a DJ, artist, band or label, there will be a point in time your users will expect to be able to navigate your site or mobile pages, while listening to audio uninterrupted. We’re anticipating your next question, which is probably, “show me some examples of WordPress themes that have persistent audio players?” Ha! We thought you’d never ask. We mentioned Stylico-DJ-Template, which is available for $18 at Themeforest, a theme and plugin marketplace. The theme uses history,js, which:
…gracefully supports the HTML5 History/State APIs (pushState, replaceState, onPopState) in all browsers. Including continued support for data, titles, replaceState. Supports jQuery, MooTools and Prototype. For HTML5 browsers this means that you can modify the URL directly, without needing to use hashes anymore. For HTML4 browsers it will revert back to using the old onhashchange functionality.
Another example of a WordPress theme using history.js to create a consistent player experience is the predominantly dubstep and mash-up site, sosimpull.com. Notice the player is fixed at the top left. You can navigate between each tab in the playlist and the audio will continue to play.
How do you build persistent audio players?
After a little bit of research, I came up with a list of links that I’m going to pass to you, which should help you get started in building out your persistent audio player experience.
Let’s start with history,js, which we mentioned already, but it’s worth mentioning again.