Sat Jul 11 2009

Weblog software

I tried Wordpress for a little while on this weblog since I wanted to have comments. And last night I switched off Wordpress, back to my homegrown static-rendering system.

For comments I’m trying out Disqus. The cool thing is that it works via Javascript includes, so I can still have a static-rendered site.

Why I switched back

Mt. Rainier forestI admire Wordpress tremendously and recognize what an achievement it is, what a great platform it is, and I wish its creators and community every success.

But I had some problems with it: performance problems and caching problems. For instance, I had to manually delete the supercache folder every time I posted.

Even assuming I could have fixed the problems, it still didn’t suit my temperament, which is, I admit, twisted by an advanced hatred of the overly-complicated.

Theory about details

What my screens keep doing, part 2The amount of detail involved in writing software (which is what I do) is hard to over-estimate. As great as Cocoa and Cocoa Touch are, writing software is still not like snapping blocks together.

With software you’re always one typo away from an app that doesn’t build — or, worse, crashes.

I have the tolerance, patience, and gumption to deal with all that complexity because it’s the thing I do.

But blogging — like Twittering, emailing, IMing, keeping track of to-do lists, and so on — is a secondary thing.

And I want those secondary things to be as simple and frictionless as possible. I insist on it.

The self-hosted versions of Wordpress — and Movable Type too, to be fair — appears to be for people for whom publishing on the web is their main thing. That’s fine: there’s absolutely nothing wrong with that.

It’s just that my main thing is something else. So I’ve gone back to my simple 50K weblog rendering script over the heavy megabytes of a Wordpress or Movable Type installation.

My theory is that everybody has, or should have, one main thing where they can submerge themselves: everything else needs to be simpler.

The ancient history of weblog software

Papa on my chair with sunshineIn the beginning, blogging was easy. With Blogger you didn’t even have titles — you just wrote until you were finished. It was almost like Twitter, but without a 140-character limit.

But people wanted titles. And comments. Trackbacks. Themes. Search. Categories. Keywords. Tags. Pings. Text filters. Custom fields.

And when they got those things, the people did rejoice.

Until a simpler weblog system came along. Then the people said, “Oh, Old Thing is so bloated now. I’m going to switch to the New Thing.”

And the people did ask that the New Thing add titles, comments, trackbacks, themes, search, categories, keywords, tags, pings, text filters, and custom fields. And then they also asked for tag clouds, widgets, a plugin architecture, and distributed comment-spam filtering.

Which the New Thing did add, and the people did rejoice.

Until the New New Thing appeared, which was simple and clean and delightful, and they liked it better than the New Thing. But the people did ask if it would add just a few features...

And so on.

Until Twitter.

Twitter is proof that people like writing for the web

It’s an easy analogy to make: IM is to email as Twitter is to blogging. Look how much people hate email — and how much they like IM.

But, sadly, if you list these by increasing complexity it goes like this:

Twitter
IM
Email
Blogging

That’s just plain tragic, when blogging is harder than email.

Mt. Rainier forest flowerI love Twitter — but I also love blogging. I love reading your more complete thoughts.

This, for me, is what the web is all about: seeing the world through your eyes.

Room for a new system?

I like what’s going on over at Tumblr. I’m considering switching, but it’s a big job because I have almost ten years of content here, including images and some downloads, that wouldn’t be easy to move over.

What I’d really like is a self-hosted system that comes as close as possible to the Twitter (and early Blogger) ideal: a little text box and a submit button.

Make it super-easy; make it fun. Remember that it’s not my main thing.

(And, okay, maybe add a few more features...)

Fri Jul 10 2009

News Diet

unsubMacworld Editors’ Notes: “The journalist in me loves the the fact that there’s so much competition in online news. But as a reader, the super-abundance is driving me a bit nuts.”

I probably shouldn’t agree — but I do.

I probably shouldn’t tell you to unsubscribe from some of your feeds. But you should.

Look: you’re going to get the news.

A bunch comes in through your news reader. But you also get news from people via email, IM, irc, Twitter, Facebook, and whatever else.

If it’s cool or interesting, you won’t miss it. Even with fewer feeds.

(I’m down to 74 myself.)

Wed Jul 08 2009

carpeaqua on iPhone tab bars

Justin Williams: Die You Damn, Dirty Tab Bar: “Despite my frustrations with the control, I am seeing it pop up in more and more applications.”

I totally see Justin’s points, and agree most ways, most of the time. (Note that NetNewsWire doesn’t have a tab bar, and NetNewsWire 2.0 probably won’t either.)

But I’ve also found that people who aren’t professional iPhone developers like tab bars. My experience is just mine, of course, and it’s mostly to do with news/photo/video apps.

My theory is that, for some people, a tab bar makes an app feel richer, more generous, more professional, more serious.

But that’s just theory, and it may only be applicable to a certain type of app, and I haven’t done a scientific poll or anything.

If I had to give advice, I’d suggest thinking pretty hard about whether or not a tab bar is a good idea. Do some sketches or mockups both ways. Think about room for controls and content. Think about the first-run experience and think about how well the app will wear over time.

Sat Jul 04 2009

brentsdevdiary on Twitter

brentsdevdiary avatarI’m trying an experiment — I’ve started brentsdevdiary on Twitter, where I narrate my work. It actually answers Twitter’s question: “What are you doing?”

But be warned — it’s entirely possible that it’s extremely boring. It’s also possible I won’t keep up with it.

But so far so good. To make this work I actually run a Twitter client on my development machine, so it’s super-easy to post a couple sentences now and then (I don’t even have to turn my chair to my laptop).

I like doing it. It feels pretty natural, as if I’ve been doing it a long time. (Years ago I was an early user of Instant Outliner, which was like a Twitter dev diary. Credit goes to Dave Winer for this and so much else.)

Note that, if I keep up with this, there will be times when, for any one of various reasons, I won’t be able to disclose what I’m working on, or I’ll have to talk in very general terms. You understand, I hope.

Possible benefits

I’ve always loved working in public as much as possible. I don’t mean working in cafés — I mean the internet public. I’m enough of an exhibitionist (I confess!) to like the idea of programming as performance.

But lately I’ve been super-busy and have had little time for blogging.

I love being engaged with the people who use my software, and this is a great way to do that. Twitter is two-way, after all. (I also have private mailing lists for beta testers, which are hugely important to my development process.)

There are a few other things that interest me about this...

Seattle skyline

How silence is perceived

When I’m very quiet — little to no blogging, nothing work-related on my main Twitter account — people start to think that my software is going away. “He’s been so quiet, he must not be working on it anymore.”

There’s no logic to it, but it’s a very human reaction and I understand it. But of course the opposite is usually the truth. Quiet just means busy.

So I think this is a way to not be quiet, since updates are so easy, since I can do them as I work without interrupting my flow or taking much time.

Ultimate Mac Programming Book

How software is made

I’ve long been interested in trying to give a sense to non-programmers how software is made. We all use and rely on a ton of software, but, if you’re not a developer, it probably seems more like magic than it should.

Our reliance on softare will only grow, and a basic understanding of what goes into making software should be part of every adult’s mental toolchain. It’s good citizenship in the digital age.

How an experienced developer works

I’ve written before in Advice for indies that you “have to sit in the chair and stay seated. And sleep and come back to the chair. You need to wear out that chair and then buy a new one and then wear out that one.”

I can say that, but there’s nothing like actually showing that.

About the avatar

It’s a picture of my cat Papa in my office chair, lit by the office skylight. Sometimes you have to give up the chair to the cat. Especially since he’s so cute and he loves the sun.

Other dev diaries

I’d love to see more dev diaries. If you do one, do an @brentsdevdiary with the account name so I can see it. Thanks!

Mon Jun 08 2009

The age of hybrid apps

I’ve written and talked about hybrid apps before. For instance, in the spring of 2007 I wrote about the end of desktop vs. web apps.

When I last wrote about this subject there was no iPhone and no iPhone SDK and no 40,000 apps.

And now it seems that hybrid apps are so common, and so expected, that there doesn’t need to be a name for it anymore. They’re just apps.

That’s the world I’ve wanted to get to since I started doing this stuff in mid ’90s. And we’re there.

Maximum looseness

Snoqualmie FallsI’ve seen people write silly things like “web data always belongs in a web browser.” Or, “why would I ever run code on my computer?” It’s easy to knock stuff like this down, but responding to it with words never changes any minds.

Responding with applications — thousands of them! — does change minds.

I’d bet those people are now running Twitter clients on their iPhones.

I like the liberty and looseness of not being stuck with two hard categories of apps. We’re all free to get to the same place, the place where we delight users with cool stuff, by combining different technologies in different ways.

This way the web isn’t just this thing on the side that only appears in browsers. It’s everywhere. It’s the oxygen of modern computing.

Sat Jun 06 2009

Where I am with NetNewsWire

Afternoon coffeePeople ask me what’s up with NetNewsWire — and this week they’ll ask me in person. So I figured I’d better write a post about it.

Here’s the scoop: both versions are in extremely active development. I’m currently working on NetNewsWire 3.2 and 4.0 for Mac and NetNewsWire 2.0 for iPhone.

I recently set up Twitter accounts for them: NetNewsWire/Mac and NetNewsWire/iPhone. I haven’t posted much yet, but I will. (You can also follow my personal account, but I often post things that have nothing to do with NetNewsWire. And I can’t do support via Twitter via any of the accounts.)

I don’t have time estimates — any guesses would be completely wrong. But nobody’s more impatient than I am.

What’s coming

You may have seen the FeedDemon beta with Google Reader syncing.

The plan is to add Google Reader syncing to NetNewsWire 3.2/Mac and NetNewsWire 2.0/iPhone also. I can’t promise for sure for-sure, but I’m 95% sure.

More about NetNewsWire 3.2/Mac

This version, as the number suggests, isn’t a huge upgrade — the main thing is Google Reader syncing. (Plus a couple small features and some bug fixes.) It will be a transitional release — it drops a bunch of stuff, gets leaner, and moves some of the data storage over to the format 4.0 will use.

Here’s what it drops: Tiger support is gone — it will require 10.5 or greater. The DotMac/FTP syncing and Bloglines syncing are gone. Some little features like the Send Email to Author command are gone.

My favorite part is under-the-hood — dropping code I don’t need for Tiger support, mostly. Switching to ObjC 2.0 properties, especially.

More about NetNewsWire 4.0/Mac

Work on 4.0 is in parallel with other work — but it’s farther behind. It will also be a bigger upgrade.

I’d talk about what’s going to be in it, but it’s too soon.

Well, I can talk some technical stuff: I plan to move storage completely over to Core Data and I’d like to turn on garbage collection.

More about NetNewsWire 2.0/iPhone

It’s a race — I don’t know which will ship first, NetNewsWire 2.0/iPhone or NetNewsWire 3.2/Mac.

I’ve spent the last six months or so mostly in iPhone-land, working on the foundation for NetNewsWire 2.0. Along the way we discovered it was generalizable and that there’s a business doing private-label apps based on the same foundation that will power NetNewsWire 2.0. The highest-profile example is All Things Digital — if you use it, you are in a way using an early version of NetNewsWire 2.0.

It turns out that learning how to do good news readers on iPhone is harder than I expected. Almost the entire ballgame is about performance.

Think of all that a Twitter client has to do — then imagine running 100 Twitter clients at once. I think I’ve spent about 3 man-months just in Shark and Instruments, figuring out how to scale and perform well on the iPhone, which is for real a new platform, even though we still get to write in Cocoa.

Destroying the hard drive(Another thing I spent a lot of time on was UI. NetNewsWire 1.0 for iPhone is quite spartan, you’ve noticed.)

Anyway, the plan is to add Google Reader syncing for NetNewsWire 2.0 — and a few other things, which I don’t have time to write about now.

But it’s all new — taken apart, scrapped, put back together, taken apart again, written anew, etc.

WWDC

So, if you see me at WWDC, tell me how your stuff is going. I’m interested. And now you already know how it’s going with NetNewsWire. :)

Brent’s WWDC Tips

WWDC 2008 lemursThe single most important thing to remember at WWDC: drink plenty of water! You’re not at your usual places, and you’ll forget.

Hotel tips

When you check in, set up your iPhone charger first thing. If you go out Sunday night (and you should) you don’t want to remember to set it up when you return to your room. It has to be ready. Otherwise you’re screwed Monday.

You also should get some supplies for your room:

  1. Water! More than you think you need.

  2. Pretzels or some kind of snack you like.

The biggest danger after dehydration is simply not getting enough food in your stomach. You’ll be busy and you won’t take time to eat.

Either right before or right after, go register and get your badge — don’t wait for Monday morning.

Hotel 404Write down and put in your wallet your hotel room number. You might forget.

Food tips

It’s well-known that the food at Moscone is awful. Don’t even bother.

I find that I need protein more than anything, so I often eat lunch at the Buckhorn grill in the Metreon. It’s right across the street. I also like the Mexican place there.

After protein the priority is carbs: fries, mashed potatoes, pasta, whatever. Vegetables come last — you can go without for a meal or two, but don’t go too long.

For dinner there are lots of good places. I always like to eat at Annabelle’s at least once. Usually hit Mel’s too for a hamburger. I like the food at Rickenbacker’s. Many people like the Thirsty Bear, but I always feel hungry an hour later. Do not under any circumstances go to Bucca di Beppo, even though it’s right across the street.

For late-night there’s just the Denny’s. It’s not really food, but you’ll find that it’s similar enough.

Session tips

Don’t be afraid to jump out of a session and switch to another one if the one you’re in is not what you thought it would be. You paid; you’re there to learn; it’s your responsibility.

IMG_0096.JPGDon’t get paralyzed when choosing. Remember that there will be videos and documentation.

These days you have to line up early to get in sometimes. If you think a given session will be packed, you’re probably right. If you don’t think it will be packed, you’re probably wrong.

Moscone tips

The staff there will treat you like you’re a weird type of cow. Don’t take it personally.

There’s never coffee when you really, really need it. Luckily there’s a Starbucks a block away — it’s Starbucks, sure, but don’t turn up your nose: it’s caffeinated, and staying awake is the issue. (Especially during any OpenGL stuff.) (Okay, maybe that’s just me.)

If you’re new to WWDC, you should take some time to walk around the interior, find out where everything is.

After-hours tips

See Brandon “Quazie” Kwaselow’s party list.

You can’t get to every party, and there are always impromptu and smaller things. Play by ear.

Twitter is great for coordination and for finding out what’s going on.

Lucas Newman at the Lava LoungeSome standard hang-outs: Rickenbacker’s, Chieftain, Tempest, House of Shields.

Don’t wait for introductions — nobody can remember who knows who, so you won’t always get introduced. Say hello. Everybody is nice. Shy geeks sometimes, but still nice.

If you’re new to WWDC, and this is your first time meeting your heroes like Cabel and Wil and Gus, a few things to remember: don’t monopolize, don’t report bugs in person, and don’t push a demo on anybody. And everybody likes flattery. (Except for Gus.)

Finally: watch out for Kevin Ballard, who’s completely mad.

The best thing about WWDC

IMG_0045.JPGImagine it’s 100 years ago and you’re a serious, hard-working craftsman — you’re the toy-maker to the king. Imagine that 5,000 of the best toy-makers come from around the world to gather in one place.

Just because it’s 2009 and we get to do this every year doesn’t make it less cool or any less to be savored.

Water!

Did I mention water?

Drink plenty of water!

And get at least some sleep.

IMG_0007.JPG

Wed Jun 03 2009

Crackhouseisqatsi

Time-lapse video of a house getting demolished in my neighborhood. (Down near Market St.)

Mon May 18 2009

All Things Digital for iPhone

All Things Digital screenshotThe folks at All Things Digital just launched their iPhone app: it includes columns, articles, photos, and videos from Walt Mossberg, Kara Swisher, and the rest of their staff.

It’s their app, of course, but I don’t mind saying that we helped build it. And that I’m proud of it.

As Kara alluded to her in her post, part of the fun was watching it roll out to different App Stores last night. We found it first in Latvia.

It reminds me of the old joke from college days — every indie band claimed to be big in Europe. Always. (And there was no web, so we couldn’t actually check.) So I wanted “We’re Big in Europe” T-shirts printed up. But it appeared in the US App Store before long, and the joke would have been lost on everybody who wasn't me, anyway. :)

Here’s the iTunes App Store link. (The app is free.)

Archive

© 1995-2009 Brent Simmons