Dev @ MacBlogs.org
Last updated: February 25, 2010 11:03 PM

February 25, 2010

Michael Tsai

Erotica App Store Rejection

António Martins & João Reis (via Jonathan Rentzsch):

We’ve decided, therefore, to write this open letter exposing what we consider a misjudgment and huge discrimination, specially if you compare it with current Apple iTunes Store contents like L World, Californication, Sex and the City, Bikini Blast, Top 100 Models or Good Luck Chuck.

by Michael Tsai at February 25, 2010 10:45 PM | Bookmark with del.icio.us

Scripting News

Next problem. Not sure if Lookout is bundled or if I'm getting this because I had it installed on my previous Droid, but I don't remember the password, and it's in the "Ongoing" section of the Notification dropdown menu, and near as I can tell there's no way to get rid of it. Pretty insidious.

Next problem. Not sure if Lookout is bundled or if I'm getting this because I had it installed on my previous Droid, but I don't remember the password, and it's in the "Ongoing" section of the Notification dropdown menu, and near as I can tell there's no way to get rid of it. Pretty insidious.

February 25, 2010 09:17 PM | Bookmark with del.icio.us

February 22, 2010

Ranchero

Two upcoming iPhone dev conferences

In April I’ll be going to two iPhone/iPad developers conferences: iDev 360 in San Jose and Voices that Matter in Seattle. (I’ll be speaking at 360 iDev. For the Seattle conference I’ll be playing the part of a local, since, well, I live in Seattle.)

February 22, 2010 09:08 AM | Bookmark with del.icio.us

Inessential

Voices that Matter iPhone conference - Seattle, late April

Join me at Voices that Matter iPhone Developers Conference

I missed the Voices that Matter iPhone developers conference last year in Boston — but I heard great things about it, and I ended up being sad I missed it.

Then just recently I heard the next one is in Seattle, which is where I live. Not going to miss it this time, no way. :)

Let me get the money thing out of the way: use the discount code PHBLOGS when registering to save $100. Register before March 12 for early-bird pricing to save another $200. That’s $300 total, ’kay?

About the conference

It’s put on by our friends at Addison-Wesley — the idea is that the speakers are the folks who literally wrote the books on iPhone development. Folks like Aaron Hillegass, Jonathan Wolf Rentzsch, Kevin Avila, and more.

Aaron Hillegass, by the way, taught a ton of people Cocoa programming in person — and the ones he didn’t teach in person he taught by way of his Cocoa book. Me included. Aaron is responsible for just about everything and everybody.

I’ve seen him talk — and he’s so damn good.

About Seattle

Have you been to Seattle? It’s beautiful. Green. Lush. Alive. Waters fresh and salty plus two nearby mountain ranges plus a view of the tallest mountain in the lower 48 states.

The conference is on the waterfront at the Bell Harbor conference center. I’ve been to two Gnomedex conferences twice at that same location — it’s very nice, with a view of downtown, the waterfront, Elliot Bay, and the Olympic mountains.

The conference hotel is the Edgewater. The Beatles stayed there in like 1964 or something. In those days they used to give you fishing poles so you could fish from your hotel room.

About the Seattle Cocoa community

I don’t know who all of the locals are going. (I hope they all are.)

You might even wonder if there are any locals. Seattle’s gotta be a Microsoft town, right?

But here in the shadow of Mordor we’ve got a pretty hot bunch of developers. By way of proof I could just mention the magic kingdom of Omni and be done.

But there’s also the cool cats at Rogue Sheep, the amazing Flying Meat (Gus Mueller), Joe Heck (ringleader), some Cocoa-y Google folks, the madmen at Black Pixel Luminance, the unclassifiably hip Corporation Unknown, Professor Hal Mueller, the artisans at Zumobi, and plenty more.

After hours

I’m thinking pinball at Shorty’s. (Not like it’s the only place in town. But don’t us geeks love pinball? And it’s walking distance — just up the hill from the Edgewater.)

Anyway, that’s the scoop. Come to my neck of the woods for a change, wouldja?

February 22, 2010 08:30 AM | Bookmark with del.icio.us

360 iDev iPhone/iPad Conference - San Jose, April

Going to the 360 iDev iPhone conference?

I am. I’m speaking, even, on the topic of content-based apps. (On feeds, XML parsing, performance, networking, the beauty of NSOperationQueue, image caching and scaling, SQLite and Core Data, etc.)

I went last year to the San Jose conference and then to 360 iDev in Denver. Had a great time both times and totally look forward to this conference.

The iPad should actually be out by then, which is cool — I don’t know exactly what iPad content is lined up, but I have to figure lots of speakers will incorporate iPad into their presentations. And I bet lots of folks will bring iPads with them. I want to go just to see a whole bunch of people’s iPad apps and ideas.

I think it’s the first iPad conference with actual iPads. That’s kind of like Woodstock, right? I don’t want you to say you were there when you weren’t really there — you should actually be there.

Not enough? Here are some other randomly-jotted notes, then...

  • It’s near Cupertino. One night we all go over to Steve Jobs’s house for barbeque and Cuban cigars. It’s totally chill. (Wait. Okay. Maybe not. But it is near Cupertino, though.)

  • Last year I almost got in a fight at Linda’s Light Rail Lounge. Lesson learned: don’t ever joke about NASCAR with somebody who cares. He said he liked so-and-so as a great driver, I said something about Jeff Gordon (the only driver’s name I know) — and apparently the guy thought Jeff Gordon was a sissy or something. I had to talk fast. It’s possible that I bought him a drink, or maybe Joe or Dan handled it and saved me.

    What I mean is this: you and me, we should hang out.

  • My friends Brad Ellis and Dave Wiskus — great designers — are doing a co-presentation on something designer-y-ish.

    Don’t know who they are?

    Check out some apps Brad’s worked on: Apple Design Award winner Postage, Word Spin, and SnoGlobe.

    And check out apps Dave’s worked on: Coathangr and the wickedly addicting Typewar.

  • Oh, whatever, shut up, at least it’s always open.

  • Marcus Zarra will be there. And speaking. Don’t miss your chance to hear from the double-fisted wizard of Cores both Data and Animation.

  • Colin Donnell will be speaking. He has great hair and brains to match.

  • I sometimes judge a conference by who I met and keep in touch with. Last year I met Ryan Nielsen and the previously-mentioned Dan Burcaw.

  • In fact, the conference has such great mojo that last year Dave Wiskus was in town — for other reasons, only coincidentally in San Jose — but he hung out with us at night. And a year later he’s a successful indie iPhone developer and a speaker at 360 iDev. Imagine if he had actually attended the conference. He’d probably be an App Store billionaire by now. (Which is just $150 million in regular money, but still nothing to sneeze at.)

    (That App Store money thing didn’t make any sense. Sorry.)

    What I’m saying is: this conference has the power to launch entire careers!

  • Check out the entire list of speakers. Julio will be there! Joe-with-the-hat! More! It’s a great line-up.

  • TapLynx is a sponsor. That means, yes, we’re paying for some of your fun and awesome learnings. :)

  • It’ll be months before WWDC. Hard to wait, right? Especially with all this cool iPad grooviness.

Anyway... you should go to the website and check it out. Here’s the registration page.

Also, they might set up Rock Band again. You haven’t lived till you’ve seen Joe Pezzillo do No Sleep Till Brooklyn. You can hope.

February 22, 2010 04:33 AM | Bookmark with del.icio.us

February 20, 2010

NSLog

Dummy’s Guide to Buddhism?

This is a bit of a follow-up to my post from yesterday

I've read (or will read in more depth) Dan Benjamin's posts on Buddhism, but they're more so about meditation than Buddhism in general.

I'd like to read a bit about Buddhism - not so much the ancient stuff, any conflicts, etc. - but about modern Buddhism and how it can be applied in a Western world. I'm aware that there are several variations of Buddhism, and I'd like to look at those and see if one stands out as "making more sense" (and/or being more practical). What separates the variations?

Meditation will likely follow, as it's a part of every form of Buddhism (so far as I know), but for now it feels like I'm getting ahead of the game. Is there anything like the "Dummy's Guide to Buddhism"?


© iacas for NSLog();, 2010. | Permalink

by Erik J. Barzeski at February 20, 2010 03:01 AM | Bookmark with del.icio.us

February 18, 2010

Michael Tsai

Aperture 3 Merging

Joseph Linaschke:

The handling of multiple changes is astonishingly good. Let’s say you crop photo_01 in the desktop library, and adjust exposure on photo_02 in the mobile library. Then let’s say in that mobile library, you add metadata to the same photo_01 file that was cropped in the desktop library. When you merge the libraries, everything is synced correctly—the desktop-cropped photo_01 will gain the metadata added to the same photo_01 in the mobile library; the exposure adjustment on photo_02 will be applied.

by Michael Tsai at February 18, 2010 09:53 PM | Bookmark with del.icio.us

NSLog

Christianity == Buddhism == God is in our Minds

I didn't expect The Lost Symbol to change my life. I just started reading the book a few days ago, but as is the case with escapist type literature, it's best read in large doses so that you can remember the details and really almost transport yourself into the story. It's not the type of book you need to put down and think about.

If you've not read the book but want to some day, you may want to stop here.

However, the denouement contains some interesting tidbits that really say a lot - to me - about Christianity. These parts essentially put forth the idea that 99.99% of Christians have it wrong - that there really is no "God" per se. Rather, "God" is the "global consciousness." That each person is a god or is capable of becoming a god. There are several passages in the Bible - and many other religious texts - which refer to the body being a temple, and to look within yourself, and to become "one" with some sort of spiritual force.

Of course, there's a bunch of junk science and stuff thrown in there too, but if you can get past the parts about how one character "weighed a human soul" the last few chapters are fairly riveting from a thought experiment standpoint.

I've never studied the Bible very much, so for all I know Dan Brown made a bunch of stuff up, or relied on coincidence or distorted things, but I know enough of the phrases exist and even if they didn't, seemed to connect some dots.

The problem with Christianity may very well be that it's practiced by human beings. I've never gotten really deep into studying the Bible because most of what I'd heard of it came from people who were trying to teach it to me - in Sunday school, chats with friends that lasted for hours, etc. Not once did their interpretations resonate with me. Not once did I care about the differences between the thousands of different forms of Christianity - who cares if one group believes you should wash your feet before you take communion?

I've long believed that the Bible, written by man, is a book of parables, a book of allegories, a book of riddles and rhymes. I've rejected out of hand the fundamentalist beliefs that it's to be read literally. And given this, that makes Christianity the practice of properly interpreting the stories, riddles, rhymes, parables, and allegories.

The Lost Symbol puts a new twist on this - for good or bad - and frames the Bible in such a way that it can be interpreted in an entirely different way. There's a commonality in those thousands of variations of Christianity - that there's actually some "God" somewhere - that's entirely different from the concept of "thought" or "consciousness" being a "god" that each of us possess.

Every religion in the world is after the same "truth." I've long found it, well, stupid that one faith belittle another faith or say "unless you believe as I do, you aren't going to heaven." I said it a few days ago: no god worth believing in punishes people for seeking the truth.

If one best interpretation of the Bible is that that we're all gods and it is our global, international human collective that makes us so, then that makes a lot of sense to me. It not only drastically closes the gap between, say, Christianity and Buddhism and every other religion (that I know of), but it makes Christianity itself a lot more powerful.

Part of the problem I have with Christianity is that its practitioners often seem at odds with things I accept as fact. They cannot fathom an instance in which, as I wrote before (first link) that God created the Big Bang. Some try to tell me the earth is 20,000 years old and that man has never changed form - we've always looked like we do now, for the most part, and that we certainly didn't come from apes.

Yet The Lost Symbol contains a sentence in which one of the characters says that "God's image" (because mankind was created "in God's image") isn't our physical form, but rather our mental form. It's our minds that God created in his image - our bodies are simply the ways to access them.

To say that I've "believed" in a spiritual system at all is a bit of a stretch - the system I talked about a year ago was more like a pet thought experiment than anything "real." Yet even that system speaks to some level about the mind's quest for peace and eternal happiness. There's no "God" in my pet system - just a similar global consciousness and a lot of emphasis on the mind or soul as the "key" piece.

In a perfect world, I could explore this stuff for the next week, month, or decade. I could seek out people to talk to, I could read extensively, and so on. But this world isn't perfect, and doing all of that is not only impractical but selfish. I have money to make, family to enjoy, and food to eat. :-P

For now, though, it's something to think about. I wonder, as I write this, if I'll be making fun of myself in a few days for attributing so much to such a book, but I suppose I'm not really - it simply served as a catalyst of sorts to a lot of thought.


© iacas for NSLog();, 2010. | Permalink

by Erik J. Barzeski at February 18, 2010 02:17 PM | Bookmark with del.icio.us

Michael Tsai

Dividing by Multiplying

Peter Ammon:

Every divisor has a magic number, and most have more than one! A magic number for d is nothing more than a precomputed quotient: a power of 2 divided by d and then rounded up. At runtime, we do the same thing, except backwards: multiply by this magic number and then divide by the power of 2, rounding down. The tricky part is finding a power big enough that the "rounding up" part doesn't hurt anything. If we are lucky, a multiple of d will happen to be only slightly larger than a power of 2, so rounding up doesn't change much and our magic number will fit in 32 bits. If we are unlucky, well, we can always fall back to a 33 bit number, which is almost as efficient.

by Michael Tsai at February 18, 2010 12:27 AM | Bookmark with del.icio.us

Google Buzz

Kontra:

Unsure of its ability to successfully roll it out as an independent product, Google must have then decided to force feed Buzz through its Gmail user base of 175 million. Google executives likely reckoned that in a single day Buzz would garner more users than Twitter has been able to in two years after all that celebrity publicity. That really is why Gmail users woke up one day to find their private account details exposed to the public, unannounced and unprepared, because without such default exposure Google executives likely didn’t believe they could deliver a critical user base for Buzz. That’s not “improper testing,” it’s a platform strategy.

by Michael Tsai at February 18, 2010 12:18 AM | Bookmark with del.icio.us

February 17, 2010

Michael Tsai

Aperture 3 Faces and Storage

On the whole, I’m very happy with the new features and interface improvements in Aperture 3. Many of the changes have been discussed elsewhere, however I wanted to mention a few points that I haven’t seen covered:

Face Detection

I’ve been putting off keywording people in my photos because I assumed that face detection was on the way. Now that it’s here, I’m not sure how much I’m going to use it.

In one of my projects, the faces were totally messed up. Aperture detected “faces” in solid-color areas near the corners of the photos, completely ignoring the prominent people in the middle of the frame. I manually added some faces, drawing rectangles and naming them, but Aperture forgot this as soon as I clicked on another photo in the browser. The only way I could get faces to work with this project was to delete the versions and re-import the masters. Luckily, these versions did not yet have any keywords or adjustments because they would have been discarded.

In my other projects, at least the dozen or so that I’ve gone through since upgrading, the face detection seems to be working properly, pretty much like in iPhoto.

Face Naming

There was some confusion when multiple people had the same first name, or the same first and last name with different middle initials. Also, the Address Book integration didn’t quite work the way I expected. Now that I see how it works, I think it’s adequate, but I would rather that Aperture not get cute and try to abbreviate to ambiguous first names.

The “Unnamed Faces” strip doesn’t seem to offer a way to zoom out or jump to the original photo. As a result, there are some faces that I can’t identify because I can’t see enough context. I don’t want to click Skip, because then how do I get back that list of untagged faces? But if I don’t click Skip, it seems the strip will be forever filled with those same unnameable faces.

Face Storage

Aperture uses a sensible storage model (which I first saw in Mail and copied for EagleFiler) where an “index” database is used for speed but the data and metadata are stored in flat files and XML. If the database is deleted or damaged (or not backed up), the data and metadata remain intact, and the database can be reconstructed from the other files.

Unfortunately, this does not seem to be true for faces. It looks as though Aperture stores the face information in the Faces.db SQLite database but that it does not save it in the XML files along with the other metadata. (It does export faces as keywords in the JPEG files, but that’s not particularly helpful when reconstructing a library.) This makes me wary of spending lots of time tagging faces and possibly losing that work if there’s ever a problem with my Faces.db.

I’m considering using the face detection to aid in assigning keywords. However, there doesn’t seem to be an easy way to generate and assign keywords from faces (other than exporting) or to assign faces from keywords (if I were reconstructing a library where the face information had been backed up in that way). It’s a shame because, although Aperture has good support for keywords, the faces feature is better suited for tagging people (though, alas, faces don’t show up in the various metadata displays).

Core Data

Aperture 1 and 2 used Core Data, but Aperture 3 seems to have dropped it in favor of using SQLite directly. As a user, this doesn’t particularly matter to me, but as a developer making heavy use of Core Data I wonder about the reasons for the change. It’s curious that Mail, iTunes, iPhoto, and Aperture are highly visible “database” applications, none of which use Core Data. Does Apple think that Core Data is the wrong kind of technology for these applications? Or are there limitations/flaws that make the dog food unpalatable? My hunch is that for what Mail needs to do it’s more efficient to use SQLite directly. However, Aperture seems like exactly the kind of application that Core Data was intended for.

Backups

The folder structure inside the library package has been improved so that Time Machine backups should be much more efficient, especially if you rearrange your projects and folders. The thumbnails are now excluded from Time Machine backups, as is the BigBlobs.apdb. Other large database files are included, however: Faces.db, History.apdb, ImageProxies.apdb, Library.apdb, and Properties.apdb. My guess is that, except for Faces.db, these could all be reconstructed, so I’m excluding them from my CrashPlan backups.

Performance

Even after face detection completed (and I rebooted), Aperture 3 seems slower and more RAM-hungry than ever. I’m using a 2009 MacBook Pro, maxed out with 4 GB of RAM, and my library has about 34,000 versions. Aperture 2 was sluggish at times but bearable. Aperture 3 often locks up itself—and the rest of my Mac—for seconds or minutes. I’m going to see whether DiskWarrior helps.

by Michael Tsai at February 17, 2010 09:59 PM | Bookmark with del.icio.us

NSLog

Facebook?

How much do you use Facebook?
View Results

FWIW, I chose "a little" because I rarely post, though I check the home page and two other pages (both golf-related) several times per day. Quickly.

I don't use any real applications and I typically hide everything I can, like gifts and other apps people are playing.


© iacas for NSLog();, 2010. | Permalink

by Erik J. Barzeski at February 17, 2010 03:22 PM | Bookmark with del.icio.us

Civic Duty for $9 Per Day

Yesterday afternoon I called in, at 4:30 as directed, and listened to the message. My heart sank jut a little: the number printed on my jury summons was well within the range that was obligated to report the following day.

I reported at 8:30 with a copy of The Lost Symbol on my Kindle and a copy of The Golfing Machine in hard cover.

I found my way to the proper room - room 211 - without any trouble. I told them my name and they gave me form to fill out along with an "Erie County JURY" button I was told to wear on my chest at all times.

I wasn't asked to produce ID. In fact, at no point in the day was my ID confirmed.I took a seat in the corner of a large room. I was roughly 35th of about 100 people that would eventually show up. I filled out my form - which asked me questions like "I believe that a police officer is more likely to tell the truth" (Yes/No) and general questions about my job, my home county, etc.

At no point was I told to turn off my phone, so I got on Facebook and posted an update about how there were no minorities. Eventually two arrived - out of about 100 people.

We watched a video with a local judge telling us about the process we'd endure today. I found it odd that he made a point of saying that there was nothing you could say to guarantee you'd get on - or not get on - a jury. Apparently a lot of people really want to be on a jury. Weirdos. ;-)

The woman who was running the whole thing - the "jury coordinator" or something - told us that we'd be given $9, that parking was only $3 if we had our tickets stamped, and that taxes wouldn't be withheld so we had to make sure to declare the nine lousy dollars on our taxes. I kinda wish I had the chance to decline the $9 just to avoid the hassle of declaring it as miscellaneous income.

Cue up another hour of waiting. By this point it's 10:00. 35 or so people's names are called and they're pulled to go to jury selection.

Half an hour goes by. I'm pulled - as the 32nd of 35 potential jurors - for an aggravated assault case from in front of a club in Erie in May, 2009. Both lawyers were given the chance to ask us questions like "do you have any physical ailments that would prevent you from being able to do this?" or "have you or anyone close to you ever been a victim of an assault?" Of those who raised their hands, all were asked if they could put that aside and render an impartial decision. Both took steps to clarify that everyone should have chosen "No" to the policeman question.

The entire time the defendant was seated at the desk on the right side while his girlfriend/wife and two small children were seated behind him in the gallery where all of us were seated.

After conferring for 45 minutes, the two lawyers passed their final list on to the judge's assistant (I'm sure she has a title, but I'm going with "assistant" for this). Names were called out and jurors were selected. They got to 13 by about juror #26, so the rest of us returned to the waiting room.

After 15 minutes - it was now 11:45 - they came in and released us to lunch. We had to return by 11:15.

I went to find a bank because - stupid me - I'd assumed parking was free for jury duty members and I had no cash. I did that, then met up with some fellow jurors at McDonald's. We joked that we were eating there so we could legitimately fake a medical emergency later on. The oddest moment came when the defendant in the assault case came in and sat a table away! Weird…

So we wander back and sit again for another hour. At 2:00, the 50 of us remaining (I was #47 called) were taken to a civil suit trial. A woman was rear-ended at a stop sign, and the defendant - a former police officer and current part-time sheriff (or something) claimed that he had been rear-ended himself, causing the woman's injuries. She supposedly had lower back injuries, had been on drugs, couldn't work the same types of jobs she could before, and so on. Basically, the jury would be responsible for figuring out whether she was full of shit. The accident occurred in 2004 - so I'm a bit surprised it wasn't in court until 2010.

At any rate, the question-and-answer section - voir dire - lasted much longer with 50 people and questions like "have you or anyone in your family or friends ever worked for an insurance agency?" "… in the medical profession?" "… ever had back pain?" "… ever been in an auto accident?" After each person was questioned they were asked and answered the only question that really mattered in the end: can you be impartial?

A good number of people - primarily the ones who had back injuries or were very close to someone with a back injury - claimed that they'd be unable to be impartial. This elicited groans from those of us who couldn't think of an excuse to try to remove ourselves from consideration. :-)

Finally, at 4:30, 14 jurors were selected (ending somewhere around juror #35, leaving plenty of space before they got to me) and the rest of us were excused.

We were told to leave our buttons. We didn't even get a 50 cent button as a souvenir. I joked that maybe if I kept the button, they'd keep their $9. :-P

P.S. One of the jurors looked just like Darlene from Roseanne (or the scientist on Big Bang Theory - the same actress). Just like her. Freaky.


© iacas for NSLog();, 2010. | Permalink

by Erik J. Barzeski at February 17, 2010 12:02 AM | Bookmark with del.icio.us

February 16, 2010

Inessential

Kevin

I got email asking me if I was doing some kind of public shunning of Kevin Ballard. By no means! He’s a totally great guy — smart, friendly, funny, way more interesting than I was at his age — and I’m sorry I didn’t see him at Macworld. It’s just that 1) he’s fun to tease and 2) he’s a super-good sport.

My kind of fella.

Now pretend you didn’t read all of the above. :)

February 16, 2010 08:28 AM | Bookmark with del.icio.us

NSLog

DSLRU Now (Semi-)Open – Private Beta

DSLRU is now in private beta testing. If you'd like an invitation, get in touch with me. The invitations I had previously have been accepted.

One of the main goals? To populate the forum. The forum is 100% free, so if you're looking to get in on a new photography forum, this could be a place for you to quickly become "one of the old timers." :-)

There's no obligation to buy anything at this point (nor will there ever be).

We're going to officially launch when we're comfortable with the feature list and bugs. I don't know when, but sooner is preferred over later, obviously! :)

P.S. If you're interested in selling any courses, you really want to get in touch with me. As with the App Store, it should be good to "get in early" and claim some potentially valuable courses.


© iacas for NSLog();, 2010. | Permalink

by Erik J. Barzeski at February 16, 2010 12:03 AM | Bookmark with del.icio.us

February 15, 2010

NSLog

The Lost Symbol, Christians Thread

Months after buying it, I'm finally going to get a chance to read The Lost Symbol. Though I'm sure a good portion (not to say even 50%) of the "stuff" in the book is grounded in fact, it's still basically purely escapist reading. I wonder, too, if the book follows the same paths as the others: old well connected guy found dead, beautiful daughter/niece helps solve puzzle that takes Robert Langdon all over the world. We'll see.

On the golf forum there's a thread going on about Christianity and I'm impressed with how respectful it's been to this point, though I've got a light trigger finger and will close the thread if it gets out of hand at any point - we don't need to get a bunch of people mad at each other.

But, away from that, some of the points being made in favor of religion are, well, they're stupid. One guy has said that he believes the earth is only about 20,000 years old because "it's common sense." Others are using the Bible as proof of other things in the Bible. They'll then claim - when their logical error is pointed out - that others are relying on books as well (referring to science books, articles, etc.).

A few random thoughts:

  • I've said before and I'll say again that I don't think I'll ever believe in a God who punishes people who never have the opportunity to hear of him. The whole "if you're not Christian you're going to hell" thing has to be bullshit because some people are never even exposed to the idea of Christianity - why would some good God punish them? If that's the case, that God isn't worth believing in to begin with.
  • Evolution is fact. The Big Bang Theory is not, but what's to say God didn't create the Big Bang, too? Heck, in some ways, "God created the Big Bang and knew of everything that would come after it, because he designed it all to happen" is, in many ways, far more awesome than "God created an earth and put people on it."
  • The Bible was not written by God himself. It was written by people. It's a book of stories, people, c'mon.
  • My one comment in the thread was something along the lines of "Religion is faith in the absence of fact, not faith in spite of fact." The earth is not 20,000 years old. If your religion teaches you that, you need to rethink some things.

My thoughts remain fairly similar to what I wrote about a year ago. And a friend even included that video in the thread.


© iacas for NSLog();, 2010. | Permalink

by Erik J. Barzeski at February 15, 2010 12:06 AM | Bookmark with del.icio.us

February 14, 2010

Inessential

Email sent to a developer on supporting 10.6 and up

The below is an email I sent to a fellow Mac developer on reasons to support 10.6 and up on his next major release. (It’s barely edited: I just changed a couple sentences that would have made identification easy.)

Here are the reasons to go with 10.6 and up:

1. Millions of people are using 10.6. Every new Mac since last September or whatever is running 10.6. Apple is selling lots of Macs. Lots of people have upgraded to 10.6.

2. People who don’t upgrade their OS are, in general, the kind of people who just don’t buy software anyway. (Particularly in the case of 10.6, given how inexpensive the upgrade price was.)

3. Every second you spend dealing with 10.5 (in terms of testing, code, whatever) is a disservice to your customers and your software. It’s very nearly irresponsible.

4. Quality is the most important aspect of your software. Quality drives sales. Dropping 10.5 support means you can spend more time on polish; it means you can use 10.6-only features that make your app better and easier to maintain. Continuing with 10.5 support means that your software is not as good as it could be.

5. Rule of thumb: don’t ever code for a shrinking OS version.

Wayne Gretzky: "I skate to where the puck is going to be, not where it has been."

There will be n 10.5 users on the day the next version of your app is released. The next day there will be n minus some number. A month later it will be n minus some big number — but you’ll still be supporting 10.5, you’ll still be writing software for people who don’t buy software anyway.

There are x 10.6 users today. Tomorrow there will be x plus some number. A month from now it will be x plus some big number.

6. Current users of your app still on 10.5 have a perfectly awesome piece of software to use.

7. If you don’t drop 10.5 now, when do you drop it? On a major release is when it’s easiest, and you don’t want to wait for the major release after this next one.

February 14, 2010 07:33 PM | Bookmark with del.icio.us

February 13, 2010

NSLog

Possibly Developing a Video App

So, for various reasons, I'm looking at developing some basic video software. Or, more likely, hiring someone to do it.

Basically, the software should:

  • Play video at regular speed, slow speed, and allow for frame-by-frame stepping through.
  • Play two separate videos side-by-side within the same window.
  • Allow the video to be repositioned, grown, etc. in the video window to fit the full frame and/or the half frame.
  • Include a few very basic drawing tools.
  • Include the ability to narrate (capture audio).
  • Be able to export to a new video file with all of the above.

In other words, I want to create a Mac version of V1. V1 sells for about $800 but is buggy as shit and can't even rotate a video 90°. Yeah - it's that terrible.

But they've got the market somewhat cornered.

A partner and I would like to work with someone on a Mac version (with a Windows version well down the road) of a simple program that does what it needs to do. I can envision two versions: a "Student" and a "Teacher" edition, selling at perhaps $49 and $299.

Is anyone interested?


© iacas for NSLog();, 2010. | Permalink

by Erik J. Barzeski at February 13, 2010 11:20 PM | Bookmark with del.icio.us

Shipping Routes – PA to NJ to KY to PA

Here's the route my copy of Aperture 3 has (and perhaps will) take. It's unlikely given the times that any of this was flight:


View Larger Map

2/9/2010  10:35 PM - Jonestown, PA (PICK UP)
2/9/2010  10:46 PM - Rutherford, NJ (ARRIVAL ORIGIN DHL GLOBAL MAIL FACILITY)
2/10/2010 12:00 AM - Rutherford, NJ (PROCESSED)
2/10/2010 09:26 AM - Rutherford, NJ (DEPARTURE ORIGIN DHL GLOBAL MAIL FACILITY)
2/12/2010 03:52 AM - Hebron, KY (ARRIVAL DESTINATION DHL GLOBAL MAIL FACILITY)
2/12/2010 06:18 AM - Hebron, KY (TENDERED TO USPS)
2/12/2010 10:02 PM - Warrendale, PA (Shipment Accepted)

Now I'm sure DHL and the USPS know what they're doing, but on the face of it, I'm inclined to think "WTF"?

At any rate, here's to hoping I get my copy of Aperture 3 by tomorrow. But seeing as how it just arrived in Warrendale 45 minutes ago, I wonder if that's unlikely.

P.S. I chose the free, standard shipping option because, in the past, the little things I've ordered from Apple like this have shipped directly from Cincinnati or something, and I've had the items within a day or two. Not so this time.


© iacas for NSLog();, 2010. | Permalink

by Erik J. Barzeski at February 13, 2010 03:46 AM | Bookmark with del.icio.us

February 12, 2010

Michael Tsai

MoneyWell 1.5

MoneyWell 1.5 is a nice update to the financial application that I’ve switched to from QuickBooks. I couldn’t be happier. Previous versions weren’t difficult to use, but 1.5 cleans up a bunch of interface issues that had been slightly bothering me, and it feels much smoother now. Although it’s marketed for budgeting and cash flow, MoneyWell works well as a simple tool for reconciling accounts and keeping track of categories for tax reporting. Unlike QuickBooks, it does not support invoicing, so I’m using Billable for that.

by Michael Tsai at February 12, 2010 06:04 PM | Bookmark with del.icio.us

February 11, 2010

NSLog

QotD: Winter Olympics 2K10

I asked a similar question back in 2006, but here goes:

How much of the Winter Olympics do you plan to watch?
View Results

FWIW, I considered the first two options, but finally went with the second because I plan to watch a little hockey.


© iacas for NSLog();, 2010. | Permalink

by Erik J. Barzeski at February 11, 2010 03:56 PM | Bookmark with del.icio.us

evolvr – Coming Monday-ish

Monday I'm going to be a part of roughly two product launches. One - DSLRU - will launch in the form of a semi-public beta.

The other is one I've worked on with golf instructor Dave Wedzik here in Erie. It's a product I'd wanted to build several years ago, and which had always sort of remained in the back of my mind, but Dave mentioned the idea late in the fall of 2009 and I've pushed hard for it.

The basic idea is that a golfer uploads a set of videos. An instructor critiques the swing, draws on the video, narrates, and types up some notes. Everything (the video, narration, and the notes) are posted back for the user to view, read, and "evolv" as a golfer.

We're using a service called CheddarGetter, and we may have launched a bit sooner, but we need a feature that they say they'll have ready on Monday.

More tk.


© iacas for NSLog();, 2010. | Permalink

by Erik J. Barzeski at February 11, 2010 03:46 AM | Bookmark with del.icio.us

February 10, 2010

Michael Tsai

Idea for Alternative RSS Syncing System

Brent Simmons:

As you can see, the server doesn’t have to do that much. It stores some small bits of data with timestamps. I don’t think it needs any cron jobs (at least not conceptually) — it just responds to requests. It doesn’t even have any idea what this data is about.

Jens Alfke:

You can think of the log file as a queue or message stream that’s being collaboratively read and written by all of the clients. This sounds like something you’d need a fancy web-app to manage, but it turns out that all it takes is a typical HTTP 1.1 server and a trivial server-side script.

It’d be nice to have an alternative to Google Reader.

by Michael Tsai at February 10, 2010 08:49 PM | Bookmark with del.icio.us

Inessential

Advice to new developers on networking

This is for folks new to the Mac, iPhone, and iPad development community who are going to their first conference...

You might wonder if this “networking” thing you’ve heard about is really a thing. “I’ve got Xcode,” you think. “Do I really have to, you know, meet people and stuff? Isn’t networking something my Dad did? What about the meritocracy?”

While you’re busy asking yourself questions, other people are having a good time.

Here’s the deal: you don’t actually need to know anybody else to be successful. You totally don’t. It’s fine.

But it helps.

It’s not really networking, anyway. Or, at least, I’ve never gone into a bar or a party thinking I’ll advance my career or my software. That would be weird and yucky.

Rather, there’s a great community of developers and journalists and bloggers, and they’re roughly in your age range, and you have some interests in common, and almost everybody is nice, and — hey, it sounds like kindergarten, I know — but you can make friends.

That’s all there is to it. It’s not networking: get that dumb word out of your head.

Okay, here’s some practical advice.

Two types of geeks

The first type is exactly what you’d expect: they’re the technologists, the guys who would invent computers if they didn’t already exist. On their nth beer they can discuss the fine points of objc_msgSend_stret().

While they’re talking to you they’re also, in their heads, optimizing the queueing algorithm at the bar, writing their first quantum computing application, and stepping through the code they wrote just an hour ago.

The second type is tech-inflected liberal arts types. (I sometimes wonder if this surprises new computer science graduates.) Journalists and bloggers are often of this type — but a perhaps-surprising number of developers are too. They’d rather discuss Gogol and Gaga, Kafka and Kubrick, Borges and Black Eyed Peas.

What both types have in common, though, is Apple products. “Hey, how ’bout that iPad, huh?”

Both types also love well-designed software.

Some things not to do

Remember that everyone sits at their desk most of the time working on hard things. But not at the moment you’re talking to them. At that moment it’s time to have fun, take a little break from the hard things.

I think many of the technologists can deal with bug reports and feature requests in person. For others it’s too much like being back at the desk. (For me it is, anyway.)

I don’t know anybody who likes being cornered or monopolized, or who can stop what they’re doing to spend 30 minutes looking at a demo.

What you should do

Remember that all geeks are shy, just like you. Even the boisterous ones. Or especially. The word “shy” is so universally applicable among geeks that it means nothing: it’s no excuse for you or anybody else. (What do you think beer is for? It’s not just a FIFO stack.)

But if someone ever seems stand-off-ish or awkward — take it as shyness. That’s all it is. (Countless times I’ve heard people say “so-and-so doesn’t like me, I think” — when it’s always just that geek social skills are a little rough-edged. Mine included. In some cases these people have become best friends.)

So, yes, remember that they’re all people, just folks, not different from you in some fundamental way.

Though I will caution you not to stare directly into my third eye, or make fun of the extra head on the side of John Gruber’s regular head, or try to grab Wolf’s tail.

And if you think you actually just saw Thor himself, well, yes, but we call him bbum (the Norse god of Tequila).

(And, one more time, though it should go without saying by now — if you find yourself anywhere near Kevin Ballard, just slowly back away and move to the other side of the bar. Don’t move too fast — his eyes are freakishly sensitive to motion. You’ll be okay. Eventually. I know it burns.)

February 10, 2010 08:14 PM | Bookmark with del.icio.us

Last

This is the last Macworld Expo where you won’t see iPads. I’m nostalgic already.

February 10, 2010 06:15 PM | Bookmark with del.icio.us

Ranchero

The Listening Engine

Tim Bray on being well-informed or not: “This might signal a new kind of stratification in society.”

February 10, 2010 04:58 PM | Bookmark with del.icio.us

Inessential

Super-quick guide to Macworld Expo

The Expo and trade show is during the day. Walk the floor. Pay special attention to the smaller companies — that’s where you’ll usually find the most interesting things. I tend to avoid any exhibit with a big video screen, and that’s served me well.

In the evening is when you get more of a chance to meet people and talk. It’s easy to find out where to be:

  1. Consult the Hess Memorial party list.

  2. If you’re an indie developer, be at the Chaat Café 6 pm Thursday.

  3. Follow Mac developers and journalists on Twitter — they usually make themselves pretty easy to find. (And you’ll often find that a bunch of them are at the same place.) (They’re very needy people. It’s sad, really. At that hour what they usually need is a beer.)

  4. Trust your iPhone Map program. Search works.

Also, as always, drink plenty of water, remember to eat and sleep, and see some of San Francisco if you’re new to the city. And, for the sake of all that’s good and right in the world, do not engage Kevin Ballard in conversation.

February 10, 2010 04:24 PM | Bookmark with del.icio.us

February 09, 2010

Inessential

On the benefits of thin-server RSS syncing

I’ve had a bunch of people ask me about the thin-server RSS syncing system I talked about yesterday.

The main question: what are the benefits?

First let’s define things a little. A thick-server RSS syncing system is something like Google Reader, NewsGator, Bloglines — where the server actually downloads the feeds, and client apps talk to the server rather than to the original sources.

There are lots of benefits to this kind of system. There’s every reason for this to be widely used — it’s the right choice for lots of people, probably for most.

A thin-server syncing system doesn’t read the feeds: it only knows about users, subscriptions lists, and the status of news items. No actual feed content. Loosely coupled to the actual RSS readers.

Here are some of the benefits of a hypothetical thin-server system (in no particular order):

No latency

The thick-server systems have to read millions of feeds. So they don’t usually get updates the moment they happen — they check a feed once an hour or whatever. (Maybe it’s every 15 minutes or whatever for popular feeds.)

This means that news gets to the client apps a little less quickly than it would otherwise.

With the thin-server, the clients read the feeds directly, so they get exactly what’s available at that time.

Security

Say you read a password-protected feed. A thick-server system would have to support that, and you’d have to send your credentials to that system. That system would have to store the content: it would treat it like any other feed it reads.

It’s not economical for thick-server systems to handle password-protected feeds, since each one can’t be re-used. It’s one copy per username/password pair.

With a thin-server system, you never transmit your username and password. It never sees the feed data, just the URL of the feed and IDs of news items. No problem syncing password-protected feeds.

Reachability

Say you read feeds from a local intranet that a thick-server can’t reach. You can’t sync these, since the thick server can’t read the feeds.

But, again, a thin server doesn’t care. All it sees are feed URLs and IDs of news items. No problem syncing intranet-only feeds.

(This also applies to things like script subscriptions. A thick server isn’t going to run an AppleScript, for example, but multiple clients might run the same script. The news items status would still be syncable.) (But not the script! No way would I want to sync executable code.)

Server downtime doesn’t prevent you from getting your feeds

If a thick-server system goes down, you can’t get your feeds. (Unless you turn off syncing.)

With a thin-server system, you still get your feeds. The clients wait to sync up.

Decentralized

So far, all the thick-server systems are on one big (conceptual) server. This means one point of failure for everyone who uses that system. Downtime is a big issue.

It’s conceivable that you could write a thick-server system that can run anywhere. Something open source, something easy to install. But it would use so much resources and bandwidth (reading the feeds every hour, returning entire feeds to client apps) that it would be prohibitive for many people. You couldn’t just install it on your account at your web provider and hope to get away with it. (Well, depending on lots of factors, of course. If it was just for you, and you didn’t have too many feeds, it’s probably okay.)

A thin-server system, on the other hand, would be easy to run. Minimal bandwidth, no content system where it downloads and stores feeds. It should be easier to set up and run than WordPress.

Easier to move from synced to non-synced and back

The thick-server systems rewrite the feeds, and usually substitute their own unique ID for whatever was in the feed. (Though, in the case of Google Reader, it also provides the original unique ID, if there was one.)

Because the feeds are rewritten, it can be very difficult to match up a non-synced item with its synced equivalent. This can make turning on or off syncing very rough, as you end up with duplicates.

Longer limits on news item status

This isn’t inherent, but it’s practical. Thick-server systems tend to serve a ton of people, so they have to have limits on the length of time news items status data will be stored.

For instance, NewsGator’s was two weeks or 200 items, whichever was first. (If I recall correctly.) Google Reader’s is, I believe, roughly twice that (but with some special cases, like when you do a mark-all-read in Google Reader and when you first subscribe to a feed).

But a thin system can afford to keep news item status data longer. Make it six months or a year.

No data loss

Because thick-server systems rewrite the feeds, they’ll often toss out parts of the original feed that they don’t care about.

Again, this doesn’t have to be inherent, but for practical reasons it’s often done this way.

With the thin server, you read the feeds directly, so you miss nothing.

Twitter and other feed-like things

This system would work for anything feed-like: it just needs a URL and individual item IDs.

Imagine pointing not just your RSS readers but also your Twitter clients at the server — your Twitter clients could know which items you’ve already read. Want that? I do. :)

Your data in your control

You could use someone else’s server, if they allowed it. Maybe there’d be inexpensive for-pay services.

But, at least conceptually, you could run it yourself, and control all your data yourself. The opportunity would be there, at any rate.

Anyway

That’s all I have in my head at the moment. There are more benefits, surely, but I think the above is plenty.

February 09, 2010 11:01 PM | Bookmark with del.icio.us

Jens on RSS syncing

Here’s Jens Alfke on RSS syncing with a couple interesting suggestions. (Jens has a lot of experience in this area.)

February 09, 2010 06:52 PM | Bookmark with del.icio.us

Idea for alternative RSS syncing system

Google Reader is an RSS reader that can be used for RSS syncing. Bloglines used to have a very basic syncing API (maybe it still does). NewsGator had a syncing API. FeedSync is a way to use feeds to sync other stuff (as far as I can tell). Sync Services (MobileMe syncing API) is a generalized syncing system that might be able to do RSS, but works just between Macs.

WebDAV is cool. DropBox is super-amazingly-cool. But these are storage systems, not syncing systems for things like RSS.

Not one of the above is a really great system for just syncing RSS between apps.

(For people who remember NewsGator’s system with fondness: it had drawbacks too, including that it was limited to the past two weeks or 200 items for each feed.)

Now, that said, I think Google Reader is cool (both as app and API), and I’m very glad we can use it, and I totally appreciate the help we’ve had from Google. But I do also hear from NetNewsWire users who’d like an alternative.

With everything else I have to do, I don’t have time to create an alternative. But I could make NetNewsWire work with an alternative, if one existed and was worthwhile.

What is a worthwhile alternative?

There are a few criteria to meet, in no particular order:

  1. It would have to be more like email servers — that is, not just one big server or cluster of servers somewhere, but the kind of thing people can run on any server. My web service provider might run one for me, the same way it runs an email server. (Or I might run one on my LAN. Or I might install it myself on my own website.)

  2. It would have to be free and open source, so that it could be everywhere, so that it would be developed by people who just want to make RSS syncing work. (I’m a capitalist, totally, but there are times when free and open source makes sense.)

  3. It would have to work over http and https. REST API.

  4. It would have to not require that clients download the feeds themselves from the server. (This is the way Google Reader, NewsGator, Bloglines and others worked. Status info was added to the rewritten feeds. I’m saying this system should not work that way: clients would download feeds directly from their sources, just as they do when not syncing.)

  5. The API should be as simple as possible and still get the job done. The job would be defined as syncing subscriptions lists and status of individual news items in RSS and Atom feeds. (And nothing else!)

  6. It would have to be easy to configure an RSS reader to use a given server. No more than URL of server, username, and password should be required. (Less, if possible.)

  7. It should not be limited to the last 14 or 30 days (like some systems) — it should have a much larger limit, like a year.

  8. The server itself wouldn’t ever read any RSS feeds. It wouldn’t have to — it’s entirely just about syncing data between apps. It would only ever talk to client apps.

  9. It should use as little bandwidth as possible, and be as fast as possible.

  10. Authentication would use standard HTTP authentication. (Not cookies or anything else.)

  11. There should probably a PHP + MySQL version, just so it can be deployed as widely as possible. (Though I know you’re thinking Rails.)

  12. Despite its being open source, if someone did want to offer it as a for-pay service, they should be allowed to.

Notes about the API

There are some obvious things. Get subscriptions list as OPML-with-folders. (Feeds could live in multiple folders, which means folders are just like tags, so call them tags if you want to.)

API calls would support conditional GET, so getting a subscription list would usually result in a 304.

You’d probably add, delete, edit subscriptions by addressing into the tree. (That way you could delete one instance of a feed that appears multiple times. You could add/remove folders that way too.)

The other half is the status of news items. Most have a unique ID (always in the case of Atom) or a guid (usually, in the case of RSS). For items that don’t, an agreed-upon way of constructing a unique ID would have to be developed. (Pick things that don’t usually change but are enough to identify an item: pubDate in a specific format + link + feed URL, as a UTF-8 string, then MD5-hashed. Maybe. Something like that, something that would be largely reliable.)

You’d sync status incrementally: get all the status changes since a certain date (the last time you made the call). Status would probably be read, unread, deleted, starred, and saved. To set status, it would be great to address each item in individual calls, very RESTfully — but that would be a giant bandwidth waste. Better a single call that takes a structure of some kind (XML, JSON, whatever) with item IDs and status/value pairs, where you can update a bunch of items all at once.

As you can see, the server doesn’t have to do that much. It stores some small bits of data with timestamps. I don’t think it needs any cron jobs (at least not conceptually) — it just responds to requests. It doesn’t even have any idea what this data is about.

You probably have the database schema mapped out in your head already plus more specific ideas about the API.

(I don’t recall if I’ve said before, but a couple years ago we found that the average NetNewsWire user had 26 subscriptions. That should give you an idea of the storage requirements this would need. Obviously some people have hundreds or thousands, of course, but not most.)

Most of the time clients are just getting the subs list (usually getting a 304 back), and getting/setting news item status changes.

In other words, none of this sounds that hard. And it doesn’t sound like a taxing job for a server.

Invitation

If I had time, I would have written this years ago, offered it for free, made it open source, had NetNewsWire support it, and I’d have tried to get other RSS readers to support it too.

But I didn’t and don’t have time to write it.

However, if there are people who are interested in writing this, I can help. I have client apps, and I’ve been thinking about this for years, and I’ve written to several sync APIs.

If you’re seriously interested in writing some software that could end up deployed far and wide, and that would solve a real problem for real people, get in touch with me.

P.S. Here’s the business case

So you might want to make some money. That’s cool. Two business ideas:

  1. Charge people money to use the service.

  2. Collect information about popular feeds and popular news items. You could provide a real-time view into what people (in the aggregate) are reading. This might be interesting to sell, or it might be interesting as a website itself (where you could display ads). Given all the metadata in feeds, plus your user’s folders/tags, you might even be able to figure out categorization. You might even be able to provide trends, too. Certain topics are gaining/losing ground. Certain feeds are getting more or less popular. Etc. Don’t forget the pretty graphs! All of that stuff would be an add-on, of course, something you’d be able to build because you have the sync system underneath.

Compelling? I don’t know. Just what I thought of off the top of my head.

February 09, 2010 06:18 AM | Bookmark with del.icio.us

February 03, 2010

Ranchero

Cocoa and Cocoa Touch Intro

Peter Hosey: “Welcome, new Cocoa or Cocoa Touch programmer. Here are some things you will need to know.”

February 03, 2010 04:34 PM | Bookmark with del.icio.us

Michael Tsai

No Reply Is Better Than No-Reply

Eoghan McCabe:

Given the crappy copy and links in the message, after a quick scan, it’s not difficult to miss a key line or two and be left thinking you can hit reply and continue the conversation. After all, they originally asked me to e-mail them, they just replied to my mail, they ask me to “write back”, speak in the first person and they sign with a staff member’s name. I typed “Hi Scott, there must be some confusion. There is no another e-mail add—” before I noticed the “cannot accept incoming e-mail” line.

by Michael Tsai at February 03, 2010 04:20 PM | Bookmark with del.icio.us

Ranchero

On Removing Features

Lukas Mathis: “Eventually, you will find yourself in a position where your application contains features it should not. Even if you’ve been vigilant, this will happen.”

February 03, 2010 01:48 AM | Bookmark with del.icio.us

February 02, 2010

Michael Tsai

My Worst iPad Fears

Victoria Wang:

At this time, I suspect the closed nature of the App Store is not as worrying as it should be because it only concerns our smart phones. We can still develop anything we want for Macs, the “real” machines. However, what if the iPad starts to replace the Mac to such a degree that it no longer becomes profitable to write apps for the Mac? It seems that to be a Cocoa developer will eventually mean to have one’s business chained to the App Store. To be chained to the App Store means Apple makes the final decision on whether your apps can be sold the way you like them, or at all.

by Michael Tsai at February 02, 2010 03:39 PM | Bookmark with del.icio.us

20 Years of Adobe Photoshop

Webdesigner Depot (via Cathy Shive):

On February 10th, 2010, Photoshop turns twenty. To mark this anniversary, we’ve come up with an article that takes you through the evolution of Photoshop from its modest beginnings as a bundled program sold with scanners to its current version.

For each version and major feature listed, we couldn’t help but think “did Photoshop ever exist without that feature?”.

by Michael Tsai at February 02, 2010 03:20 PM | Bookmark with del.icio.us

Ranchero

February 01, 2010

Ranchero

iPad as revolution

Macworld: “For Apple, it’s not about killing off tinkerers, but ensuring that not everybody who wants to use a computer has to be a tinkerer.”

February 01, 2010 07:15 PM | Bookmark with del.icio.us

Citizen Reporter Plug-in for TapLynx

Tyree Apps: “I’ve created a little view controller that lets a TapLynx app offer the user a quick way to snap a photo and then email it to someone without ever leaving the TapLynx based application.”

One of my favorite parts of TapLynx is that it’s extendable: you can create new views with new features. (Note to programmers: TapLynx is a static library. You still use Xcode to build apps, though TapLynx makes it so you write code only if you want to.)

February 01, 2010 06:52 PM | Bookmark with del.icio.us

January 30, 2010

Ranchero

Omni + iPad

The Omni Mouth: “We want to bring all five of our productivity apps to iPad: OmniGraffle, OmniOutliner, OmniPlan, OmniFocus, and OmniGraphSketcher.”

I’m especially a fan of OmniOutliner — and I want an outliner on iPad. This is great news.

January 30, 2010 01:40 AM | Bookmark with del.icio.us

January 29, 2010

Ranchero

Method replacement

Mike Ash: “Using a technique called method swizzling, you can replace an existing method from a category without the uncertainty of who ‘wins,’ and while preserving the ability to call through to the old method.”

This is interesting information that you should read and never use.

January 29, 2010 08:23 PM | Bookmark with del.icio.us

Future Shock

Fraser Speirs: “Those of us who patiently, day after day, explain to a child or colleague that the reason there’s no Print item in the File menu is because, although the Pages document is filling the screen, Finder is actually the frontmost application and it doesn’t have any windows open, understand what’s happening here.”

January 29, 2010 07:30 PM | Bookmark with del.icio.us

On iPad’s A4 chip

Macworld: “At the heart of the iPad lies a tiny sliver of silicon. A game changer within a game changer.”

January 29, 2010 07:26 PM | Bookmark with del.icio.us

iPad Stencil

Playing with Shapes: “I’m just as anxious as anyone else to start designing for the iPad. I always have to start with paper.”

January 29, 2010 07:21 PM | Bookmark with del.icio.us

iPad and usability

UsabilityPost: “When you scroll, the content scrolls without any interruptions and lag — it’s very, very smooth. Why is this so important? It’s important because this level of responsiveness blends the borders between analog and digital media.”

January 29, 2010 07:17 PM | Bookmark with del.icio.us

Dave asks if we should trust iPad

Scripting News: “Is it possible to create an iPad-like platform that has none of the drawbacks of Apple’s offerings?”

Excellent question. I think that in ten years, most computers will be iPad-like.

I don’t know any developers that like the App Store review system. I don’t. But I’ve never seen even the barest hint that freedom of speech is otherwise limited. And I’m hyper-sensitive to that, completely allergic to anything that I think would hurt that freedom.

January 29, 2010 07:14 PM | Bookmark with del.icio.us

Facebook iPhone app developer on iPad

Joe Hewitt: “iPad is an incredible opportunity for developers to re-imagine every single category of desktop and web software there is. Seriously, if you’re a developer and you're not thinking about how your app could work better on the iPad and its descendants, you deserve to get left behind.”

January 29, 2010 07:03 PM | Bookmark with del.icio.us

iPad liberation

chockenberry: “There’s an inherent benefit to only doing one thing at a time: the load of worrying about other tasks is lifted. Knowing that there isn’t anything else competing for your attention is quite liberating.”

Totally right on. It’s one of the reasons I could see myself using an iPad more than my laptop. (I use a desktop Mac for development.)

January 29, 2010 06:49 PM | Bookmark with del.icio.us

Who iPad is for

Mike Rundle: “Most people are not power users, they mainly consume content using their computer rather than produce it. When they produce content it’s more casual: posting to Twitter, updating Facebook, writing personal blog entries and notes, uploading photos.”

January 29, 2010 06:41 PM | Bookmark with del.icio.us

January 28, 2010

Ranchero

Developer opinion roundup thing on iPad

Cult of Mac: “I thought it would be interesting to find out what some Mac and iPhone developers make of the iPad.”

January 28, 2010 11:18 PM | Bookmark with del.icio.us

Inessential

Pretend you’re Apple

Say you’re Apple. It’s a few years ago. You make and sell computers.

You see the rise of web apps, and you notice people talking about how desktop apps are done. Desktop apps are done because, with web apps, people can login from anywhere, any machine, and get to their stuff. That’s cool, and you know it’s cool.

You make computers and operating systems, and you think to yourself: “How can I sell computers that are pretty much just web browsers? How is a Mac better than a Dell or a Sony in that case?”

I think the first thing you do is make sure you have a great browser. Faster and better than the competition. And keep at it, don’t let up.

Then you think to yourself: “What if people didn’t have to just use any machine they find? What if they have their computer with them all the time?”

I think you then work on making great laptops, so people actually can have their computer with them most of the time. You make the hardware and OS and software so great that people want these laptops.

Then you think to yourself, “People aren’t carrying their laptops to the grocery store! They don’t always have their computer with them.”

You decide to expand your definition of computer: you make iPhones. And then iPads. You make beautiful hardware and software — you create an experience so new and compelling that people lust for these things.

You open these up to developers, too, and hope a hundred thousand flowers bloom, since that makes these devices all the more valuable.

And it works!

You’ve avoided the bleak future where computers are nothing but web browsers, where user experience is struggling to hit 1995 levels of quality, where all you’re making is a dumb terminal that can show pictures and play video, where you’re back to being the “beleaguered” Apple, whose product is a commodity easily matched, or close enough, by other companies that charge less.

Instead you’re this Apple, the one that reports record sales and profits.

Good job, you!

January 28, 2010 07:17 PM | Bookmark with del.icio.us

Mom talks iPad

Adventures in Newfield (my Mom): “Most of the media reports don’t seem to get the new iPad — it’s not about how fast it is, or its lack of a camera or the flash to display video — it’s about using it just about anywhere and not needing a mouse!”

Mom wants one. Me too. :)

January 28, 2010 04:36 PM | Bookmark with del.icio.us

Bad Gravity

iPhone apps, and now iPad apps, have always reminded me of what I want Mac apps to be: focused, carefully-designed, with every feature carefully considered and usually thrown out instead of included.

Even more than the iPhone, the iPad will function as a laptop replacement. (Or, you may still have a laptop, but you’ll do more and more work on an iPad.)

I like what I’ve seen so far about iPad app design. It has the virtues of iPhone app design with just enough more space and new features to make doing real work possible. I think this is fantastic.

My concern, though, is that people may think that Mac apps should include every possible feature and preference. The reasoning would be like this: “It’s not an iPad or iPhone. It’s a computer. Therefore it’s for power users. Therefore it should be totally customizable and have every feature anybody might want.”

That would be a big mistake.

My hope, instead, is that Mac users and developers (all developers are users too, by the way) learn even better the virtues of focused, opinionated software that pays attention to experience more than to long feature lists and heavy preference windows. I hope we see even better Mac software.

You might think this is ironic — didn’t I just propose a Mac email app for power users and developers?

I did. But I actually picture an app that is simpler, in many ways, than Mail. No POP or Exchange support, no stationery, no to-dos, no notes. I’d like to see a programmable app, yes, with a design friendly to people who type for a living — but I also want a leaner app.

Here’s the thing about the power users and developers I know: they use a lot of apps. They manage a lot of complexity already. They often have a few powerful apps (Xcode, Photoshop, Final Cut, Excel, whatever) that they use to get their work done.

They’re not sitting around wishing for more complexity. Quite the opposite! But they do wish that some apps fit them better. And in many cases they wish for less complexity.

Too much complexity is for people who want to waste their own time. Who has time for that? Every day means a new world we have to create. Futzing and configuring and confusion — these things don’t help.

January 28, 2010 05:44 AM | Bookmark with del.icio.us

January 22, 2010

Inessential

Things 1.2.9 likes me

Release Notes - Things Wiki: “Added support for emptying the Trash immediately. Hold down the option key while choosing the ‘Empty Trash...’ menu command.”

Thank you to my long-lost cousin Michael Simmons and the fine folks at Cultured Code for catering to my psychotic computing needs!

I can’t have stuff in the Trash. If I do, then it’s a thing I have to do. So I empty it right away, since it’s easy. But not easy enough — there was a confirmation sheet. Now I can hold down option and bypass the confirmation sheet.

“Well, Brent,” you might ask, “how often do you trash stuff in Things?”

Every time, is the answer. I never mark stuff as done. No. Must get rid of right away. I did a thing, it’s out of my life, good-bye, don’t want no log, don’t want to look back and remember the glory days of five minutes ago when I did that thing.

So I empty the trash after every task I accomplish.

And now it’s friction-free. So happy.

P.S. After so many years of GUI computing, I have yet to adapt to any Trash can thing anywhere. Not in the Finder either. (Especially not there.) I’ve given up any hope that I can change on this matter.

Maybe, I like to reassure myself, it’ll be okay. In the long run.

January 22, 2010 04:06 AM | Bookmark with del.icio.us

January 20, 2010

Inessential

Letters president

We had three great candidates for the first president of Letters.app: Jonas Wisser, Caio Chassot, and John Gruber.

I thank them all for being willing to lead this thing. It’s no milk run.

In the end, John Gruber got the most votes. Congratulations, John!

I like this tweet: “Shit just got real.”

January 20, 2010 08:25 PM | Bookmark with del.icio.us

January 19, 2010

Inessential

Archaelogy

The earliest reference I can find on the web to my mythical $500 email client is on Gus’s blog from July 2007. It’s been a periodic discussion at the Luau after Xcoders for years.

(Xcoders has a Twitter account, naturally. Check out the awesome artwork that Brad Ellis did for it. Also note that Brad’s employer RogueSheep won another award for Postage.)

January 19, 2010 06:13 AM | Bookmark with del.icio.us

Letters (email app) update

Letters (or Letters.app, for the suffixophiliacs in the audience) is the name of the email client that was kicked off in my Email init post.

That was Saturday. I’m writing this Monday night, many hundreds of emails later. It turns out that lots of people are not only interested in a new email client, they’re willing to work on it. Way more than I expected or even hoped for.

Though I’m usually not a fan of bringing voting anywhere near software, there are exceptions — and voting on a leader for an open source project is one of them, at least in this case. We start voting Tuesday at noon Pacific, and voting ends 24 hours later. Then we’ll have a leader, and this thing will be off-and-running.

I’ve been using the title President rather than leader, to emphasize the election thing and also imply a term limitation. The president’s job is to ship the next major release. The first president will ship 1.0. This keeps the job product-focused rather than time-focused.

The name Letters is courtesy Caio Chassot — @kch on Twitter. Great name, I think. It was adopted quickly and without disagreement.

There is an @lettersapp Twitter account you can follow. We registered lettersapp.com as well, but nothing is set up there yet.

Once we have a president, I’ll announce it on the mailing list and on this weblog, then turn over the Twitter account and lettersapp.com to that person.

And then you can expect to hear more from him or her as work continues.

January 19, 2010 05:49 AM | Bookmark with del.icio.us

January 16, 2010

Inessential

Email init

We need to talk about email clients.

I’ve been joking for years that I’m going to write an email client and charge $500 for it — an email client that actually meets the needs of developers and professionals who rely on email, folks who type for a living.

But I’m not going to, and I don’t know anybody who is. The economics of it make it kind of tough, given that Apple ships a good email client with OS X.

Nevertheless, we need that email client. The only way to get there is via open source: there might be enough interest and energy in the community to make it happen.

I am not volunteering to lead it. I may not even be able to contribute. But I can at least kick off a conversation about feasibility and interest and scope.

I’ve set up an email-init mailing list: if you’re interested in talking about it, you can sign up.

The first steps are to define what we’re talking about and find out who may be able to contribute. We’ll need a benevolent dictator (I have some ideas in mind, but that’s a lot to ask of somebody).

A couple obvious things to start:

  • It should be a Cocoa app.

  • It should just do IMAP. (Not POP or Exchange.)

The app would need not just coders but testers, designers, documentation writers, bloggers, at least one project manager, and so on. It would need a bug tracker. Repository. Wiki. Website. It will need a name. (I started a Twitter account, which I’ll turn over to whoever leads this once we know who that person is.)

My thinking is that these days, by the year 2010, we’ve learned not to get bogged down in process discussions and things can move quickly. (The goal is to create software, after all.)

The only thing to do is start. It might fizzle out in a couple hours. Or it might lead to that email client we all want.

And, to be totally clear: this is not my thing. I just want the software.

It’s a big job, I know. But our tools have gotten very good and we have a talented and energetic community. I know we can do it.

January 16, 2010 08:10 PM | Bookmark with del.icio.us

Blogs

Add a feed
Can't get enough blogs? Check out the archive where each day's blog entries are archived.

Powered By: Planet Planet Logo!

MacBlogs is a blog of blogs. The site is powered by the Planet software, developed by the Gnome and Debian communities.


For more information, please email macblogs@gmail.com