Spork, Sympathy, Lumia, Moto, Manifest, Vultures.

Through the interaction of a complicated array of sensors and indicators, a piece of hardware communicated an error condition that allowed me to quickly diagnose and solve a problem that would, if left unchecked, have eventually led to the failure of said hardware.

In plain English: “When the garbage disposal immediately made an unholy racket, I knew that a piece of silverware must have dropped down there.”

No harm done, in the end. In fact, the accident improved the utensil in a way that brought this geek some immediate joy:

Spork

It’s a Spock Fork. I herewith declare that the word “Spork” now applies to a conventional fork with this arrangement of tines and not any other thing. Live long and prosper, by eating lots of salads.

* * *

Shipped a review of Parallels Access yesterday. I had it ahead of the release day but couldn’t publish until Thursday. I was experiencing so many problems with it, and the price of this iOS app is so utterly insane ($80 per year!) that I knew that my review would be…dark. When one sets down the pot of honey and picks up the cruet of vinegar, he or she should be absolutely certain that they’re making the right choice.

I came home from dinner last night, still wondering if maybe I should have gone easy on this app.

Then I saw that the app had done this to my MacBook Pro while I was away:

20130830_085948

And I felt a lot better.

* * *

I’m still working hard at getting my Lumia 1020 review out the door, as well as my Moto X writeup. The hitch with the Lumia piece is that I’ve been spending too much time writing it. I now need to convert the 4500 words that I assembled over three or four weeks into the 2000 words I would have written if, when I started the piece, I had three weeks’ worth of experience with the phone.

I kind of needed to hang on to the Moto X review until I got a chance to see Motorola’s Droid Ultra, which was released about a week ago. The Moto X was designed from start to finish after Motorola was bought by Google and the company received its new sense of purpose. The Droid Ultra is a legacy phone that merely benefits from many of the great ideas that became Moto X signatures (like the Active Display). By holding off for a week or two, I can now put those features in context.

And! I can show off the Moto Maker custom color phone that Motorola finally sent me. They had to kibosh the first one because they didn’t like how the engraving was coming out on the samples and decided to not offer that specific feature to customers until they’ve got it right. Fair enough.

They’re solid reviews and I’ll be keen to see how they play in front of an audience. I’ll be sooooo relieved when these finally ship! My brain tends to get locked into major projects and once they’re out the door, I can free up bandwidth for other things.

I did resist the impulse to drive to the Back Bay after dinner last night and take some nighttime tripod shots with the 1020. That’s a welcome sign that I’m not gripped in an infinite loop on this project.

(Or is it a sad sign that I had the power to end this madness whenever I wanted? That’s the kind of question that has a tendency to lay there and fester.)

* * *

Meanwhile, I sent a note of praise to Jim Barraud, the designer of the Manifest WordPress theme that I’m using here. He responded with an offer to let me beta test the new edition. Manifest is one of those “labor of love” projects and those kinds of things often wind up in a holding pattern until a Twitter DM from a slightly doofy tech writer makes you remember that you’ve created something that is both lovable and loved.

I’m very much looking forward to playing with his update. I’d been diving into the theme files looking for a way to add a custom header but now that’s not necessary; the new edition will likely support WordPress’ new built-in “any dumbass can add a header without editing the theme files” resource.

That’ll be welcome! Because a neat new header has been on my hard drive for about ten months, waiting for me to make time to redesign the site. “Labors of Love” and all that. Until then, I’ve just been tweaking the layout a bit and replacing fonts. I like the new headline font and am on the fence on whether or not I should find a spiffy new body font.

* * *

Last thought of this post: if I ever meet an alien who needs to quickly understand the nature of Human society in total, I know exactly what do to. I’ll tell him/her/it the story of how I arrived at one of my favorite independent stores the other day and, within the space of about three minutes, my thoughts went from “Oh, they’re closing their doors for good on Saturday! That’s terrible! I love this place and I’m going to miss it! I sure hope the owners are going to be okay!” to “I wonder if they’re taking offers on that utility table they’ve got behind the register…”

I can’t predict what an alien would do with this information but at least it’s honest and complete.

Tonight’s theme: “Frustration”

I’ve been spending some time digging into ThemeForest’s “Literary” WordPress theme and swapping emails with its (very helpful!) creator. I decided to award the sash and tiara of Andy Ihnatko’s New WordPress Theme to this one and set aside Monday night for buying it and getting it set up.

The other good reason for pulling the trigger Monday instead of Some Other Day: I don’t think I have time to try each of the 18,217 other WordPress themes out there. Not with an Apple press event coming up in a few weeks. I’ve made attempts to revamp the site with a new theme before and the biggest drag on the progress bar has been my determination to sample at least 51% of the alternatives before committing. I concede that I’m hardly being scientific with this choice. I surely will have much explaining to do when the ballgame’s over and I’m being judged by my creator. “You’re on the bubble here, son,” my neckbearded holy examiner sighs. “And there are those of us up here who don’t know what kind of man picks a new WordPress theme after looking at fewer than a hundred candidates.”

Alas, I’ve been foiled in my attempt to exchange money for goods. I’m now on Day Two of this “Buy ‘Literary'” project. I expect that soon, “progress” will come in the form of my attorneys and the online store’s attorneys having a productive markup session on the contract. And then, we can begin the escrow phase of my purchase of this $40 WordPress theme.

Crimeny. Surely on this side of Jerusalem none have suffered as I have been made to suffer:

  1. Site won’t let me make a purchase until I sign up for an account. So I sign up for an account.
  2. Site adds a $2 surcharge on the purchase unless I pre-purchase “store credits” for future transactions.
  3. Ecommerce transactor is PayPal. I canceled my PayPal account a few years ago, but the store allows direct purchases. But apparently, the fact that the card I want to use used to be attached to a canceled account, PayPal refuses to use it.
  4. Alternative payment service is one I’ve never heard of, have never used before, and which doesn’t obviously appear to operate in a secure fashion.

And there the matter rests. I’ve contacted the theme maker about the issue and they’ve been grand, but their contract with the store forbids them from selling the theme to me directly or giving it to me for free.

I’ve filed a support ticket with the store, outlining the basic problem (“I want to give you money and your store seems not to want me to do that, which I instinctively feels is a flaw in your business plan”). The shining optimistic side of my soul says “I bet I can just send them a bank check or postal order and they can put the credits in my account.” The part of my soul that’s interacted with commercial entities before is expecting a one-line response that passes the buck to PayPal.

Oh, well. Let’s see how this plays out. “Literary” is a handsome theme. It looks like it’s very easy to customize, and it’s wired up for any future plans I might be nesting.

In the meantime, I shall remind myself that my Celestial Waste Of Bandwidth is a small revenue-generator but it mostly serves merely as a creative outlet. This problem won’t result in my needing to buy off-brand colas for the rest of the month or anything drastic like that.

But wow. I wish for the makers of “Literary” take the two twenty-dollar bills from my left hand and place a big wad of electrons in my right hand. We’re back at the same problem I bemoaned the other day: oy, why am I troubleshooting a problem right now instead of playing with my new blog theme?

I griped about the experience on Twitter and @JeremyKing gave me the link to a post that lays out the impact of this sort of problem perfectly. Here’s how a user design consultant changed one button on a checkout page and increased store revenue by $300,000,000 a year.

(Or so that consultant says. But either way, it’s still a valuable tale.)

In the meantime, there are plenty of cool toys on my desk and lots of neat things to write. Enjoy “Manifest,” a theme I’ve switched to merely because my goal last night was to put in a new theme and this way I can dismiss that item in my To-Do manager.

More later!

Comments On Comments

Comments are turned off on new posts.

For now.

“Why?” you might ask. You scan the rest of the virtual room, giving everybody else the stink eye. Which one of you posted that comment that made Andy want to turn comments off? Was it you? I know it was you. Oh, I had you pegged from the moment you walked in…

No, it’s nothing like that. This is an experiment.

As a creator, you have goals for a project. Perhaps “goals” is the wrong word. You have an idea in your head about how you’d like to see something go, and as you build and maintain it, you always keep comparing it to that original conceptual sketch.

I do like active discussion. And yet I don’t read it or engage in it on the pieces I write for commercial sites.

When I write reviews or commentary, I keep this thought in mind: “I have one shot at expressing my point of view. This is my sole opportunity to tell this story.” It’s a good motivator. It makes me ask myself all of the questions that I believe a reader will be asking as they read my piece, and spurs me to consider all of the arguments that he or she will make. It makes me continue to look at the subject from multiple angles, in case there’s a perspective I hadn’t considered. Do I really believe that this new phone is the very best in its broad class of devices? Yes? Whoosh. All right, well, just make sure you’ve made that case completely and convincingly.

Which isn’t to say that everything I publish is a Gem of pure Truth, Beauty and Wisdom. But that’s the goal and if I were to let myself think “I missed anything or included any half-formed thoughts, no problem: someone will bring it up in comments, and I can fix it there” it’d bruise my process.

And it isn’t to say that it’s even possible for me to consider every angle on even the simplest idea. More brains almost always equal more thought, and any topic can stand having a few more brains thrown at it.

Comments are valuable. I still don’t like to participate in those threads, though.

First, because I feel as though I’ll negatively influence the discussion. The beauty of a good comment thread is that it’s all about a flow of ideas (before Godwin’s Law is invoked). I sure don’t want it to become a flat, desaturated landscape of “the author of the piece responds to your comments.”

Secondly, I ought to be moving on to the next thing I need to write instead of hovering over the thing I published three or four days ago.

(Thirdly, I have at times cough Android Switch series cough been told by editors that, um, I really shouldn’t read the comments.)

Other authors have different attitudes. I respect that. This is just what works for me. My feeling is that if someone wants to engage me directly, I’m easy to find on Twitter and at least when people try to say mean things they need to engage the part of their brains that can count to 140.

The Concept Sketch for CWoB’s reader comments was something like Roger Ebert’s blog, with a highly-active commentary thread on every post. That never really coalesced. Hey, no regrets! But as I look again at CWoB and the comment traffic, it prompts me to respond in one of two different ways:

  1. Figure out why the Concept didn’t become reality, and develop and then execute a plan to correct the situation, or
  2. Take a step back and ask what the original goal of that Concept was. Determine whether or not this original definition is the only way to reach that goal or if instead it’s just a single possible articulation that’s not worth obsessing over.

This is a good template for life. You dream of becoming a working actor. You’re 30 and it hasn’t happened. It’s time to either redouble your effort or think about what it was about that work that drew you to it. If you want milk and there are no cows around, move on and start looking for goats. Unless your goal really is to milk a cow.

It turns out I just want the milk, so I’m going for Option Two. Though it’s quite ego-fortifying to have tangible evidence that the tens of thousands of people who read a piece are backed up by hundreds of people who are eager to discuss it, what I truly enjoy about the overall idea of reader comments is that it presents me with an opportunity to learn. Other folks might express some interesting thoughts, reactions, corrections, or solutions that I wouldn’t have been exposed to if I hadn’t put my own thoughts out there on the blog.

I’m not sure that I want to go the route of other blogs, and eliminate visible feedback entirely. That’s not the right answer for me.

Styling the Comments bit of the current blog was a major pain, as is authentication and spam filtering. That’s out.

There’s Disqus, but I sometimes find it to be a pain in the butt as a user of others’ sites and the idea of forcing my users to interact with yet another “it’s free and please don’t think about how they’re generating revenue from this activity” service moves the needle on my skeeve-meter a little bit. Out.

I’m not sure what the perfect answer is. I’m going to start by stealing an idea from my friend Mark Evanier, one of TIME Magazine’s 25 Best Bloggers of 2013.

News From ME has no comment system. But a “Contact ME” link is right there in the sidebar and Mark has set up a mail address for people who have a reaction to one of his posts and who don’t mind if he shares that reaction with the rest of the blog’s readers.

So that’s what I’m going to try. I’ve set up a new Gmail account specifically for feedback. At minimum, I’ll do what Mark does and share selected emails with the rest of the class. The new Concept Sketch regarding comments involves my having a regular Ombud feature in which I post regular batches of feedback with my own comments.

I’m not sure that I’m ready to take the wraps off of that new address just yet. I’m thinking the mechanism will be: there’ll be a link/button at the bottom of every post that takes the reader to a feedback page that explains the concept and which keeps the actual address secret (so: no spam, and no chance that people will start using that address for business or personal-related messages).

But let’s make this fun. The first reader to guess it correctly (by sending me an email there) gets a vintage tech-related tee shirt of my choice (laundered) from my staggeringly large collection of same. The lone hint: it’s @gmail.com.

Oh, and: sending me mail there implies that I have permission to use your name and the email. And don’t put anything in that email that you wouldn’t like a stranger to read. Remember, you’re only taking a guess that it’s the right email address.

Update: We have a winner! Jay H. correctly guessed the Secret Commenting Email Address. Congrats! I will select and launder a shirt from the Classic Tee Shirt Archives and send it out shortly.

A New Theme

It’s time for me to turn my attention back to the Celestial Waste Of Bandwidth. This is my first update of the entire summer, and there’s sort of a reason why…but that’s for another blog post on another day.

First things first: the design.

In principle, the content is all that really matters and the design should be a distant second in the author’s mind. Charles Dickens’ “A Tale Of Two Cities” set in Comic Sans with janky margins is still a better novel than “Fifty Shades Of Gray” in letterpress. So why don’t I just forge ahead, not think about the shortcomings in my blog design, and keep right on posting?

Because I don’t love the design, and it bums me out that I feel a little bit constrained by limitations in the theme, and I still haven’t figured out why the popup menu for “Categories” spans outside its container…

It’s an old story. Web design is my nemesis. I’m handy with a code editor, I promise you. Remember, the predecessor of this site was managed by a content management system that I started coding before any formal CMSs existed. By the time I moved on to WordPress, it was a full XCode project with windows and popups and buttons and many many nice features that made things happen automagically and integrated with my web browsers.

My ego made me think that customizing and managing a WordPress theme would just be another iteration of that kind of work. I’d overlooked a simple fact: coding up CWoBber was a piece of cake because I’d written every line of code. I knew how every part of it interacted with every other part because I’d designed it from top to bottom.

In WordPress, my code has to interact with thousands of other lines of code. My intentions have to compete with hundreds of other intentions that are baked into the system. Though I made plenty of progress customizing the most excellent Carrington Text framework, mastering that complex relationship between PHP and CSS and plugins is beyond me.

Or at least it’s beyond the level of enthusiasm I seem to be willing to bring to the project. Inevitably, I finish writing a post, and I preview it, and something that ought to be centered is so totally not.. By the time I get to the root of the problem, I’ve totally disconnected myself mentally from the writing part of the exercise.

(Oh, and: it turns out that I hadn’t gotten to the root of the problem at all. I just wasted so much time trying and failing to figure out what was overruling my stylesheet that I gave up.)

Metaphorically, managing a WordPress theme as a mere Interested Amateur is like trying to develop a brilliant new product at a company when your box on the org chart has lines connecting upward to eleven vice presidents in three different divisions. No matter how carefully you’ve done your work, there’s always some authority that can and will put a stop to everything without discussing it with anybody else. And you’ll never get a straight answer why.

(For the love of God. There is a CSS whatsit that signifies “You are to ignore ALL OTHER stylesheet definitions and heed THIS AND ONLY THIS MARKUP between THESE AND ONLY THESE brackets”…and it doesn’t work. Deep within the bureaucracy of CSS is the basic understanding that the one way to prove your authority and thus maintain the facade that you are An Important Person is to prevent things from happening.)

I’m supposed to click “Publish” and be pleased that I’ve created and published something. Instead, invariably, I’m cheesed that something isn’t working right and I don’t have time to fix it.

All of this is connected to another frustration I’ve become increasingly aware of: I want to spend more of my time making things and less time fixing things.

A vividly-recalled day last month is a case in point. It was a hellaciously busy day and I had exactly 30 minutes of relaxation time between early morning and late evening. Truth. “Relaxation time” was lunch, but after a busy busy busy morning I was totally looking forward to watching a show on Netflix. It almost didn’t matter what.

Annnnnnd then I had to spend ten of those precious thirty minutes figuring out why the streaming wasn’t working properly. It was hanging and stuttering.

Relaxus interruptus!

As I restarted routers and went up and downstairs checking for naughty network devices and felt my stress levels increasing I reflected upon the good old days. You know, the days when the teevee was something you turned on and which almost always worked. I concluded that the arrow of progress does not unerringly fly forward.

This was meant to be thirty minutes of passive calm in my day. Instead, a formerly functioning system thrust a snarling, hissing puzzle at me and demanded that I cuddle it.

This blog should be a place where I can just open WordPress, do some type-type-type, click “Publish,” and bask in the knowledge that although the words themselves might have both the same linear structure and appealing interaction as barbed wire, at least the pictures attached to them obey the margins of their container and there’s the desired amount of white space between postings.

Clearly, this blog won’t be that thing with me as its principal architect. So tonight, I put the call out on Twitter for suggestions of “Minimalist-leaning, responsive, and hopefully accessible” WordPress themes. I’m hoping to find a theme that’s at least 90% of what I want CWoB to be and easy enough to customize that I can get it to the 98% mark on my own.

Here’s what my Twitter followers came up with:

There were also recommendations for WordPress’ latest standard theme, “twentythirteen” and Squarespace.

I’m not going with twentythirteen. It looks aces, but I’d have to make lots and lots of modifications before CWoB would look the way I’d like it to. The first time I politely said “CSS, I think it would be nifty if this header were a different color” and CSS replied “Andy, I invite you to go suck an egg” I would regret having made that choice.

Why not Squarespace?

No particular reason. I might wind up there eventually. For now, I’m happy with WordPress as a publishing mechanism and I’m not ready to abandon it just yet. It’s one hell of a great machine for turning synaptic misfirings into published text and every iteration of the webapp for crafting and managing content gets more impressive. I want to be along for the rest of the ride so I can see what comes next.

I must say that I like the cut of Literary‘s jib. I have made an enquiry to its creators to see if it’s suitable for my needs and I avidly look forward to that conversation.

I tried Literary after installing Manifest and taking it for a spin. I opened the “header.php” file. Aha, thought I. If I want this theme to use a header graphic, that’s where I should put some static HTML. But despite the fact that this seemed to be (to my admittedly unsophisticated eyes) the only place where that line of code should go…nuh-uh. Same old problem: something else in the CSS or Lord-knows-where was superseding my edits.

But Literary looks to be the business. I hope this is the start of a very short journey that results in a lovely, fluent blog design that incorporates the new header graphic that I finished in November but haven’t been able to correctly integrate since.

More later.

From One Bush Administration to The Other

I was up all night but wow, the results sure were worth it! You must certainly be immensely impressed by the blog’s new look, eh?

No. No, you mustn’t. I started with a page layout that would have been considered cutting-edge during George Bush’s presidency. I’ve updated it to something that would have been marked me as a sophisticated professional web designer during Dubbya’s.

(Maybe even his first term.)

Yeah, I know. The new design really ain’t much. There’s nothing advanced in the backend — it’s still just CSS — but beyond that, it simply looks old-fashioned: Masthead, navigation bar, content column, sidebar column. It’s not even built on a grid system or anything. But! It’s a next step. And the next step after any next step is the next step after that.

It’s been a longish night so I’ll fix the typography later (sure, it’s time to wire things up to take advantage of webfonts). Also, the more time I spent getting the sidebar to work the way I wanted it to, the more it occurred to me that yeah, maybe I can get rid of it entirely. It’s still filled with the stuff I put in three years ago when I moved to WordPress. I might change the content to give the sidebar a more emphatic function, but I might just as easily decide to move to a one-column layout. Perhaps with a static bar at the top and bottom that highlights things I think are worth highlighting.

(I mean, look at BoingBoing.net. It’s a huge site, and yet it could hardly be simpler in terms of layout, right?)

But at least I finally scratched some long-overdue items off the To-Do list. Most of my blog’s readers access it via the RSS feed. When I first added that feature to my blog, it was being run via my own hand-coded CMS system. It wasn’t a checkbox to click; it was a whole section of script that I had to write. Then as now, my goal is to make it easy as possible to read this stuff, and that clearly means “full posts in the RSS feeds.”

Ah, but what about the first time someone visits the site? They need to be welcomed. Concierged. A hot towel should be offered. Perhaps also a drink coupon of some sort. Ihnatko.com really didn’t fulfill that role well at all. I kept meaning to add pages about my speaking and links to my writing, my podcasts, and other tendrils of the Ihnatkoverse but just never got around to it. Also, the site design didn’t naturally gravitate towards that kind of navigation.

As always, though, a big hidden purpose of this site is to serve as a test bed for web technologies. From time to time, I hear about a new framework or a new whatsit that web designers are using, and I like to play with it a little. Recently, for instance, I learned that Twitter has released the toolkit that they use (up to a point) for their own webapps. It looks pretty neat. I’m still using Carrington as my basic blog template. That’s the guts of making this blog work on WordPress. Bootstrap looks like a nice starting point for the CSS, with some nice scripting libraries added in.

That’s to say nothing about different scripting languages, different production workflows, different coding environment, different concepts and theories about backend design…I’ve been learning plenty. Most of it never left my hard drive, of course. I’m all for eating my own dogfood but then there’s the sort of dogfood that you shouldn’t — legally — be allowed to serve even to a dog.

I’ve also been looking at Tumblr and other blogging platforms. Cool stuff, but I keep circling back to an ages-old frustration of mine: I can easily spend as much time searching for a canned theme that I like as I would have just learning what I need to learn to build the site I want from scratch.

But for all of this bluster about my learning new tools…what arms did I take up tonight, in my fight to make my site look Slightly Better Than Awful? The exact same ones I used in 1995, when I built my first site: BBEdit and an FTP client.

The Ambitious Dilettante’s Guide To WordPress Site Design

Let’s return to a topic I dropped a couple of years ago: transitioning to WordPress after more than a decade of blogging from my own homemade content management system.

(Warning: even as I begin writing this post, I’m reading ahead and I can see the potential for a sermonette-style transition to a Life Lesson via the phrase “…and you know, it occurs to me that life is like that, sometimes…”)

I’ve learned a lot about how a dilettante like myself builds a modern WordPress site. We’re a special breed, the dilettantes. We have too much ambition to just sign up for a WordPress.com blog or use an off-the-rack blog theme. We don’t have enough ambition (or not enough money) to hire someone to custom-design something to our specs.

We live somewhere in between. We must learn, explore, make lots of mistakes, and ultimately reach an articulation of the declaration “I give up!”

It’s a productive version, though. It means “I have reached my saturation point of Exploring and Learning and Growing. My knowledge and my skills have expanded to completely fill the container of time and energy I can give it. Now, it’s time for me to just build the thing and move on.”

So to aid my fellow Dilettantes, here are the various steps I went through on my way towards that magical destination of Giving Up.

1) Take something off the rack.

Just sign up for an account on some blogging service, click on one of the six available themes, and go. It’s simple and quick, and you’re off and blogging right away. Which was no good for me because I couldn’t find a simple theme that would suit my needs.

Plus, I like the fact that I spend $20 a month for shared hosting on Media Temple. If I want to add a second blog, or a third, I don’t need to pay another $20 a month. At most, I just need to think about upgrading my service at some point.

So I moved on to

2) Browse among the hundreds and hundreds (and I’m certain that I’m lowballing it) of free and cheap-as-free themes that very smart and skilled designers have released.

It’s close to the lack of effort of Level One: it seems as though you can just keep browsing through galleries and eventually you’ll find a design that’s precisely the one you would have built yourself, or commissioned.

No good for me. I tried, but there are just wayyyyyy too many choices out there. I think I “chose” six different themes over the past two years. I even paid for a couple of them. But eventually, I waffled, reconsidered, and kept looking at more themes.

So I moved on to

3) Try to write my own theme.

I should mention that I already know a lot of CSS, and enough PHP to confidently hail taxis and order in restaurants when visiting PHPistan. Plus, I liked the puzzle of learning something new.

Tutorials like this one and this one really inspired me. WordPress maintains a database of your blog’s data and the theme is a series of templates and scripts that manipulate that database. The tutorials urge you not to be a hero. They wave you away from the idea of filling an empty BBEdit window with PHP and HTML and show you how to just steal the functional nuggets of code from existing themes in WordPress’ built-in library.

That’s right up my alley. It’s the cultural legacy of coding. When you’re building software, your most valuable resource isn’t the reference manuals and API guides: it’s other programmers’ working, tested code. Cut and paste the function you need, examine how it works, and ultimately you can figure out where you can safely tweak and prod it.

Furthermore, building a new theme from existing code elements is particularly attractive to someone with my rudimentary PHP skills. Writing scripts from scratch is still a slow process for me, but I know enough PHP to build something from existing elements and modify what’s already been built.

I eventually abandoned this approach. Building your own theme is very doable and I learned many things about WordPress that would serve me well later on. The more I dug into the nuts and bolts of the process, though, the more I began to appreciate that a WordPress theme is a living, breathing piece of software instead of as a set of HTML files in which little snippets of script act as content placeholders. I was certain that I’d wind up with something functional. I wasn’t so sure that I’d wind up with something that would live and breathe and grow, and could take advantage of future plugins and WordPress features.

Remember, the whole reason why I abandoned my homemade CMS was because I’d been on the upgrade-it-yourself treadmill for almost 14 years. I’m not eager to return to that world.

So I moved on to

4) Find an existing, muscular theme that’s close to what you want, and then modify the holy hell out of it.

This is going to be the sweet spot for most bloggers. Choose a theme, any theme. Then just learn a little CSS (or pick up a spiffy utility like CSSEdit, or StyleMaster for Windows), create a child theme, and then go to town.

Child themes is brilliant, I tells ya. If a WordPress theme is worth using, it’s awfully complicated piece of software. Even if all you really want to do is make the titles of your posts a little bigger, there’s a lot of slogging to do before you find the thing that you need to change. And then a year later, when the theme’s developer comes up with an updated version that adds loads of fab new features, you’ll click the button to upgrade and poof! All of your custom changes go away.

A child theme is a brand-new theme of your creation. Three lines of cut-and-paste markup code tell WordPress “Start off with all of the scripts and styles you’ll find described by this theme here” and the rest of it describes your overrides. “Don’t style a post title like that. Style it like this.

This tutorial got me off on the right foot. It explains everything. Even better, it gets you excited about what you can accomplish and makes you feel stupid (in a good way) for not finding out about child themes sooner.

…And then you install the Firebug plugin for Firefox, and you wonder why you made such a big fuss about customizing a theme in the first place.

You know that you want to change the font of your post titles. You know that it’s a simple case of modifying or overriding the theme’s CSS definition of that element.

Easy. Er, but first you need to find that definition.

Firebug will give you a simple dashboard to the CSS structure of any page in the browser. Roll your mouse over any CSS declaration, and the associated element will highlight on the webpage.

Snooping for CSS tags with the Firefox and the Firebug plugin. In this theme, 'entry-content' is the style for post titles, apparently.

(It’s supposed to be just as easy to do this in CSSEdit. But I find it’s easier to do it in Firefox.)

Then you just slap in an overriding CSS definition in your child theme. CSSEdit is swell for this sort of thing because it’s interactive. You plug in a change via a (somewhat) word processor-style tool palette and immediately see it reflected on your site.

#alttext#

I treaded water here in Option 4 before I lost interest. It seemed as though the DNA of the original design was always obvious, which sort of put me back where I was when I was examining dozens and dozens of prefab WordPress themes and not finding any to my liking.

But then I learned a little more about the theme community. And I moved on to

5) Base your blog on a “framework” theme.

Brilliant!

The themes you get in Options 1 and 2 are like a hotel room or a model home. The furniture and drapes might not be to your taste, but you can move in right away. Option 3 is like starting off with a wooded lot. Option 4 is like buying an empty, existing house and then decorating it to your liking.

A “framework” theme offers some of the best features of all of these approaches. It’s as though the builder pours the foundations, frames in the whole house, gets all of the plumbing, heating, and electrical services going, plasters all of the walls, installs the roof, nails up the exterior siding, applies two coats of primer…and then hands you the blueprints.

All of the tricky technical bits that make a WordPress theme work have already been taken care of. You could move right in and live a rather stark existence among those bare walls and uncovered floors. But the understanding is that you’ll be finishing it up on your own.

And remember, you have an exceptionally well-documented design. I’ve settled on Thematic, because it’s so well supported. It’s not the only well-documented framework out there, of course. This is one of the big deals of a framework. You solve the problem “How the hell to I put a banner image in the header?” after a quick search of the support forums, not after an hour of poking and prodding and testing and failing.

There are bunches of popular frameworks. As I browsed through a dozen or so, I quickly came to see these frameworks as…well, rapid-development application frameworks. Which is precisely what they are. You’re building a new piece of software, without going to the trouble of re-inventing code that’s virtually identical among 90% of all WordPress blogs.

So that’s it, right? I’m at the end of my journey? The right answer is “Install a framework, and then build it up as needed”?

Close. I believe I’ve now hit upon a method that I’m referring to as “Really Quite Totally Finally The Right Way, Honestly, And I Mean It This Time”:

6) Create a child theme of a framework that doesn’t inherit any of the framework’s existing styles.

It’s a small tweak to Method 5. It seems to have given me everything I want, and removed every obstacle I’ve encountered.

I mentioned how easy it was to create a child theme: just paste in three lines of canned code at the top of a text file and presto, it’s a child theme. One of the lines tells WordPress “This child theme’s CSS styles will include all of the CSS styles of the parent theme, with the following overrides:”

Well: if you omit that line, then you get all of the machinery of the parent theme (the plumbing, the electricity, the foundation) without any of its CSS styles. Every element in the page layout is tagged with CSS selectors, but none of those tags have been styled yet.

Brilliant! Only even more so than the previous time I said that!

No, really. I was banging my head against the wall today because I’m really feeling the (self-imposed) pressure to finish up a new blog I’ve been wanting to launch since the middle of last year. Over the past few months of development, I’ve learned that modifying an existing, complicated theme via CSS is the fastest way possible to measure the exact distance between how you think CSS works, and how it actually works.

CSS is really quite simple. Anybody can understand it. You only run into trouble when you can only see (or you only understand) one small part of the elephant representing the CSS styles for this theme.

Yes, I’m a clever boy: by adjusting the offset of a graphic, I can get it to overhang past the left margin of the blog post that contains it and overlap onto the background slightly. My CSS stands proud and strong. But it didn’t work. I was unaware that the CSS element that contains the image has been told to clip anything that extends beyond its border.

I sighed. I edited the CSS for the containing element and told it “Please don’t do that.” I applied the changes, refreshed the page…and suddenly the whole page was a total, ragged mess. Because another style was counting on that clipping effect to pretty things up.

I don’t blame CSS. I don’t blame the designer. I don’t even particularly blame yourself. If I had understood the whole scheme, I’d have known exactly how to accomplish what I wanted to do. But I didn’t. And on some level, that’s kind of impossible.

Theme frameworks are wonderful and modifying them can be a streamlined process. But you’ll run into trouble if you’re trying to make the framework do things that its designer didn’t anticipate…or if they assumed that the framework’s users would be experienced consultants, instead of first-time dilettantes.

The solution was to remove that one little line from my child theme’s style definition. The Thematic framework will still act as the glue between my site design and the WordPress system. Now it’s up to me to actually create that site design, from the ground up.

It seems like the right call. Building every CSS style myself will take a lot of time, but autopsying Thematic’s CSS scheme would have taken just as much time and would have been far messier, I think. The Win is that I won’t have to give up on a good idea just because I can’t figure out how to make it live harmoniously among all of Thematic’s existing definitions. Bonus: I bet I’ll be less dumb about CSS by the time I’m finished.

And the work’s been much more fun. The process is tactile, not abstract. As soon as I restarted the project with an empty style sheet, I saw a version of my new site and its sample content that looked like a sloppy dropcloth of content. I got cracking.

I had never liked the broad width of Thematic’s content area. I opened the page in Firebug to refresh my memory on how Thematic’s different content areas are tagged. Then I created a style for “#wrapper” and set its width to 800 pixels.

Save, upload, refresh. The layout is 800 pixels wide. I want it centered in the window. Edit, save, upload, refresh: it’s centered. I want the background and the content areas to be contrasting colors. 1-2-3 and it’s done.

Best of all, it’s a linear process. I’ll never have to spend an hour “unwinding” the CSS to sleuth out why a piece of text refuses to be bold. The most frustrating tasks are the ones where you feel like you’re walking through a series of blackened hallways and you don’t know what you’re going to confront until you flip the next light switch. You thought you were going to have to just empty a wastepaper basket next to the sink. And then you got the bathroom door open and discovered that whoever designed the plumbing system in this apartment building didn’t incorporate a checkvalve system that prevents all of the sewage from all of the other units from backing up through a single fixture. You’re definitely going to be here a while.

Even without the presence of raw sewage, those projects are frustrating as all hell. I’ve been Bolding text since before many of you were born. I feel as though it’s well within my skill set to command a computer to make a certain word or line a skosh heavier.

This might be an arrogant statement, dear reader, but there you go. So I find it very, very disorienting when I add “font-weight: bold;” to a CSS definition and am only 60% certain of what effect that will have on anything.

I seem to have forgotten the potential life-lesson that this whole topic might have inspired. Well, spending an hour or so writing about CSS and PHP and webdesign will do that to you. You do find yourself thinking about life, but mostly about how it’s too short to be spending so much of it in activities like this.

The Thrill Of The Hunt

You ever have one of those moments when you observe yourself impartially and think “Good God…I really haven’t made any progress since junior high, have I?”

This is such a moment. I’ve been in a coding trance and my mental CPU was wonderfully overclocked and the last thing I want to do is knock off for the night and go to bed…but it’s 4:20 AM and I need to go to bed.

Yup, the 4 AM point of no return. It’s a bedrock spot on my personal clock, right alongside lunchtime, suppertime, and Time For Letterman. As a kid, I knew it as the time when I had to decide whether I wanted to get two or three hours of sleep in my bed, or if I wanted to keep right on writing or coding and sleep at my desk instead.

(I never, ever made the wrong choice. Which is probably why I graduated 22nd in my class instead of in the top five.)

Now that the blog is back up and running, I can recreationally begin Phase Two: building a custom CWoB theme for WordPress. This requires me to sharpen my PHP-fu skills and also to learn just what the bloody hell goes on under the WordPress hood.

And I’m absolutely delighted that there are two perfect resources out there. The tutorials at WPDesigner.com are absolute godsends. You can jump in without knowing squat about PHP or even HTML and make satisfying progress in your first 15 minutes.

If you do know squat…well, you’re that much ahead of the game.

After spending so much time suffering with a broken blog, I sure don’t want to go and break it again. So I’m inflicting my theme experiments on a “Skunk Works” version of the Celestial Waste of Bandwidth, hosted by a WordPress installation right here on my iMac.

Mac OS X already has everything WordPress needs, right out of the box. You gotcher PHP, you gotcher MySQL, you gotcher Apache webserver. You do need to execute a lot of mojo before WordPress is up and running, and that’s a newbie nightmare.

So thank heaven for MAMP. It’s a magical free utility that runs those services for you. Double click on the app and hey-presto: you have a functioning Apache webserver with SQL and PHP.

I love that it doesn’t mess with your Mac’s configuration or mung up your system in any way. It’s designed specifically for my kind of purpose: when you’re developing something offline and you need a functioning test system that can be turned on and off. When I click the “Stop Servers” button, that’s it: the Skunk Works is closed and my Mac’s configuration is no different than what it was when I started. Even when it’s running, the “webserver” is only available to the user of this iMac. I’m not accidentally publishing my PHP thoughtcrimes to the actual Internet.

I’ve no idea when this new theme will be finished. I’m still at the stage where I’m surprised and pleased that I haven’t turned a lovely iMac into a dignified blob of drippy metal and plastic slag on my desktop. But as they used to say at GE, “Progress is our most important product.”

It’s interesting. The purpose of transitioning away from my AppleScript blogging tool was to have a more powerful and ambitious blog. It wasn’t so that I could stop writing code. But in the past few days I’ve come to understand that if I really want to exploit the power of a full-featured content management system like WordPress…well, I still have to write lots of PHP scripts. WordPress has two faces. It’s a user app and it’s a development environment.

If you’re happy with all of the canned solutions that are out there, you never have to leave the friendly user interface. If you want something that’s tailored towards your own inclinations, you’ll need to put on those special pants that are tailored for extended coding sessions.

The Morning After

Hmm. The site was a bit slow in loading this morning. I hope we’re not seeing the head-reading of ugly thing, best left beh…

(hang on…let me get a bowl of Rice Krispies and a Coke.)

There. That’s better. I always write better after some breakfast.

Hmm. The site was a bit slow in loading this morniing. This fills my day with the salt-encrusted sweatstain of uncertainty. You’ll recall that the whole (bloody) point of moving to a new server was so I could put an end to that sort of thing.

I suppose if I pretend I didn’t see that, then it won’t affect my plans to get the hell out of the house in the next twenty minutes and enjoy my Saturday.

So! Wow! The new server has never seemed slow to me! Not even once!

What a relief! Off I go.

Huh? Wuzzat?

Do I dare dream it?

Am I dreaming now?

Or is my blog finally back up and running?

No, I mustn’t believe it. I’ve had my heart broken before. I’ve had some false starts, made some hard decisions, learned some tough lessons, emerged with a soul that had been hardned in the hottest fire and with my eyes able to see clearer for the tears I had shed.

And even then all of the Comment links were 404.

But it appears to be working.

All of my images. Even all of my custom styles.

Huh.

Okay, well, clearly I’m going to post this and then a hand is going to reach out from the screen and do that thing to my face that Moe used to do to Larry. But I won’t find out for sure until I…

(Wait for it…)

Push the button, Frank…

Downtime, followed by lots and lots of uptime!

I call your attention to the middle of the floor. See that crumpled orange and green and purple mound of terry cloth? Yes: that’s the towel. I threw it in just a few minutes ago.

It’s a beach towel. Sorry, it’s the only thing left in the linen closet. I haven’t done a wash in about two weeks because I’ve been so busy wrestling with the Massive Overkill hosting plan that I originally signed up for.

Y’see, when you’re an Internationally-Beloved Technology Pundit, mundane decisions can become intensely complicated.

Case in point: I’ve had it with cassette adapters. I’m finally buying a car stereo with direct iPod input. A civilian would just walk into any store, pick out a model with the right features at the right price, and be out of there in less than an hour. But this represents an opportunity for me to do…

(wait for it…)

Research!

…for an upcoming column. It’s now down to three choices, even after I made that important initial decision that I shouldn’t spend more on the stereo than the actual car is worth.

And so it went with my search for a new webhost. I sincerely have a responsibility to become less dumb about things as time moves forward and this is a swell opportunity to be able to one day say “Look, I was in precisely the same position as you last year. I completed the Warrior’s Pilgrimage and here is the Wisdom that I gained during the journey…”

Yup, I could have just dropped a quarter in the slot, turned the crank, and extracted a perfectly serviceable hosting solution packaged in a cool little plastic bubble. Instead, I wanted to check out the whole landscape of hosting solutions. I looked just about everywhere. Eventually, my cover was blown and my queries to the general customer email address were suddenly being snapped up and replied to by people with stock options.

With this added attention came many interesting opportunities to (as I say) become Less Dumb. And as usual, sometimes the most valuable thing you learn from such an opportunity is that you is much more dumberer than you thought.

Surely I’ll write a column or two about all of this eventually. But here’s the broad strokes of what I’ve learned: web hosts are like living spaces. The easiest ones are like hotel rooms. Once you’ve squared things with the front desk you can stroll right in, climb into bed, and turn on the TV. But all the furniture is bolted down.

If you feel as though you need a place where you can tear up the carpet and splash some orange paint on the walls and you don’t have at least five tracks on the Billboard Hot 100, a hotel room won’t work. You’ll be happier in one of the “apartment”-style hosts. You can really settle in and make the place your own…though there are still plenty of situations in which the best you can do is call the super and hope that he agrees with you that a skylight in the bedroom would really brighten up the room and is more than worth the minor inconvenience to the tenants in the three floors above you.

My first hosting plan was a real top-level thing, or near as it gets. It was ownership of a whole virtual server, which is like taking ownership of a converted factory building. Power and freedom are limitless. I could even turn it into a hotel or an apartment building if I wanted to, so to speak, and rent out spaces on my own. Golly!

But really, it just comes with water, power, and sewer hookups. It contains all of the infrastructure of a living, breathing, working space, but it doesn’t become habitable until I’ve made lots of smart decisions and done a lot of hands-on construction.

So: this sort of service scored ten points out of ten for providing me with a keen learning experience about installing and configuring webapps and creating services. But zero out of ten as a speedy solution to the performance issues of the Celestial Waste of Bandwidth. There’s just so much to learn and (as I commented on Twitter the other day) setting up a server is like playing an old Infocom adventure. It’s an endless series of puzzles and even when you think you’ve solved them all…you’re eventually totally screwed because three months ago, you didn’t FEED CHEESE SANDWICH TO DOG.

(A reference to the most unforgivable trick from “Hitch-Hiker’s Guide To The Galaxy.” Very early in the game, you pass by a dog and the game really does nothing to tip you off that there’s anything important about him. But at the very end after you’ve successfully navigated weeks’ worth of puzzles, you revisit that scene from a different perspective and unless the dog’s been fed…you die. Ha ha. Ho ho.)

(Yes, it still stings.)

The difference here is that the price of such innocent ignorance is a server that just flat-out stops working eventually, or which is useful only as a way of moving terabytes of credit-card numbers through Nigeria, the Sudan, and ultimately the Russian mafia without my knowledge or being cut in for a piece of the action. I deem this as not acceptable.

I don’t think Media Temple can be blamed for being so tough to use at this level of service. If I complained that I couldn’t install WordPress until I’d created my management account and then created a “client” account that would “own” that directory and then had to manage permissions through two levels of abstraction, all they needed to do was silently tap on a little sign behind the counter reading “Most People Who Sign Up For This Service Know What The Hell They’re Doing.”

In fact, if you own your own server (even a virtual one) you want as little “help” as possible. We come back to that new car stereo I want. My chief motivation is my escalating frustration at my factory tape deck’s auto-reverse feature. I’m in the middle of a really keen podcast when the deck arbitrarily decides to flip to the “other side” of the cassette adapter, forcing me to punch a button if I want to continue to hear the show.

“Just…do…NOTHING!” I shout. Yes, at an inanimate object but look, it’s frustrating as hell. “If you do NOTHING and make NO decisions on your own, you would be functioning PERFECTLY. And I would not now be whacking you furiously with this empty glass IBC root beer bottle.”

And that’s what server owners want. Just a bare structure that they can build out on their own.

Me? I have filled up a five gallon bucket with Wisdom and Experience and now it’s slopping over and getting my sneakers all wet. I am now very very very ready to downgrade to a level of service in which I can push a big green button labeled “Make Blog Start Now.”

Fortunately, Media Temple does indeed have that kind of service, and it’s affordable. I’m fairly sure that their Grid Service will give me the ease of management that I crave and the power for future expansion that I want, while handling the rare Slashdotting and Farking with dignity.

I hope.

Well, let’s see.

So! All of this is by way of announcing that there’ll be some downtime coming soon. And not of the “my host is excruciatingly slow” variety. I mean of the “the DNS change is moving through the system” and “I’m migrating the old database” kinds. I’ve been using Feedburner for CWOB’s RSS feed, so if things work according to plan, your Google Reader and Bloglines (etc) subscriptions should continue to work.

Remember, you can always check in with me on Flickr and Twitter, or what the hell, just pipe me an email. If you can spell my last name correctly and follow that triumph with an “at” symbol and then the Gmail domain, your email will find its way to my inbox.

Fingers crossed. I’ll set this in motion in a couple of days, after this post has had time to populate.

Then it’s time to push the button, Frank…

Wakey-Wakey…

Time for an update, sensation-seekers. The biggest CWOB-related news is that I’ll be moving the site to a new host soon. Page load times degenerated to such a point where I practically dreaded doing anything that would encourage people to, you know, actually visit Ihnatko.com. Every time I’d go on Twitter and post a link to a new article, I could count on a flurry of replies in which the word “borked” featured prominently.

That said…I couldn’t be happier about my current webhost.

Last year, a friend of mine was kind enough to offer me a directory on his own server so that I could install a bunch of different content systems, pick a winner, and learn the system. It was a very generous offer and allowed me to really take my time choosing a winning horse (which is what I have here with WordPress).

Obviously, he’s not set up as a webhost and so when bottlenecks and other various problems cropped up, my banging on doors for a fix was simply not the best way to show my gratitude for his kindness. Instead, I kept pulling Scrabble tiles out of a bag at random, hoping that a solution would present itself. Lo and behold, the letters spelled out “Pay for real hosting, you cheap, pathetic bastard.”

(No, there aren’t any punctuation tiles in Scrabble. But I pulled out blank pieces after the G and the D and I; the Fates may be fickle, but don’t claim they don’t know the rules of Scrabble.)

One of the (many) benefits of my job is that minor annoyances can become fodder for good columns, and the problem of choosing a webhost is no different. And I have an awesome resource helping me out: the 7,000 people following my Tweets. I’d already surveyed the landscape of webhosts by the time I put out a query on Twitter, but over the next couple of days the opinions, details, and character assassinations that were put before me were invaluable.

At this point, I think I’ve homed in on three candidates: Pair, Media Temple, and A2Hosting. I’ve come to casually think of them as “Rock-solid hosting maintained by steely-eyed missile men,” “Lots of online hosting tools that I can actually understand, even as static screenshots” and “The folks who have been responding to my emails quickly and in great detail.”

These are all good things. Negotiations are still underway and I don’t really know which way I’ll go. At this stage, one of the most compelling arguments for any of these hosts is “Well, Merlin Mann uses A2 for 43 Folders…I mean, if it’s good enough for him…

I’m in sort of a funny niche as a consumer. Ihnatko.com was just building up when the server melted down, but even so, it was getting way too many hits to entrust it to a basic, consumer-level webhost. And while I’ve no (concrete) plans to create the next HotButteredNurses.com, I could be quite happy with a couple hundred thousand unique visitors per month…and I’m optimistic enough to be choosing a host that can support that kind of traffic.

So at some point in the next couple of weeks, Ihnatko.com will be at a new host and we can put any previous ugliness behind us.

First Flight: ScribeFire

Time to test one last blog editor. This time, we have one from out of left field: ScribeFire, a free blogging plug-in for Firefox. It’s potentially a v.meaty idea. See a page you wanna talk about on your blog? Just click on the ScribeFire button in the corner of the browser window and a blog editor appears in a new window pane, thusly:

Okay, weirdness already: I’ve hit “return” to get to a new line, and find that it’s done a simple linefeed instead of what might be termed a “Please start a new paragraph, Mr. Editor.” Let’s hit “Return” again and see what happens.
Nope. Same thing. That’s weird. The first line of the first paragraph was even indented like a real paragraph…though now I notice that it’s just a batch of spaces. Return
Damn. Does it expect me to tap “Return” twice to communicate a new paragraph?
Easy way to find out: this editor has both Rich Text and HTML views. Let’s just flip on over to the crunchy-wheat HTML side and see how it thinks this should be formatted.

Ooof. That’s no good. Not only is it not wrapping these paragraphs in paragraph tags, but those four spaces have been burned into the post as nonbreaking spaces. Meaning, the indent will be there even if my style sheet says “No indent, please; we’re English.”

Okay, I’m doing double-returns at the end of each graf.

(Note: I’m inserting these graphics after having finished the First Flight. I’m putting this one a couple of paragraphs “late” so that you can see how the earlier grafs got formatted before I started doubling the space between manually. Anyway, here’s what i was seeing in the editing window:)

(Back to your regularly-scheduled First Flight.)

I keep meaning to mention: command-I is intercepted by Firefox’s “Page Info” menu item. So you can’t italicize a word via a keyboard shortcut. But if you click the ital button in the editor, at least you “see” italics.

Like I was saying: I’m now doing double-returns at the end of each graf. Now will ScribeFire wrap the paragraphs with the right HTML tag?

Assuredly not.

Hmm.

Yeah, that’s a problem. In a “first flight” situation, I have no idea how these double-returns I’m inserting are going to be parsed. I assume that it’ll be handled the same way that WordPress’ online editor handles them (meaning: correctly) but I won’t know until I push the magic button.

On the whole, I like the richness of this editor. There’s this little yellow notepad icon in the bottom corner of the Firefox window and hey-presto, clicking it panes the browser window into the page you were viewing and an editing deck so you can comment on the page you were viewing.

I just wish I could easily work out how to pop stuff out of that page. For reference, I’m looking at the World’s Hardest Easy Geometry Problem. I’ve just selected that title and clicked the “Add A Link” button. You’re guessing that ScribeFire automatically chooses the URL of the page that you were viewing when you opened the editor? Nope.

Okay. I’m clicking “Cancel,” I’m selecting the address, doing a Copy, selecting the title here in the post again, and clicking the “Add A Link” button. Paste…good, ScribeFire didn’t screw it up.

Oops. The editing pane here isn’t scrolling down properly. I’m now at the bottom of the pane. It should automatically scroll up far enough to give me plenty of white space to edit in. In reality, it hasn’t even scrolled enough to display the descenders of the letters (oh, seems to be working now. But at first, the “p”‘s and “y”‘s were being cut off.)

Hmm. I’m having one of those moments where my thoughts begin with the phrase “It can’t be like this, can it? Because that would be idiotic.”

Specifically I mean that an embedded blog editor would almost automatically have all kinds of features for quoting and incorporating content from the original webpage I was visiting, right? Right?

In truth, I’m not seriously interested in ScribeFire as a main blog editor. But I want a good “Blog This Here Page” tool and this would seem to be just the ticket.

But I don’t see any tools like that. Hence my confusion. They have to be here; I’m just not finding them.

So let’s look for Help.

Mmmm…

mmm….

….

Can’t find any Help. Nothing more than ToolTips, anyway. Okay, here’s the “ScribeFire” logo in the toolbar. I bet this takes me to online help…

…Nope, it opens a new tab and loads in the main ScribeFire page. Maybe the little graphical dingus on the left of it is a separate button?

…Nope.

Hmm, again.

Oh! There’s a dingus on the extreme left of the top toolbar, which some certain misguided individuals think means “There’s more menu items hiding here somewhere.” I patiently explain to the ScribeFire author who isn’t here in the room with me: no, it doesn’t mean that. It’s pointing in the wrong direction, for one. You need an image thingy here that makes it clear. See, sir, I am now going to click that thingamabob because I don’t think you’re such an idiot that you didn’t include either system help or that…what was I looking for? It seems so long ago…oh, right: tools for including content from the current webpage.

Here I go, clicking the dingus.

A stacked column of buttons appears. A road trails off to W. You hear a babbling brook to the E. ?

Umm…okay, I’ll take “Page Tools” for $500, Alex.

No, that shows you Technorati stats for the page. Useless for the task at hand, which is writing a blog post.

Let’s go to “Bookmarks,” same dollar amount?

No, sorry…the answer were were looking for was “What is ‘Bookmark this page in del.icio.us’?” Here’s an intersting fact: this, too, has nothing to do with creating a blog post. Alice, you have control of the board.

How about “Settings” for $600.

An audio daily double! Alice, you are currently in the lead with $7300. You can risk as much of that as you want on your ability to predict that this menu will be the correct answer.

Uh, I’ll wager $100, Alex.

Nooooo, sorry: this, too, has nothing to do with editing blog posts. Wait, that’s not entirely true: you can do things like choose whether it uses CSS or HTML styles and other options.

Okay, let’s close out the board with “About.”

SO close! It’s a list of links to the ScribeFire RSS feeds, blog, etc., and a link for “Help”…aha!

Mmm, no, it just takes you to the main ScribeFire.com page and leaves it up to you to find its Help system.

Honest to God, I have now spent so much time searching for Help on this plug-in that I’ve forgotten what I wanted to get Help about.

(Right, right: integrating content from the webpage you were visiting before you activated ScribeFire.)

Sigh. So it’s willing to tell me to check the website for help. Which is what the airline does when it screws me at the airport. “Our main 800 number can help you.” “But you’re standing right here!

Ohhh-kay. I’m clicking the “New users: Read This First” link. Yes, dear readers, I am now liveblogging what it’s like to read a webpage. This doesn’t bode well for me (what, I think you’re interested in this?) nor for you (what, there’s nothing else on right now on the whole Internet?) and certainly not for ScribeFire.

(Seriously. A button or a link marked “Help” that takes you right to a QuickStart guide or something. I can whiteboard you an explanation of this concept if y’like.)

Annnd the “Read This First” contains four (4) one-sentence items, explaining that the software won’t work until it’s installed and that it won’t run until you run it. Whoah…slow down, Professor Feynman!

I see a “Support Forum” link in the sidebar. I could click that. Or, I could take this Uniball Signo model UM-153 black gel pen from my pocket, ask it “Signo, how do I integrate content from the webpage into a ScribeFire-generated post?” and then sit patiently until it speaks the answer.

Don’t know which one is the smarter play. Same result, same wait, but if I ask the pen, I’ll won’t have to type anything.

Okay. I’m going to just let this go. I should mention that ScribeFire adds a new menu to the universal Firefox contextual menu and one of the items therein is “Blog this page.” I’ve just tried to activate it via a new window but ScribeFire failed to load itself. Maybe because I had another instance of SF going in this window right here?

Well, I dunno. Later on, I’ll see what happens when I try that contextual menu.

(Incidentally, when it creates new tabs, the embedded editor belongs to the window, and not to the individual tab that was open when I activated ScribeFire. I don’t know that this is the wrong answer, but this definitely disconnects ScribeFire as a “this webpage was so interesting that I had to blog about it right away” sort of tool.)

Here’s what I would expect an embedded editor to do: you activate it and you see pretty much what I’m looking at right now. Except there’s also a whole palette or menu of “this page” buttons. Click this button, and ScribeFire embeds the page’s title, which has been wired up as a hyperlink. Click another button, and whatever text you’ve highlighted on the page copied into your post formatted as a quote. In fact, if text is already highlighted when you activate ScribeFire, the quote is already in the editor.

Bonus points: a JPG thumbnail of the page. Double-bonus: a “gallery” of all of the embedded media on the page so I can “quote” an image (though, hmm, whether it’s a hotlink or a downloaded JPEG served from my own server, there’d be some ethical dilemmas, I guess…)

I mean, anything would be better than what I see here in ScribeFire now…which is nothing.

But let’s move forward. Time to post. Installing ScribeFire in my browser and configuring it for the Celestial Waste of Bandwidth was so fast and trouble-free that both tasks were successfully finished before I started talking about them. So that’s all you need to know about that. Bravo, well done.

(Not me…ScribeFire.)

Oh, right…pictures. I’ve been taking screenshots as I go here. I bet that inserting pictures into this post is punitively hard. Deep breath: let’s see how hard it is to insert an image from my local drive.

Click the “Add an Image” button. Hey, very nice. A dropdown dialog appears, inviting me to select either a local image or an image URL:

And what’s this? If I click on it, standard resize handles appear and I can scale it down proportionately. Awesome. Every editor should do it that way. I can select it and center it on the page, right?

Yup, apparently so. Good, good.

(No, bad; it means that now, I have to go back through this post and add the images I’ve been shooting. Sigh. Let me get a Fresca out of the fridge first and then I’ll be right on that…)

The bad news is that you can’t get access to the image detals without going into HTML mode. I’d like to say “please slap this little image on the left and allow text to flow around it” but there doesn’t seem to be a way to do that. ScribeFire also got discombobulated pretty easily about where the images ended. I centered an image and then couldn’t type “un-centered” text anywhere underneath it until I clicked into some text that was already left-justified.

Okey-doke. Time to post. ScribeFire lets me add WordPress categories, Technorati tags, trackback URLs…cool, the whole schmeer.

If the “Publish” button works as advertised, this will be my last chance to talk about ScribeFire “live.” Time to sum up:

I should say that this tool seems to be a man without a country.

It’s just another blog editor, in a field filled with apps that are far more than merely adequate. If ScribeFire were a standalone app, it would have lots of advantages over an embedded tool that’s dependent on the infrastructure and UI of FireFox. If it had a level of intimacy with the content of the webpage you were viewing when you brought up the tool, it’d be able to do things that no standalone editor can even touch.

As is? There’s no advantage to this. It works just fine, but not in any particularly good way that causes it to distinguish itself. I can’t really see why ScribeFire needs to exist. Unless it’s for the carnal glee of telling people “It’s a blog editor…as a plug-in!!!

Kids, we were all once excited about the ability to make a phone call…from the car!! But eventually, we realized that the technology sucked until it also let us play Freecell.

Push the button, Frank…

On Vodcasting…

I asked for your feedback on the idea of putting my YouTube stuff in a companion video podcasts. There were way, way too many helpful replies, so instead of responding individually I’ll do it collectively.

(It also gives me a chance to test Version 2 of the WordPress mobile admin plugin. I’m hoping to post stuff from Macworld Expo & thus is probably the first real post I’ve done with it since I installed it a few months ago.)

The defining question regarding any idea you have for the distribution of your work should be “do I actually want people to see this?” This is why CWOB’s RSS feed features full posts. I’m not 100% happy encouraging people to avoid visiting my site directly, but it does mean that more people will read these posts. So, sure.

A vodcast would help more people to see these videos…plus I admit that if Robert Llewellyn’s YouTube vids were available via podcast, I’d happily sign up. YouTube is a snap to watch, but it’s nifty-cool to pick up an iPod or an AppleTV remote and presto! There’s a new show, all downloaded and ready to go.

And finally, that was no joke in the video…the two I’ve shot and edited so far are in HD, as will the future ones. T’would be a shame if nobody got to see these at decent resolution…

That said: one thing at a time. I want to get the CWOB podcast up and running first, and apart from the blog, the priority is on getting regular podcast and YouTube content out there.

There’ll be plenty of time to freestyle later. For now, I’d better make sure that the compulsories are all on their feet…!

More About Offline Blog Editing

Hmm. It’s possible that my expectations for both Ecto and MarsEdit are too high. But I’m an internationally-beloved technology pundit so I’m more inclined to say that no, my standards are actually spot on the money; damn these apps for not reaching for the stars!

This point of view has the advantage of putting the responsibility for my disappointment in other people’s hands. So as you can guess, this is the one that I’m really putting my shoulder behind.

Each of these apps reflects a different approach to blogging. I’ll set that discussion aside for another day. But they seem to be geared towards fairly simple and straightforward posts. They do allow you to jazz things up with a little CSS voodoo, but it isn’t done with any particular elegance…at least none that I’ve spotted so far.

This morning, I wanted to post my latest Sun-Times column. It isn’t a hugely complicated deal. These columns are all BBEdit documents, so the apps ought to have no problems dealing with the content. All I need to do is add a couple of lines of CSS-ified text and then write the “Bonus” material.

Neither editor did a particularly fantastic job of turning that text file into a nicely-formatted blog post. That really surprised the hell out of me. I can get the results I want, sure. But if I use friendly, word processor-style editing (a mode in which I don’t have to throw tags around every individual element), I get funky and unpredictable HTML. If I use the HTML-style editor, I get perfect, reliable results…but jeez, if I’m going to do all of that stuff by hand, I might as well be using BBEdit.

There has to be a good middle ground. The whole experience left me thinking that the optimal solution is to just write an AppleScript that can transmogrify a Sun-Times column automatically and then pass it to my editor of choice.

Reasonable reactions to this lament:

“Andy, you’ve absolutely no idea how to properly use [editor whose logo you had tattooed on your ass a month after downloading the first beta].” That’s a fair cop. When evaluating a new app, I intentionally avoid looking at documentation during the first week or so. This gives the very best apps a good chance to distinguish themselves. With ecto and MarsEdit, it’s entirely possible that a quick and handy solution is just a Command Option Shift F7 Right-Click-And-Drag away.

“It’s unreasonable to expect an editor to be both as easy to use as TextEdit and as powerful as a dedicated CSS-aware code editor like BBEdit.” Maybe. But I should point out that there are golf balls and recreational vehicles on the surface of the Moon. The Humans are an exceptionally clever species; we really ought to be able to find a way to make this happen.

“Well, duh, Ihnatko! The best and easiest answer is always to customize an app to your personal needs via AppleScript!” We’re on the same page, m’friend. So, cool: I have my solution. But what about folks who won’t see this as an “easy” answer because they don’t know AppleScript?

It does look as though when I choose one of these apps for my personal use, the decision will largely come down to figuring out which one has the best support for customization. I was awarded my AppleScript 10-Year-Pin in 2005. As a user, my natural attitude is that an app with sparser features but fantastic AppleScript support and integration is almost always more useful than a more feature-rich one that barely acknowledges scripting at all.

ps – I still haven’t figured out how ecto’s bulleted-text feature works. Humbug!

The Power of the Oppressed…

Okay! Well, I’ve made another new decision about the future of this blog. My original plan to use it as a place for occasional first impressions of stuff I’m playing with? That could probably benefit from a certain amount of modification or refinement. I look at way, way more stuff than I can possibly publish about. I thought it’d be kind of cool to use the blog for some less-formal opinions.

I guess that as an Internationally-Beloved Technology Pundit (Certification pending;. Lots of red tape. I’m told that they still haven’t finished processing Tracy Kidder’s paperwork), the line between an off-the-cuff blog post and a formal review can get a bit blurry.

I stand by what I’ve been saying about MarsEdit and Ecto, of course. And after looking at reader comments as well as the original posts again, I do call everyone’s attention to the places where I explicitly stated that these posts were written with the authority of someone who’s been using the apps for all of 15 minutes. So I don’t think anyone has any particular reason to fly off the handle about what I said.

In any event, I am indeed planning on writing a formal review of both apps in the near future. So believe you me, any points you wish to make about either tool — pro or con — will be read and mucho appreciated.

This has been an interesting demonstration of the advantages of a “real” WordPress blog over my old AppleScript-powered one at YellowText. I’ve been in “beta” mode for so long that I’ve sort of forgotten that people out there are actually reading these things. I still haven’t made a real “announcement” that this new blog exists. Most of the referrals are still from people who were Googling my name or other things.

My old blogging software was my own creation and it didn’t have commenting tools, so I was cut off from user responses to my blog posts. I got plenty of emails, but the blogging community’s culture isn’t based on private emails to authors. It’s in taking part in public discussions with a group.

From 1995 to September of this year, I was blogging in a near- vacuum. YellowText was largely cut off from the rest of the world, too. I’d wired in support for RSS just a couple of months after the first standard was hammered out. No worries there. But I had never bothered to research and code up any connections to the invisible architecture that makes the world aware of what I was posting.

Welp, the almost immediate reaction to my casual posts about offline blogging apps is a pretty resounding demonstration of that infrastructure’s power and importance. Awesome.

This is an ugly little blog and I’m still learning WordPress. I’m happy for it to continue to be ugly while I learn more about theme building. As with YellowText, part of the fun of not hiring people to do the job for you is that you learn a hell of a lot, even if it does mean that you have to eat your own dogfood from time to time.

But to be honest, although I’m damned proud of my homemade blogging software and I’ve enjoyed using WordPress for these past few months, I’ve never been more happy to have made the switch than I am tonight.

(Now buy my books, already. C’mon. I’m so desperate to find a Wii for my niece that I’m this close to buying the $700 Super Package at Wal*Mart. I’m an honest freelance journalist and thus every additional royalty counts.)


“iPhone Fully Loaded” (Andy Ihnatko)


“iPod Fully Loaded: If You’ve Got It, You Can iPod It” (Andy Ihnatko)