I must admit, it’s been a long time since I was a steady programming magazine subscriber. Time was, I relied on magazines and their articles and columns for a deep insight into the industry I love; no longer. I’ve since cancelled almost every subscription I ever owned, and the few that continue to come to the house do so only because their subscriptions haven’t come up for renewal yet–and I’m sorely tempted to let them expire when they do.
Issues with Monthlies
At the heart of it all, I refuse to subscribe to magazines because they simply don’t capture my interest the way they did five years ago, for a variety of reasons.
For starters, speaking as an author of numerous books and white papers, I freely admit that I enjoy the editorial freedom that hosting white papers on my website gives me. I don’t have to justify the topics of the article to an editor for him to include it, nor do I have to try and find topics that will reach a broad swath of developers–I can focus my articles as tightly as I wish,
such as the white paper on dynamic classloading in Java potentially failing due to the nature of the hierarchical model in Java (“Understanding Class.forName()”) or how to build a java.security.Policy implementation (“java.security.Policy”), both of which were topics shot down by editors. I wrote them anyway, and they draw numerous hits even now, two years after writing them. It’s important that I admit that I’m still not sure if the papers would draw enough interest to justify inclusion in a magazine–I’m simply stating that I don’t have the same concerns
about “saleability” that an editor has.
I’m sure that the reasons editors have for making such decisions are sound,
from their perspective–it’s just that we, the author, the publisher and the reader,
each have a different perspective and agenda. As an author, I want to write about
interesting things. (Believe it or not, it’s not about the money–writing articles
is NOT the way to financial freedom.) Publishers, however, need to worry about what
will sell magazines, both to create direct revenue from the sale of the magainze
as well as indirect revenue from more advertising. Lastly, readers want to find
out about topics that may be relevant to the job (in my case, both as an instructor
One thing that readers of my papers will notice is that my white papers are
definitely much longer than your average magazine article, another freedom.
For most articles, length limitations of 2,000 words (some longer, some shorter)
doesn’t leave much room to get in deep on a topic. My white papers routinely
weigh in around 15 pages or so–trying to strip that down to 2,000 words would
leave tremendous amounts of information out.
I feel this on the other side of the coin, too–as a reader, I’m
often frustrated at the extremely narrow-minded degree of a given article. It’s
not uncommon to read an article and feel like so much was left out; if the article
tries to cover an API, say Java Reflection, it has just enough room to cover
the basics, and nothing else. The material might
show you how to walk through the Class to obtain Fields and Methods, but won’t
explain the difference between
getDeclaredFields, or that using Reflection requires a
RuntimePermission to be able to successfully examine private
elements within the class. It leaves me with just enough knowledge to explain the
exact sequence of method calls for the sample code–if I were to take that code
and twist it around a little, I’m suddenly out of the article’s scope. To do the
subject justice, however, usually can’t be done in 2,000 words–therefore, to do
the subject justice usually means a two- or three-part article, stretched across
three (or more) months.
It’s also easy to get out of an article’s scope just because the platforms
and specifications mutate so much. Thanks to the long lead times required by
magazine publishers (again, I can’t blame them–there’s good reasons, I’m sure),
a magazine author will be writing an article easily half a year before the
article sees the light of day in print. Six months is forever, particularly in
the rapidly-evolving Java space. Think about it–how many JSRs were in pre-Public
Draft form at the end of March of this year, compared to now? Yet articles written
then are just now coming into publication. The end result is an article that may
actually be incorrect, incomplete, or simply unnecessary.
Part of this long lead time is because magazines want to set “themes” for each
issue–this month, Web Services, next month, Databases, the month after that,
Mobile code. This means that an article written today about some of the adoptation
of Web Services security standards adopted this past month won’t be read until
sometime next year, since that’s when the next “Web Services” theme will come
around. I’m not sure when we decided that magazines had to have themes–that it
is unacceptable to run articles about JDBC next to articles about J2ME with an
article on WebServices in between–but I’m assuming there’s a good reason,
frustrating as it is. And while we’re on the topic of time, waiting a month
between issues for the three articles (plus a few columns) in your average
magazine just hardly seems worth it–so many other resources can fill that gap
All of these issues thus far, while certainly frustrating, aren’t in of themselves
a strong enough reason for me to have abandoned the monthly print format, however.
The truly damning reason is simple: magazines keep publishing the same articles
over and over and over again, written by different authors but covering the exact
same material. How many articles have been published on Java Reflection,
demonstrating the basics of how to find a Method and call
on it? The title of the article tempts you with a juicy title like “Build a Dynamic Website Using
Reflection”, then spends 75% of its time describing how to obtain a Class,
iterate through the Method objects returned, and call
is almost line-for-line similar to the article that ran last year, showing
how to use Reflection to tie Swing buttons to “business object methods”, which
again spent 75% of its time walking you through how to obtain a Class…. Where
are the editors on this? If a magazine has already run a “Reflection Basics”
article, then why can’t the article this year simply say, “For details of how
invoke on Method, see the article ….” and let interested
readers look it up in a back issue or on the Web? Then the author would have 1,500
words (insted of the 500 left to them now) to talk about the benefits and
drawbacks of using Reflection as part of a dynamic website, a clear win for the
Frankly, as a reader, it feels to me (paradoxically enough) like the magazines
don’t do enough editorial work on the content of the articles themselves, forcing
authors to cite existing articles instead of rehashing information already covered.
In fact, it often feels like the magazine is a first “proving ground” for would-be
book authors, a place for a programmer to try his hand at technical writing as a
resume-building experience. While I’m not adverse to that–quite the opposite,
in fact, I think we need as many new perspectives as we can find–as a reader of
articles I don’t want to subsidize a programmer’s steps into publication if it’s
not going to give me some benefit. And, quite frankly, the last several years of
articles haven’t done a thing for me. It honestly feels like the magazine is so
desperate for authors, they’ll take anybody as an author, so long as they turn
in the piece on time. That’s not fair to the author, that’s not fair to the
reader, and it’s ultimately not fair to the publisher’s shareholders.
As an instructor and author and architect splitting my time between both Java
and .NET, it’s a fair question to ask what I’m using as a replacement for
magazines–if magazines don’t provide the in-depth information I’m looking for
in the kind of time I want it, then what does?
- Books More technical publishing companies exist today than ever before, and they’re producing more and more books every year. I’ve had the privilege to work with three of them–Manning, OReilly, and Addison-Wesley–and I can honestly say that all three companies are top-notch organizations, turning out, on average, top-notch books. While the odd turkey will still slip through (I think of my Core OWL and Advanced OWL titles at Manning, which shipping six months after OWL was discontinued by Borland–my fault, entirely, for taking two years to write them instead of hte six months I’d promised), all three publishers churn out remarkably well-written titles. Books carry the disadvantage of having even longer publication cycles than magazines do, but not by much–your average book takes about 9 months to publish, from date of contract signing to pages rolling off the press. Books certainly don’t suffer from the length restrictions an article does (unless the book attempts to cover every API under the Sun, a failing some do succumb to), and a book author typically has much greater editorial control over what goes into the book than a magazine author does.
- Internet resources I spend a lot of time
online, reading email (usually from a number of mailing lists I lurk on),
reading weblog entries, participating in Wikis, reading white papers, and
scanning developer portals/websites for new information. I also subscribe to
a couple of online newsletters–”e-zines”, I suppose. DevX, for example,
publishes online releases, each one containing three or so articles
of just about equal length as a magazine article. Granted, these online
newsletters/e-zines somtimes suffer from the same problem of reptition, but
here it’s not so onerous, since I didn’t pay for anything in the first place.
I’m more than happy to simply skip the article if it’s a repeat of information
I already know, unlike the magazine, where I paid for it.
- Specifications and Documentation Although it doesn’t work
for everybody, I personally spend a lot of time reading specifications and
experimenting with reference implementations. In many ways, it’s the best
way to get an unbiased opinion of a technology before the pundits (like me)
start to dissect–or hype–it.
In many ways, I feel sorry for the magazine publishers; they’re caught
between a rock and a hard place, to use the old expression. On the one hand, the
website-driven Internet is all about providing content, the same as the
traditional paper monthly. In this, they are direct competitors. The Internet,
however, suffers none of the distribution
drawbacks that a paper-delivered monthly must face, that of printing and shipping
the magainze all of which bear costs. A fixed number of copies must be printed,
hoping not to come up short (lost revenue) or long (extra inventory), where that
number must be predicted ahead of time using past sales data and a wee bit of luck.
For Internet media, no such restrictions exist–I publish a paper on my website, and
within a month Google has picked it up, people start finding it, spreading the
word. The paper/article/story is now “published”. (This is precisely what
happened with my “Hosting
ASP.NET” paper; in that case, the word was spread much more quickly thanks
to fellow weblogger Brian Jepson’s nice plug for it in his weblog.)
All hope is not lost for the magazine; as I stated before, the key problem
that turned me off of the paper magazine is a correctable item, that of
repetitive content. Editors, if you’re reading this, take a stronger stand on
the details of the articles published, strictly requiring that duplicate material
instead quote an existing article. Doing so will rebuild the credibility of the
magazine, and who knows? You might sell a few more back issues that way.
Do you find magazines useful? Where else do you go to find the information you need to “get the job done”?