Marco.org • About ▾

I’m : a programmer, writer, podcaster, geek, and coffee enthusiast.

It’s hard to recover from that without a reboot.

Oh yeah, about those Verizon iPhone rumors.

I don’t see it happening. Not until LTE, and we’re nowhere near that.

In trying to trace the source, the most direct statement I can find is from <a href=http://wiki.twit.tv/wiki/MacBreak_Weekly_142”>Scott Bourne on MacBreak Weekly #142. It sounds like the Verizon marketing department has been telling some untrustworthy employees something along the lines of, “We’ll have an iPhone in June.”

He repeated that wording a number of times, quoting his source verbatim, so I’m confident that the wording is probably correct. And the wording is very important:

“We’ll have an iPhone in June.”

An iPhone. Not the iPhone. That’s a critical article.

Now, if this is taken literally, it sounds like Apple will launch a separate iPhone model (as would be necessary) for Verizon in June. This contradicts Tim Cook’s recent statements, and a different explanation for Apple to interact with Verizon — an LTE iPhone, once the network’s deployed in at least another few years — is better corroborated by recent statements and implications from both parties.

Another explanation for this rumor is that Verizon’s marketing department is saying something along the lines of, “We’ll have an iPhone[-equivalent] in June.” In other words, they’re going to have a hot new smartphone this summer, like they do every summer, and they’re going to market the hell out of it as an iPhone replacement or killer, like they do every summer.

Given that the source is supposedly the marketing department, and Verizon is still deluded to the core about the quality of their devices, and this is a much simpler explanation, and it won’t contradict common sense or recent statements from either company, which is more likely?

Jim’s Big Ego – Stress

Rod Knowlton posted this as a video last week, but I hated the sound quality, so I bought the album.

I only knew about this catchy Jim’s Big Ego song before. The rest of the album is an odd blend of this Cake-like style and more traditional boring pop-rock styles, but with sarcastic, angry, and comedic lyrics. It’s hard to explain, and I’m not sure how much I like the other songs. But it’s interesting.

Try to figure out the pattern.

Or just give up and read about it: This is amazing. How did I miss this when it happened last year?

Lee Sharingtime:

I did a lot of traveling this weekend and had this playing most of the time. At first, I didn’t really think it was anything special, but like most good albums, it gets better with each listen.

Here’s my official review:

“Pure pop enjoyment,” says Sharingtime, from Sharingtime Weekly Tumblr Music Review Magazine.

I’ve been listing to it here and there, but I have yet to form any concrete opinion.

It sounds a lot like American Idiot. It’s more of the same modern Green Day. But less catchy.

It’s not bad, but it’s immediately forgettable. Nothing’s sticking in my head. It’s heavily produced and edited to the point where it hardly resembles naturally performed music at all. It’s musical aspartame. It’s been engineered and genetically modified to appeal to demographics and markets and focus groups. The result is mediocre — it doesn’t inspire feeling in anyone. When the album ends, I don’t notice, and I’m not motivated to play it again.

Sometime in the 15 years since I bought Dookie in the 6th grade, they lost me. They became more artificial and mundane, and my taste shifted to more complex, natural, and ephemeral music. This would have been great in 1994 to go before Weezer in my CD player (Dookie was disc 3, and the blue album was disc 6). Now, it feels instantly old and flat, and I’d rather listen to other bands.

But I bet it’ll be immensely popular with 6th-graders, who weren’t even born when I bought Dookie.

That sort of company is not one I would wake up every day and feel passionate about working in.

Matt Mullenweg to the AFP on China asking him to censor Wordpress and expose info about bloggers in return for unblocking the site (via nickdouglas, mikehudack)

Good for him and WordPress. Integrity and ethics are more important than dollars and traffic. (We’re blocked in China, too, and have no plans to cooperate with the Chinese government to censor and punish their citizens.)

I never would have guessed that I’d order my first pair of WD VelociRaptors from Amazon.

Or that they’d be for my wife.

See, there’s this thing called caffeine. It’s one of the greatest gifts Mama Earth gave her humans. She hid it in high concentrations inside beans that must be roasted and boiled with water. Fact is, she purposefully kept it out of her green veggies because she wants us to experience the awesome breadth of her bounty (see also: chocolate). (Also, she wanted us humans to get to know each other, so she put some red-hot commodities on one continent, and others elsewhere, and then just sat back and watched us make tracks. But that’s another story.)

Nora Leah on coffee

GPOYW: Weekend barbecue edition. (Photo by Tiff)

The biggest argument for bailing out or buying the car companies seems to be that letting them completely collapse would result in massive unemployment across so much of the country that the government would need to spend far more (unemployment, Social Security, welfare, Medicare, etc.) than whatever they’re spending on car companies.

This seems like a sound approach to solve temporary, external problems that are hurting a major industry. AIG is probably a great example of a good (in theory) use of this technique: insurance, in general, is very important and is usually a stable business. But when a disaster happens on a scale that nobody could have foreseen and an insurer needs to pay a ton of claims at once, it’s like a bank run — an otherwise sound business just can’t keep up, and the goverment needs to intervene to avert disaster.

But the problems facing the Detroit car companies hardly seem temporary. In fact, they’re hardly related to the recession at all. These companies were doing very poorly even in the latest boom years. Their problems run deep: they produce more cars than we need with very little market appeal that are less reliable and more expensive than their better-run competitors’ products. Their executive and management culture is deeply dysfunctional, and the UAW is the stereotypical example of a very harmful union.

What portion of that will be solved by the government taking them through bankruptcy court, buying big chunks of their stock, or issuing them more massive loans?

Aren’t we delaying the inevitable? Won’t this still collapse and still result in the massive unemployment and social spending that these measures are supposedly avoiding, but now with the added cost of the money we already threw at them in our futile attempt to keep them afloat?

Microsoft plans to redefine mini-notebooks that Intel has categorized as netbooks with a new term – low cost small notebook PC, according to Steven Guggenheimer, general manager of the Application Platform & Development Marketing Division at Microsoft.

Microsoft to use a new term for netbook

Now that’s the Microsoft Way™: adopt something simple and trendy, then add enough bloat to suck the life out of it.

Next year: the low cost small notebook PC ultimate enterprise architect edition for home user professionals. Lite.

Great place for a sandwich.

How to light a gas stove manually

Peroty fails at cooking:

Gas stove. Electric lighter. Design FAIL! Cereal it is.

You can still manually light nearly every modern gas stove with a match or lighter, even if the igniter is broken. Matches are safer and will work better than typical cigarette lighters.

  1. Turn gas on medium.
  2. Light match. Hold very close to the holes in the center of the burner that fire usually comes out of.
  3. Wait for full ignition. This should happen within about 3 seconds, and the burner should quickly light all the way around in a neat little ring-closing pattern.*
  4. Remove your match-holding hand (and the match) quickly.

* If this doesn’t happen within 3-5 seconds, turn the gas off, wait a few seconds, assure anyone else in the room that the gas smell is normal, and start over.

That said, if you’ve never done it or seen it done (anyone ever have a really old gas stove when you were growing up?), you might not want to try it. I think this is a pretty lost skill by this point. I can’t even find a YouTube video showing the correct procedure. I’m almost motivated to shoot my own video. But not quite.

This is a valuable skill to have. With it, you can still use your gas stove in a blackout or when the igniters fail. (Note that this procedure doesn’t usually work on the oven or broiler because the burners aren’t easily accessible.)

Jessica Gold Haralson, an absolutely delightful person in real life who I love getting angry at on the internet, is “re-evaluating participation in this space”:

Reading some things either raises my blood pressure or increases my already-strong predisposition to negativity[.]

[…]

The solution isn’t to quit, though. The solution is to use this platform smarter.

While this isn’t quite what you were saying, some people incorrectly generalize or conflate Tumblr as a platform with segments of the community.

There is no single “Tumblr community.” No “Tumblr drama”. No issues that “everyone” is talking about. Nothing to generalize about “most people on Tumblr”. It’s far too big for that, and full of more little communities and social circles than even we know about.

Tumblr, as a community, is who you follow. It’s an environment that you create, yourself, by individually selecting the people to whom you pay attention.

It sounds like you follow people who post things that have a negative effect on your life, either by what they say or what they incite you to say, defend, or think about.

Unfollow everyone and start over. When you’re considering a new follow, ask yourself, “Will this have a positive effect on my life?” No? Pass. If bad people try to elbow their way into your Tumblr Dashboard by reblogging your posts with nastiness, block them.

This is where you’re choosing to spend your time, and you’re in complete control of whose voices you want to hear. There are enough great people out there that you can hold your Dashboard to very high standards and still have more than enough content to fill your day.

Is this a joke? Are we kidding? There are people that have never lit a stove before? I have no faith in this country’s youth (or city dwellers? I don’t even know who to blame for this).  A video? Correct Procedure? Just light the damn thing.

Katie Schenk

Dear Katie,

Put yourself in a position in which you’re responsible for answering support emails from average people about something that you believe is simple, self-explanatory, and universally known. You’ll quickly realize that it’s none of those things.

Plus, I like writing (and reading) detailed instructions for tasks that most people consider trivial. I actually think about this stuff. I care about the details of my technique for everyday things like entering an elevator or pouring a glass of water.

Two years ago, I wrote a simple guide to making iced coffee. You might say, “Just make it.” But I’ve received more traffic and email from that article than anything else I’ve ever written.

Another typical day at the office.

Palm Pre Cuts the Cheese, by Jason Chen for Gizmodo’s Pre review.

The first thing you’ll notice as you slide open the Pre is the absurdly sharp ridge digging against your palm. Nowhere—not on the iPhone, the G1, the G2 or any of HTC’s other smartphones—has a phone been so threatening to the integrity of my skin. If you’re pushing up screen from the bottom of the phone, as you’d instinctively want to do, prepare to get sliced. It’s just that irresponsibly sharp.

(via John Gruber, who graciously reads all of the high-volume, feed-flooding tech blogs so we don’t need to, an undertaking for which I will always be indebted to him)

I want the Pre to succeed, but I don’t want one.

Why I don’t want one is straightforward and boring: I’m heavily invested in the iPhone platform, and Palm’s usual product shortcomings (hardware quality and design, reliability, fit and finish, battery life) are important to me. I’m also not interested in using Sprint, although that’s moot once there’s a Verizon EVDO version next year.

But I really want the Pre to be a long-term success. I don’t think it will “beat” the iPhone, nor do I want it to, but it can serve a very important role in the meantime.

Before the Pre, the smartphone market was pretty straightforward:

Left untouched, the G1 provides some pressure from geeks and the Blackberry from salesmen, but the iPhone has a big chunk of the new sales, positive press, and good developers all to itself.

But based on initial reviews, it looks like the Pre will stack up nicely:

This is important because Apple’s ecosystem of developers and users really needs the competition, and I don’t see strong competition coming from anyone else. I do see it coming from the Pre, especially once there’s a Verizon Pre.

With strong competition, Apple will be forced to aggressively innovate in both hardware and software. And now, with a strong competitor, third-party apps will play a big role in the iPhone platform’s lock-in.

It’s in Apple’s best interest to keep developers writing the best and the most apps exclusively for the iPhone. And that means they’ll have to make the App Store less frustrating, obtuse, and capricious.

The results will benefit both developers and users.

And that’s why the Pre’s success is important: Apple needs a kick in the ass every now and then to keep producing great products.

Guess which one’s mine and which one’s Tiff’s?

This is an excellent illustration of the differences in our style. True, apparently.

I’m on a plane above Kentucky. This is Virgin America’s in-flight Gogo WiFi. It’s a very odd connection.

PING google.com (74.125.45.100): 56 data bytes
64 bytes from 74.125.45.100: icmp_seq=2 ttl=48 time=120.305 ms
64 bytes from 74.125.45.100: icmp_seq=7 ttl=48 time=180.299 ms
64 bytes from 74.125.45.100: icmp_seq=12 ttl=48 time=125.548 ms
64 bytes from 74.125.45.100: icmp_seq=17 ttl=48 time=94.383 ms
64 bytes from 74.125.45.100: icmp_seq=22 ttl=48 time=87.972 ms
64 bytes from 74.125.45.100: icmp_seq=27 ttl=48 time=118.603 ms
64 bytes from 74.125.45.100: icmp_seq=32 ttl=48 time=99.986 ms
64 bytes from 74.125.45.100: icmp_seq=37 ttl=48 time=98.320 ms
64 bytes from 74.125.45.100: icmp_seq=42 ttl=48 time=99.449 ms
64 bytes from 74.125.45.100: icmp_seq=47 ttl=48 time=83.807 ms
^C
--- google.com ping statistics ---
48 packets transmitted, 10 packets received, 79% packet loss
round-trip min/avg/max/stddev = 83.807/110.867/180.299/26.683 ms

It’s much more usable than ping would have you believe. I’m guessing they do a lot of packet shaping.

Things I discovered so far today:

UPDATE: There’s a power outlet under the seat! Thanks, Lucius!

This is what WWDC looks like before the keynote. There was an epic line around the block to get here.

Decidedly not Peet’s. Blue Bottle Cafe, San Francisco.

Has anyone disassembled yesterday’s new “unibattery” MBP (13 or 15) to show accessibility of the HDD and RAM slots?

I keep getting stuck in what appears to be a routing loop from the Verizon EVDO service in San Francisco, preventing me from connecting to certain hosts (including, importantly, Tumblr):

traceroute to tumblr.com (74.54.212.168)
 1  64.sub-66-174-217.myvzw.com (66.174.217.64)
 2  127.sub-66-174-217.myvzw.com (66.174.217.127)
 3  138.sub-66-174-31.myvzw.com (66.174.31.138)  
 4  233.sub-66-174-217.myvzw.com (66.174.217.233)
 5  194.sub-66-174-217.myvzw.com (66.174.217.194)
 6  98.sub-66-174-31.myvzw.com (66.174.31.98)
 7  161.sub-66-174-31.myvzw.com (66.174.31.161)
 8  170.sub-66-174-31.myvzw.com (66.174.31.170)
 9  161.sub-66-174-31.myvzw.com (66.174.31.161)
10  170.sub-66-174-31.myvzw.com (66.174.31.170)
11  161.sub-66-174-31.myvzw.com (66.174.31.161)
12  170.sub-66-174-31.myvzw.com (66.174.31.170)
[...]

It’ll keep bouncing back between those last two hops (.161, .170) indefinitely. It has happened every day this week, and always with those same two repeating hosts.

It’s only solved by disconnecting and reconnecting, which occasionally gets me to route connections differently:

traceroute to tumblr.com (74.54.212.168)
 1  64.sub-66-174-217.myvzw.com (66.174.217.64)
 2  127.sub-66-174-216.myvzw.com (66.174.216.127)
 3  138.sub-66-174-30.myvzw.com (66.174.30.138)
 4  235.sub-66-174-216.myvzw.com (66.174.216.235)
 5  194.sub-66-174-216.myvzw.com (66.174.216.194)
 6  98.sub-66-174-30.myvzw.com (66.174.30.98)
 7  253.sub-69-83-160.myvzw.com (69.83.160.253)
 8  ge-6-17.car2.SanJose1.Level3.net (4.79.42.185)
[...]

But how, exactly, am I supposed to report this problem to someone who matters? They’re tucked away so far from Verizon’s phone banks that my call would keep getting bounced between clueless CSRs and never getting through to anyone useful.

Like a routing loop.

Netbooks are a dead-end experiment in un-usability. Smartphones are the natural evolution that has already arrived.

David Chartier on this.

I don’t believe in netbooks, either. It’s logical to think that people like laptops to get ever smaller and ever cheaper, but there are practical limits to that. The mass market really doesn’t like tiny keyboards or tiny screens, a lesson we learned a decade ago, so that puts a pretty hard cap on how small laptops can reasonably be and still appeal to most buyers. (The MacBook Air is a great example of doing it right, size-wise: full-size keyboard and screen, tiny everything else, 3.0 pounds.)

Netbooks want to be your tiny cheap portable computer with no power or capacity to supplement your big desktop computer with tons of power and capacity. But increasingly, people are eschewing desktops and just using midrange laptops as their only computers. There’s very little real demand for tiny, ugly, underpowered desktop-Linux computers with crappy screens and crappy keyboards no matter how cheaply anyone’s able to produce them.

(via inky, thedailywhat)

dawnowar:

Four mos at my new job and still no nameplate

I think I’ve figured out a solution.

  1. Get your own nameplate made somewhere. (I bet the internet will do it cheaply.)
  2. On it, give yourself a title that sounds significantly, outrageously more important than your actual job title.

Then see how quickly they correct the problem by making you a more accurate one.

tiffany:

pilnick:

Reminder: San Francisco Meetup TONIGHT!

Oh yeah! This is happening.

staff:

Happy birthday Marco!

Marco’s older today, and we forgot to get him anything. Any ideas?

Starbucks gift certificate?  PC netbook?  […]

Funny fact: When I hired Marco three years ago, I lied about my age because I was embarrassed about hiring someone 4 years older than me (and not being able to get into bars).

Aw, they know me so well.

Funny fact #2: David’s interview by the awful Howard Lindzon is what finally outed his real age to me. I had been working with him for 15 months beforehand.

Funny fact #3: The blurry figure at the bar on the left in that photo above is Scott Simpson.

Dizzy Thinks: I stole your images, put them back or I will call a lawyer? (via David Chartier)

Don’t expect people to find or discover you. It’s on you to get your work out there and to get people to notice it.

Nik

The vibe I have gotten from here at WWDC is that Apple doesn’t exactly see there being too much of a problem with how AppStore is in general. As long as they keep selling millions of games a week, everything is just great.

Carpeaqua on the game changer rejection.

That’s how I interpret their attitude, too. They truly think that every part of the App Store is great. And it’s clearly being optimized for top-list games, not any other sort of use, because those top-list games are making them the most money.

The design of the in-app purchase system in 3.0 is especially telling — it’s designed almost exclusively for game add-ons, and doing anything else useful with it (free/paid versions, subscription pricing, content subscriptions) is either prohibited outright or incredibly tedious for both developers and users.

Trust, hostility, and the human side of Apple

Note: follow-up post.

An iPhone app developer’s world is lonely. We were legally prevented by NDA from forming any communities for many months after the SDK was launched, and even now, there are no significantly sized iPhone developer communities (except the occasionally good iPhone questions on Stack Overflow, but even that is now too flooded with newbie questions to be useful for experts or semi-experts to follow).

Three parties are involved: the developers (us), Apple, and the customers. For the most part, Apple stands between us and our customers, so the interaction there is limited: we can’t issue refunds, we can only issue a few promo copies, we can’t collect upgrade revenue, we can’t respond to App Store reviews, we can’t provide installation support, and we can’t release updates to address customers’ issues in a reasonable amount of time. We can’t even tell them when the next update will be available, because we honestly don’t know. It might be 6 days. It also might be 2 months. It also might never happen because Apple may refuse any further updates to our app. Our customers, like us, are mostly in the dark with this process, and we can’t do much to help them.

For the most part, it’s just us and Apple in the room.

And Apple’s a brick wall.

For Mac development, it’s less of an issue because we can freely interact with our customers, build apps that do whatever we want, release updates immediately and as often as we like, and collect money directly. Mac developers and Apple can largely ignore each other, coexisting happily and staying out of each other’s way.

But for iPhone developers, Apple holds all of the power in the relationship. Apple could decide tomorrow to pull Instapaper from the App Store, refuse all future updates, and remotely delete it from every customer’s iPhone without notice or reason. Or, more realistically, they could sit on my 2.0 update for two weeks or more before rejecting it for an issue they could have mentioned in either of its two previous rejections. (Currently still waiting: it’s now day 14 since my most recent submission, and I have no idea when — or whether — it will be approved.)

Trust

When the relationship’s power is so lopsided, the only sensible reason to stay in it is trust. If we can reasonably trust Apple to use its power reasonably and fairly, we can sustain the imbalance.

It’s hard to trust a huge corporation with thousands of employees. There’s no personal accountability and absolutely no transparency. They aren’t even accessible to us: the phone representatives have no authority and very little knowledge of the problems developers may encounter, and the support email addresses rarely end up in the correct department (as if we have any way to know) and rarely get meaningfully answered.

As far as we can tell, from what Apple presents publicly, there’s absolutely no reason to trust them at all to do the right thing.

In fact, it’s quite the opposite. Most reasonable people would perceive Apple’s attitude toward iPhone developers as, at best, reluctant tolerance.

Hostility

The last session of WWDC ‘09 yesterday was about publishing on the App Store. The content of sessions is under NDA, so I can’t tell you what it was about. So I’ll tell you what wasn’t in it: the audience Q&A session that succeeded nearly every other WWDC session and usually provided invaluable access to Apple employees and useful additional knowledge to attendees. The session itself blew through its lightweight examples quickly, ending 45 minutes early. The majority of the audience was clearly there for the Q&A. As people lined up at the microphones around the room, the presenter abruptly showed a simple slide with only “WWDC” in plain lettering, thanked us for coming, and bolted off the stage. The Apple engineers, usually staying around the stage for one-on-one questions, were gone. The lights came up instantly, and it was the only session that didn’t end in music. The audience was stunned.

It was a giant middle finger to iPhone developers. And that’s the closing impression that Apple gave us for WWDC. Clearly, they had absolutely no interest in fielding even a single question from the topic that we have the most questions about.

This went far beyond reluctant tolerance. It’s hard to interpret it as anything else except blatant hostility. We could probably have a more open discussion with Kim Jong-il about North Korea’s nuclear policy.

The human side of Apple

One of the most valuable benefits of attending WWDC is getting the otherwise unattainable opportunity to meet Apple employees and interact with them as human beings rather than the wall of silence and hostility that’s usually presented to us.

In talking to many Apple employees this week, it’s clear that the hostility and inaccessibility is not generally a problem with most individual employees or any sort of universal culture inside the company. In fact, nearly everyone from Apple that I spoke with was helpful, friendly, and — most importantly — human. These were just regular people who deal with hard problems and need to keep a lot of secrets.

The problematic policies and attitudes, clearly, are enforced from higher up in the company.

To some extent, this is comforting: most of an app developer’s risky decisions (mainly rejections) are made by the lower-level people who seem well-intentioned.

I’ve also learned that many of the problems aren’t intentional: many parts of Apple’s internal infrastructure are overloaded or extremely outdated, and they’re scrambling to keep up with their growth, often ineffectively.

One major surprise was when an Apple employee told me that the App Store reviewers are not outsourced: they’re all direct, full-time Apple employees. Many of them work nights and weekends to keep up with the extremely high submission volume, and they’re constantly expanding the staff to keep up with the submission growth. That said, he wouldn’t say whether they work in Cupertino — it’s very possible that a little App Review office in Bangalore could technically not be called “outsourced” but is certainly offshored. (I was also unable to get a direct answer on my artificial delay theory.)

I also learned, through various statements and implications, that the App Review team tries to actively avoid major blog publicity about bad rejections, and it’s something they take very seriously. This means, fortunately for us as iPhone-dev bloggers, that we matter and we should continue to bitch incessantly whenever anything is rejected for an invalid or ridiculous reason.

I’m satisfied and somewhat comforted by the human side of Apple that I’ve met so far, but nothing could replace better (than zero) transparency. While I’m glad I met some employees to finally get some insight into how they operate, I wish I didn’t need to.

Note: follow-up post.

Notes from WWDC 2009

Approximate summary of what it’s like, keeping in mind that this is the only one I’ve attended so far:

  1. Everyone who’s anyone in Mac development is there. You’ll see a lot of names you recognize, plus about 6,000 people who you won’t. Think you’re the only one around doing Mac or iPhone development where you live? Not here.
  2. Every day, you’ll sit in 3-5 sessions about various topics that you can choose. Before each session, you file into the room and find a good seat, preferably in one of the smaller rooms that have power strips ziptied to the chair legs so you don’t need to drain your laptop’s battery. And some hilariously awful music plays before the session starts, including this song — a lot. The awful pre-session music, as well as the awful conference-center food, becomes a joke and bonding experience with the other attendees.
  3. The session content is varied: sometimes it’s a bit too high-level, but in almost every session, even the ones that I thought I already knew, I learned something new of significant value. Some of the greatest value was in the presenters’ offhand remarks about how stuff is implemented, or seemingly minor implementation changes in the new versions (Snow Leopard or iPhone OS 3.0) that won’t show up in an API diff but really make a difference. For example, UINavigationController is a lot more useful now, despite very few public-API differences. (I’m probably not allowed to tell you how, which sucks. If you make money from an iPhone app that uses UINavigationController, you should at least buy the “iPhone View Controller Techniques” session video when it comes out.)
  4. Most sessions end in Q&A, so you can ask Apple engineers about specific problems (e.g. “What’s the recommended way to make UITableView accomplish this weird behavior I’m trying to do?”). Sometimes the answers are extremely helpful or insightful, and sometimes the best they can say is, “We don’t support that, but file a bug report and thanks for the feedback.” In either case, they’re at least genuine and trying to be as helpful as they can. Usually, I learned just as much from the Q&A as I did from the session. After the Q&A ends and everyone leaves, you can walk up to the stage and talk to the Apple people one-on-one.
  5. You can also go to the Labs, which are basically computer labs set up with particular topics (topic-specific troubleshooting, interface consulting, etc.) in which Apple’s engineers will sit down with you and your code and help you implement a new API or debug a strange problem. Sometimes the engineer is actually the person who wrote the component you’re having trouble with. It may be helpful, or it may not — in my case, when I asked the engineer about a bug I was hitting in UITableView, he said that he hit the same problem and filed a bug report himself, and he forgot how it was eventually fixed. But that was the only time I used the Labs — I was underprepared and didn’t have enough specific code-level questions.
  6. The food, both in Moscone West and in most of the surrounding restaurants, is comically bad. Wichcraft and Whole Foods are good lunch options.
  7. You’re left with quite a bit of free time. Sessions run from 9-12 and 2-6, with Labs running all day. Since there’s not much else to do in the Moscone vicinity, expect to do a lot of socializing and a lot of drinking.

Since this was my first time going, I did a few things inefficiently. Here’s some lessons learned for next year:

  1. Get some T-shirts made for at least one of the products I’m representing. Everyone there wears their own T-shirts. (Related: Attire is extremely casual, and it was completely unnecessary to bring the sports jacket “just in case”. If your shirt has a collar, you’re better dressed than 90% of attendees — and many of the presenters.)
  2. Bring fewer promotional items of other types. I didn’t actually need to bring hundreds of Tumblr stickers (sorry John) because, unlike SXSW, this is a conference with nearly 100% geeks and very few marketers. There was almost never an appropriate time to hand them out. It was hardly even reasonable to hand out business cards most of the time.
  3. Fly out Friday night instead of Saturday morning. Almost everyone else does, so it’s a ghost town on Friday. The sessions even end early (by 3:30) to make this easier.
  4. I need to own a 15” MacBook Pro by next year’s WWDC. The MacBook Air was too underpowered and limited to do anything fun, and its battery life really isn’t very good. I almost bought one there.
  5. Bring more questions for the Labs.
  6. Set up the laptop as the iPhone sync and development computer. It was extremely limiting not being able to sync my iPhone without wiping it.
  7. A certain hotel’s WiFi captive-portal system only blocks outbound port 80. It’s a good thing a certain software company’s engineer told me about this so I could download the 3.0 SDK without angering Verizon with such a large download over EVDO. It’s unfortunate that I didn’t know before the last night and could have used the 3.0 SDK all week.
  8. Do not eat any food in SFO. Do whatever it takes to bring your own, possibly a wrapped sandwich if you can get one from somewhere good (like Whole Foods) before the flight.

And some things that worked out very well:

  1. Staying at InterContinental was an incredibly lucky move, as it’s by far the most convenient hotel, practically sharing a wall with Moscone West. It’s nice to be able to quickly stop by your hotel room whenever you want to drop stuff off, pick stuff up, or plug stuff in.
  2. I never reset my internal clock to Pacific time, so it was easy to go to bed and wake up early. Sure, I was the guy leaving the bar at 10 PM, but I also never had trouble waking up for the morning sessions. It was also incredibly easy to wake up at 6 AM on Monday morning (effectively 9 AM to me) and get a decent spot in the keynote line.
  3. I’m glad I took a few risks with session selection, preferring to be in a session for every timeslot (hey, gotta get your money’s worth). Even if there was nothing in that slot that seemed extremely applicable to my current development, I’d pick one that seemed tangentially related. I learned a lot more than I expected from these “fringe” sessions.

Overall, I’m impressed with WWDC, and I’ll almost certainly go again next year. If you’re a Mac or iPhone developer, and you can find a way to swing the (admittedly high) total cost of attending, I recommend it.

Enjoying Apple’s latest software

I like where they’re going with all of this stuff.

A major turning point

According to this week’s podcast, Jeff Atwood and Joel Spolsky are both getting iPhones.

They’re unique in that they’re both incredibly intelligent and pragmatic, and both are big fans of using Microsoft platforms. But, as they discussed in the podcast, Apple has effectively established a Windows-like pragmatic-developer monopoly for mobile phones: iPhone OS devices are so well-established (although Joel thought the installed base was 4 times smaller than it actually is, and he seemed to think he was overestimating) with such consistent and capable hardware that it will usually be impractical and uneconomical* for an application developer to target any other mobile platform.

I love watching how quickly allegiances and positions change when developers get smartphones with sophisticated hardware and excellent development tools.

I predict Jeff Atwood will own a Mac within 6 months. On that day, I also expect pigs to fly over frozen hell, holographic storage to be released, Leo Laporte to record a fast-paced 12-minute podcast episode, and Steve Ballmer to say something intelligent to a reporter.

* I didn’t think this was a word, but OS X’s Dictionary says it is, so I’ll stick with it.

Why don’t I leave iPhone development?

My WWDC App Store post has received a lot of traffic over the last day, and many readers have emailed or commented a response to the effect of “Why don’t you leave iPhone development and switch to [Android/Pre/RIM/other]?”

It’s simple, really: I believe iPhone is the best mobile platform out there by far, as both a user and a developer.

I’m a huge fan of Apple and almost everything they make because they have an incredibly effective design process and release strategy that facilitates the creation of consistently great products. Even when they screw up, the magnitude is usually far lower than with other software companies: I’d rather use Apple’s worst than Microsoft’s best.

I won’t develop for other mobile platforms because I’m not interested in using them. I can’t develop great software for a platform I don’t use.

iPhone OS, as at platform, is incredibly attractive to developers for nearly every reason, and Apple has done an incredibly good job with it. The lack of other serious flaws disproportionally focuses the complaints on the few that remain, and the largest one to many developers, myself included, is the current app review system.

App review isn’t inherently a flawed concept — the current system just has some problems. Apple has fixed many of the problems we’ve had so far, but this is the one glaring exception that, despite what may be happening behind the scenes, appears to the public as if it needs the most help and is receiving the least attention from Apple.

I think, and hope, that I’m wrong about that and that all of this silliness will soon be in the past.

One unexpected disadvantage to using Safari instead of Firefox as my default browser: most of the core icons in my Dock are now blue, making them more difficult to quickly and automatically distinguish without slowing down for a closer look. Firefox’s big orange icon was much easier to spot almost instinctively.

At least I have my trusty Butters Bear Adium icon, in use since 2004, to break up the blue a bit.

I love Mail.app and this buggy IMAP account. I apparently have 5 unread messages somewhere. Or is it 4? Or maybe it’s 2^32 - 5393? Regardless, I can’t find them anywhere.

The really fun part is that, on three different computers, these numbers are all different. On one, it works perfectly (at the moment) and reports no unread messages. These persist through Synchronize and Rebuild commands.

Tips:

  1. Consolidate your email accounts. Mail.app is a bit buggy with handling multiple IMAP accounts.
  2. Don’t use Webmail.us/Mailtrust/Rackspace Email if you plan on accessing it via IMAP.

How is MobileMe mail these days? Reliable and fast enough to use as your only account with all others autoforwarding to it? (From what I’ve heard and observed, Gmail and Google Apps For Your Domain are actually not reliable enough for that.)

For the curious: the Marco.org IMAP is hosted by FastMail, and other than the annoying greylisting and the occasional spam-filter vacation (where it just stops filtering and delivers a ton of spam for about 15 minutes), I’m mostly happy with it — but not happy enough to ignore other good options.

So that’s where the U.S.S.R. is! I always have trouble finding it on Google Maps.

Park Slope has a lot of schools.

This is just sad. I hope I never need to run such awful, desperate ads on anything I create.

From an Ars Technica RSS feed, as shown in NetNewsWire.

Fun!

On iPhone OS 3.0 tethering hacks

I’m not enabling tethering on my iPhone for two main reasons:

  1. I already have a Verizon USB EVDO card, and it’s a ton faster. If you need to use tethering frequently in the U.S., eat the cost and get one of these.
  2. AT&T’s network is complete garbage for high-speed data in nearly every crowded metro area, especially New York. Semaphore flags would be faster with less packet loss.

Tethering on AT&T isn’t worth the effort if you actually need to use the connection regularly.

And yes, we’re also introducing another vocabulary word with Pizza Hut, which is ‘The Hut.’ That ties in nicely with (today’s) texting generation.

Pizza Hut’s possible rebranding to “The Hut” (via Lee)

Did anyone at Pizza Hut consider the possibility that fewer people are eating there because the food isn’t very good and is incredibly unhealthy, which people are finally starting to care about a little more, rather than the restaurant’s name being one word too long for the “texting generation” to handle?

Kevin: “Country breakfast”.

I’ve added my annotations to illustrate the wonderful health value of what a lot of people eat for breakfast on a regular basis. Enjoy!

The economics of In-App Purchase

With iPhone OS 3.0, Apple introduced in-app purchasing. The idea is that applications can charge for additional functionality (or game levels), content subscriptions, or pay-per-use features.

There are two interesting caveats, though:

  1. An app can only offer in-app purchasing if the app isn’t free.
  2. Content within the app can be priced on a timed subscription (e.g. a month’s worth of ESPN-something for $5), but the app itself cannot. Based on comments from Apple, some level of basic functionality seems required without subscription charges. (The specifics of this, as usual, are a mystery to us. But I’ve written enough about that for a while.)

The latter is a fairly straightforward restriction: no subscription-priced applications. I can’t charge $1/month for a social farting to-do flashlight. I need to charge only once for the application — say, $1 — and have it work forever as promised. But then I can offer separate buyable features (Twitter integration?) directly from the app, and maybe, under some very vague guidelines, I might be able to time-limit those and charge you $3/month for them.

But the former restriction — only paid apps can charge for add-ons — is much more interesting. Because without that limitation, we could have solved one of the biggest problems for publishing in the App Store: the ability to offer a demo for customers to evaluate before buying.

We’ve faked it so far in two ways:

By imposing the free-stays-free rule on in-app purchase, we can’t offer a free version that you can then upgrade from within the app itself. But I don’t think that’s a problem that Apple intends to solve.

But it will further entrench a growing App Store reality: a price of $0.99 for nearly every app.

Free apps will move in droves to $0.99 so they can start using in-app purchase. And many paid apps will drop from higher prices to $0.99, hoping to drive up sales volume and sell additional features later, possibly by subscription, from within the app.

I bet, by next summer’s iPhone launch, nearly every major app and game will cost $0.99.

And that may not be a bad thing. Even if only half of Instapaper Free users had paid $0.99 instead, it would dramatically exceed the revenue from Instapaper Pro.

We may be about to see a lot of Free/Lite apps disappear.

It’s fun seeing how many pizza places in the NYC area are called Sal’s.

3GS impressions and predictions for next year

This thing is fast. Insanely fast. And the camera is really much better. Video is also a nice touch, although in practice, having a variable-focus still camera with spot metering (!) is of much more frequent usefulness. This is clearly the best that today’s hardware can offer in such a small package with such low power needs.

In fact, I’m hard-pressed to come up with realistic additions or improvements that will be extremely compelling upgrades for next year’s presumed summer iPhone hardware update. The CPU and GPU can easily have a 2-year lifespan (like those in the original iPhone and iPhone 3G). My biggest complaint, the camera, was sufficiently fixed with good hardware and excellent software.

Let’s look at the common hardware complaint list from the original iPhone:

Then the iPhone 3G came out and fixed all four, so we had to come up with something else to complain about:

The 3GS fixed everything except the battery life, and two of its coolest new features, the magnetometer and the speed boost, weren’t even directly requested by most people. The only remaining complaint now for next year’s iPhone to solve is:

But battery life alone won’t drive a lot of upgrades. So I’m guessing that next year’s iPhone update will be minor — maybe a die shrink on the CPU/GPU or more chip consolidation to reduce power draw and make room in the case for a larger battery.

It might be used as an opportunity to announce new carrier availability. But next summer is still too early to deploy an LTE-only phone, so I’m going to go out on a limb and say that next summer’s major iPhone release will be a Verizon CDMA/EVDO version.

It’s the perfect opportunity: they don’t need to do much else to the hardware for a while, so if they were going to plan a parallel model line for a different wireless technology, this seems like the perfect time to do it. And it’s clear that Apple is trying to distance themselves from AT&T and possibly get out of exclusivity deals earlier than planned (if they’re still in them). And AT&T is clearly holding them back: want to know why we don’t yet have a front-facing camera for video chat? Because there’s absolutely no way AT&T has the network capacity for that.

Over the next year, with the $99 3G, Apple is going to saturate the U.S. GSM market — the only major reason why a lot of people don’t buy iPhones is the AT&T requirement.

To continue U.S. growth and prevent competition from running rampant, they must be on Verizon. Apple knows this, and you can be damn sure they’re going to do their best to beat the Pre there. (Imagine how different the Pre’s first year would have been if it was Verizon’s exclusive instead of Sprint’s.)

Why not wait for LTE? Simple: Apple needs a Verizon version next year, and LTE won’t be deployed well enough by then to make a high-profile device LTE-only (since it wouldn’t be able to roam or fall back to CDMA). Even with Verizon, everyone’s patron saint of network coverage and quality, large-scale technology shifts take years. I got my first EVDO phone in 2005, right when Verizon was starting to deploy EVDO on a large scale. That was 4 years ago.

Verizon users: How many years ago would you have confidently purchased an EVDO-only phone that couldn’t fall back or roam on CDMA? Would you even do it today?

Since Verizon hasn’t even begun production-level deployment of LTE yet (as far as I know), there’s absolutely no way that an LTE-only phone will be practical for at least 2-4 years. Apple can’t wait that long before making a Verizon iPhone regardless of what Tim Cook implied on that earnings call.

myeviltwin:

Finally moved iPod out of my iPhone dock because, um, I barely use it and SMS is a major part of my regular communiques. Also I never listen to voicemail.

Since you’re a voicemail slacker like me, I suggest PhoneTag, a service that intercepts your voicemail and instead sends you an email with a human-done text transcription and the audio as an MP3 attachment.

Then they become emails that you can quickly skim (and possibly ignore).

The only disadvantage is that it completely takes over from the built-in voicemail, so voicemails will no longer go to Visual Voicemail at all. It was worth the trade-off to me.

Allison Weiss — “I’m Ready”

Instead of watching TV or playing Grand Theft Auto, work on your idea. Instead of going to bed at 10, go to bed at 11. We’re not talking about all-nighters or 16 hour days – we’re talking about squeezing out a few extra hours a week.

37signals on not quitting your day job

(via justinday)

Michael Jackson’s Moonwalker for Sega Genesis. This was actually kind of a fun game, decent visuals for the time too.

I was hoping someone would post this. It has quite a history — it was a bestseller for the Genesis, then during his first child-weirdness scandal in the early 90s, it was permanently pulled from the shelves.

The point of the game is for Michael Jackson to kill bad guys and zombies by dancing and kicking magic dust at them in order to rescue young children who are inexplicably hidden in closets in nightclubs and graveyards and are suddenly very happy to see him (“Michael!”) before his monkey comes and sits on his head and points him to the boss which is actually just a large collection of bad guys or zombies who can all be simultaneously killed by engaging in a brief coordinated dance routine with Michael Jackson.

It’s weird. It’s creepy. It’s comically absurd. It really doesn’t seem like kids belong there. Yet, I can’t see anything malicious about it — I’m not even sure that anything here is inappropriate. But it seems like something about it should be, which maps eerily to the tragic battle that Michael Jackson had fought against society for nearly two decades.

I won’t remember Michael Jackson for most of his music, directly — but it will always be fun to load Moonwalker into a Genesis emulator every five years and remember this odd game that depicted, with probably unintentional accuracy, this odd person.

Dear internet “social media experts”:

I really, really don’t care which office or restaurant you’re sitting in and checking into Foursquare from.

It’s important to balance the abundance of cheap, widespread internet publishing with appropriate considerations for your intended audience. If you’re trying to be interesting to anyone beyond… yourself, you have to consider whether anyone else in the world will benefit from spending a tiny slice of their time learning where you’re having coffee or holding a meeting.

This isn’t to say that such posts can’t contain other value. On the contrary, many of my favorite internet writers (like meaghano) write amusing, insightful, or touching stories around the trivial task of getting coffee. But when you tell Foursquare or Brightkite to automatically publish your location to Tumblr or Twitter, that’s not adding any value.

If your location isn’t interesting enough for you to manually write a post about it for some reason, why should your audience spend their time reading about it?

Use SSH tunnels?

I just discovered autossh, an SSH parent process that automatically reconnects and re-establishes tunnels if they disconnect (and nicely detaches into the background with -f without needing nohup or &).

For easy installation and management, it’s in the Dag Wieers/rpmforge repository for yum and the default repository for MacPorts.

I wonder if “Firefox.next” will be able to print reliably without crashing. Because that’s still a problem in the latest 3.5 builds, along with most of the interface bugs and incorrect OS X behaviors.

But that’s not fun for developers to work on. So they don’t. And the same annoying bugs persist in Firefox for years. Printing hasn’t worked reliably since 3.0. The interface, especially context menus, window placement, and tooltips, has been extremely buggy for Firefox’s entire existence.

They keep making things Awesome™ for the fringe of uber-power-users instead of fixing the common issues that frustrate everyone else and drive average users away from Firefox every day.

I can tell my audience is growing by the amount of trolling I get on each post.

Gruber must get some amazing emails.

Ads via The Deck