Image by The Richardson Fosters on Flickr
Since this issue is all about building small but useful things, my essay this month is about how this magazine is built. It’s a lot like the wonderful photo at the top of this piece: the adult in me knows to wear warm clothes and study the map I’ve brought along while the child in me knows sometimes it’s best to pass out and see what happens when you wake up (as long as you have a favorite stuffed toy: note the grey stuffie below the map, with the ears).
We’ll begin with the easy stuff, the technology used to publish this magazine, then evolve into the editorial process and how the idea of this magazine happened.
The technologies used to publish this magazine are WordPress, the SimpleMag WordPress theme (adapted for my needs), and WordPress plugins (Advanced Custom Fields, BackWPup, Contact 7, WordPress SEO). The site is hosted at VPS.net, a cloud hosting provider. Subscription payments use Memberful and Stripe.
I also use Google Analytics for statistics. I could’ve used AddThis, as well, but it was too intrusive. Mostly I want to know devices people use to read the magazine, what stories people read, how many pages people read each visit, basic stuff.
In terms of minions, I happen to have way too much experience with WordPress, web production, server management, interface design, user experience, marketing, research, and writing. Probably I’m a small army of one. My daughter does the copy editing. My goal is for this magazine to grow enough I also can hire a designer, web producer, and writers.
The Editorial Process
I’m always 2-3 issues ahead of the current published issue. This mostly ensures I’m not driven crazy with the stress of publishing each issue. Right now, in October, I’m working on the February 2014 issue with a few articles left to write (like this one) for the November and December/January issues.
Content is written mostly with Google Docs on Totoro, my Chromebook, when I head into New York City to work on site. I have about 45 minutes free time each direction to either stare out the window or use my phone to research and Totoro to write and edit. When I get back in, I fire up Totoro to reconnect with the internet. Totoro is the cheaper Acer which had a better screen and larger hard drive than the more expensive Samsung; in the store, I fired up a YouTube video on a couple different Chromebooks to see how well they streamed data. Acer did best.
Final editing and publication is done on Grendel, my ancient beast of an iMac, using Google Drive and a web browser to access WordPress. On Grendel, I also use Scrivener software to write because Scrivener is a far better and more fun writing tool than Google Drive. Most evenings when I write the next day on the train, I use Grendel to feed Totoro: I update Google Drive on Grendel then fire up Totoro to download the new research, updated stories, and other materials.
To build each issue, I create a page in WordPress and assign it to a custom template page which displays stories and images in a grid. Then I add all the stories and images. When the issue home page is complete, I copy the code and paste it into my PHP code so there are no database calls needed to create the home page for each issue. The home pages load faster with less effort from the server.
How This Magazine Happened
Every good project should start with a purpose. Help Kids Code the magazine is no exception. Except it took about thirteen years to get to this point. At that time, working as a well-compensated staff drone, I decided to start my own business. I figured it would take ten years and a dozen start up projects to succeed. The obvious place to begin would be to help friends and colleagues with their start ups. Once I learned a few things and made a few mistakes, I could tackle my own projects.
I started working on an internal corporate start up run by a few people who I had worked for earlier. They hired me to be, in effect, a technology sales person selling in content management software to their initial client. This worked grand until a global consulting company (which shall be not named) bled this initial client dry by providing expensive software consulting.
It was a good lesson. You’re either in business to sustain yourself AND your customers or you’re in business and customers exist as cash cows until they no longer can pay you. If you finish the project, terrific. But that’s not the goal.
Fast forward maybe seven years and I’ve consulted for years and have 2-3 of my own start ups on the side. Things get done but not enough to fully launch any one project. For example, my biggest idea is to build then launch an online publishing tool to solve a number of problems faced by my web production clients. From what I can tell, then and now, my publishing software is revolutionary for combining what most publishing software still treat as separate tasks, for example, managing passwords used to publish websites and contact management.
So I have a great idea, good technology, and paying subscribers for my online publishing software business. But there’s a piece of my software code that terrifies me. The code publishes files to my subscribers remote web servers. For one, Microsoft periodically changes how you access their server software. So I’d have to become a Windows guru. And I don’t get the arcane way files are transferred between servers, at least in PHP. I’ve recoded everything in my application, having hired a professional coder to write the initial software, but this one bit feels rickety. Full scale advertising, I’m sure, will crash my server and leave me with angry customers.
Two years later, I realize my professional life is stalled. I still work as a writing and technology consultant. I still have 2-3 start ups going with nothing launched and growing. I realize the problem: I need one line of business for consulting and 1 start up. Nothing more.
So I let all my web production clients go. I focus on technical and business writing for consulting gigs (writing pays more without the 24/7 availability stress). Since I still can’t figure out the scary part of my online publishing software code, I give that up. And I stop the other start up projects.
Instead, and yes I grew up in California, I go on a little personal journey. We took the kids that August for a few days and nights at Great Wolf Lodge in Pennsylvania. While sitting around one of their pools on a Saturday afternoon, I spent a few hours madly typing on Phoebe, my iPhone, writing in Evernote my ideas about how to come up with another great business idea and make it happen.
Here’s what I came up with, my secret formula:
- Create a list of start up projects and, for each, write up what I like/hate, problems, opportunities, competition, and exit plan.
- Choose then pursue one start up idea at a time.
- Write up minimal documentation of my idea, a 10 page business plan (no financials), a marketing plan, a simple project plan. Enough to know what to do plus fix problems on paper, if possible, before I find them in real life.
- Every three months spend a week writing down my thoughts about the prior three months, the next three months, and other projects I could do instead. Then decide to continue or switch to a new project. Don’t waste time on dead ends. Think about the larger issues.
- Be ruthless with decisions about whether or not to continue with a project. If I’m not happy, change. If something stinks, fix it or move around it.
Amazingly, this formula worked. I had a lot more time for my family, myself, and my start up project. Funny how that happens. After nine months working on my first project, and three week long review cycles, I decided to switch projects. I would have needed a technology co-founder and that was a level of complexity I didn’t want, a dead end. My goal is not to become a Fortune 500 CEO. Or an Internet IPO bazillionaire. My goal is to find a business I love that helps people while using my skills and interests.
So I switched to my next great idea, “Popular Science but about WordPress,” the wonderful open source publishing software with a great community around the technology. Lots of very interesting people use WordPress. That was October 1, 2012.
In late March 2013, while taking a week to evaluate progress with my WordPress magazine (I had 3-4 issues written, ready to publish and launch), I realized another idea of mine, helping to teach coding and computer science to K-5 kids, would work better as a magazine than a magazine about WordPress. It would combine two of my start up project ideas. “Popular Science about coding and computer science” also has a bigger market. And it resolved a trademark issue with use of WordPress in my magazine title (you have to be a non-profit and get permission). My computer science idea had been to create teaching materials parents could use to parent teach their K-5 kids in the classroom the way I had parent taught art and science to my kids in those grades. The art curriculum came in three binders and sold for a couple hundred bucks each, paid by parent teacher associations.
My WordPress magazine launch date was May 1, 2013. The day before launch, I made a difficult ruthless decision to switch topics. I picked a new launch date of August 1, 2013 for Help Kids Code, this magazine. Then spent three months cannibalizing what content and publishing software I could from my WordPress magazine idea. I researched and wrote three new issues. At the end of June, during the week I spent writing up my project, deciding whether to continue or not, I also wrote up a basic business plan, marketing plan, and other materials to help me focus my idea.
The last hard decision came right before publication of my second issue of Help Kids Code. I had launched with a page design that didn’t feel right to me. One of my brothers in law, for example, had asked me, “When people show up at your magazine, shouldn’t they be able to do stuff?” My design inspirations had been Sunset magazine, a surfing magazine, and a couple technology trade magazines. Print magazines all. But my design had gone too far. And half the initial visitors to my magazine used phones and tablets: my hand coded page design didn’t work well in those formats. So I spent the three weeks in August evaluating two dozen WordPress themes, narrowing the list to 16 then 10 then 4 then 1. I spent a frantic last week of August tweaking the new WordPress theme and adding photos for the August issue and September issue.
Some Final Thoughts
In my professional life, when a project is completed, we all sit around and talk up what worked and did not work, to see what we can learn as well as re-tell fun stories and joke around. Here is some of what I have learned with Help Kids Code, so far.
With projects, it can help to suck it up, acknowledge better ways to do things, fix the problem, and move on. I find this true with Help Kids Code as well as client projects. I could have been insulted when my brother in law asked me about my page design. Instead, I followed the data — many of my initial visitors used phones and tablets to read my magazine — and found another way to achieve my page design goals. I hate most online magazine designs with the endless vertical scrolling, photo galleries, overbearing ads, and every image a thumbnail. Knowing what you want plus listening plus persistence pays off.
It’s also true life is a journey, projects included. It’s less what you accomplish that matters and more who you meet along the way, how you decide to get things done, what resources you have available, and how you proceed to the end. One of my favorite parts of this magazine, so far, has been talking to people as I research articles and as people contact me. While I’m an intensely shy person, it’s amazing to hear all the neat projects people do, their reasons and their experiences.
And, yes, I name my computer equipment. You probably should, too, because it makes life more fun. As a family of four, for example, I once named our wireless network Bedrock and our computers Fred, Wilma, Pebbles, and Bam Bam. But I really got started one day when my wife and kids taunted me because my expensive first generation iPhone gave us bad directions somewhere in Providence, Rhode Island. They called the phone my phone wife because I spent more time looking at it than my real wife. Indignant, sort of, I told them, no, it’s Phoebe my phone wife. So they started to taunt Phoebe, for years. Her replacement is Sophie, an iPhone 4S. Your mileage will vary, of course, with naming computers.
Also In The November 2013 Issue
Open source hardware geared towards artists, hobbyists, designers, and students, is a viable and far less expensive alternative to build your own computers.
With a wave of kids with special needs graduating high school, how can technology help them with resumes, college, jobs, and careers?
A clever technique to speed up database searches also is an interesting concept.
Here are some videos, and links to even more videos, to learn how to use your Raspberry Pi and have all kinds of fun with Pi projects.
Interesting stories about computer science, software programming, and technology for the month of October 2013. More stories can be found at the Software Programming and Computer Science News Wire link at the top of every page of this site.
With a bubble sort, numbers sort themselves as they bubble to the left of a group of numbers. Here's a fun catchy video to explain.
This month's math puzzle dates back to 1735 when it was first solved by Leonhard Euler, a Swiss mathematician and physicist.
From the start of computing history, people have tried to optimize the software programming process. This includes having two coders work together to code software.
Links from the bottom of all the November 2013 articles, collected in one place for you to print, share, or bookmark.
A balance of flexible and inflexible qualities make Haskell a fascinating programming language to learn and use.
The release this fall of Apple's iOS7 operating system is a great opportunity to explore the history of computer interface design.
Managing inputs and outputs is a key problem programming languages face. Here's how a few languages use functions to manage and transform data.