Jul 24

They always say that admitting there is a problem is the first step.

I entered this relationship with my iPhone 3G after Steve Jobs introduced us. Steve promised me that it was the right idea to breakup with iPhone 2G and join the big boys with iPhone 3G.

At first it was all good. That sexy body, 3G, GPS, double the disk space, a flush headphone jack, and that new 2.0 firmware, and Steve had assured me that the SDK would fulfill all my “needs”.

If only our relationship had stayed that way.

Instead, iPhone 3G started to change.

We will be talking and she will just go blank and leave me there alone.

She teased me into Exchange support for my work email, but then behind my back turned off my never-auto-lock, and put a key code on the front door and wont let me remove it.

And as for keeping me fulfilled… It’s more like unfulfilled…. :-(

Steve told me I would have the same API’s that they have, but that was a bold faced lie. Instead iPhone 3G’s SDK is a tease. She shows off all the things that she can do when you hang out with her, but then when you try and get some of that sweet loving she yells at you and tells you, “That’s only for Apple.”

I feel so betrayed and hurt…

Then I heard Pwnage was being released and I thought I would at least get to see a little of my old iPhone in Miss 3G….

Once again she turned out to be a big tease!

This time she is playing the give a little, but withhold the real goods.

She gave me back my SSH access, but changed around all her frameworks so none of my old code will work.

Then she teases me into working with the new toolchain, by saying that with just some little changes I can still use that code. So I gave into my geek needs and started making those “small changes”. She forgot to tell me that a lot of those small changes would be small if we had documentation but instead I get to play a searching game to try and figure out all the unknown changes that cause my code not break.

So after a night of fighting, we had just about made up and decided we needed some sleep. Then today she decided to leave me. She locked up and refused to boot.

I finally talked her into unlocking, but then she told me she needed to “sync”. Funny how she forgot to mention that this sync would take 2 hours.

Then after work she “we” decided it was time to try and finish making those “small” changes. Well this just lead to ANOTHER all night fight. Finally I thought we had made up and she compiled my code without errors. I was so happy, but I guess its fun to watch me suffer, so when I tried and run the code, she left me again and locked up.

We are trying to make up again, but once again she needed her “sync” time. She has been gone for about a half hour, and I am thinking I shouldn’t expect her until morning.

I am sure you can agree that this is a pretty abusive relationship I am in. (usually it is the guy that is abusive, but not in this relationship)

I am thinking we need couples counseling.

I think it might be best if we get Steve to come to a couple of the sessions.

Only problem is I don’t see a section on Apple’s site for counseling sessions at the Apple stores.

Maybe I am forced to be abused…

Hopefully Steve will have a talk with her and give her some relationships tips in firmware 2.1. However I don’t think Steve is willing to talk to her about putting out in the SDK bed, so I might be forced to keep working with her in that area. Hopefully someone can come out with a relationship documentation or something….

If you are in the Phoenix area and want to put together a support group, let me know.

Jul 23

So get this…

I had RemindYou 80% ported to 2.0, compiling directly on the iphone (as that is the only working toolchain right now) but then I installed something off of Cydia today and when I left Cydia my iPhone was frozen.

I let it sit for 5 minutes and nothing.
So I rebooted and I am stuck at the Apple logo.
I have rebooted 10 times and let it sit at the apple logo for over an hour.

MY IPHONE IS BRICKED!!!

As it was iTunes would not even see it.

Luckily I was able to force it into restore mode and then iTunes found it.

So I was able to get it reinstalled, but since I was working directly on the iPhone all of my work to port RemindYou was lost!

I am sure you are asking why were you not using SVN or something…

Well I have the project in Mercurial, but native on the iPhone is only SVN and Git, not Mercurial, so I wasn’t able to publish my changes.

Jul 21

After a handful of requests to port Mobile RSS to the SDK/AppStore I decided to start working on it.

This has been an interesting task.

I have done work in the SDK and have seen the differences but porting an app really makes those changes visible.

The toolchain and SDK are very similar and at the same time very different.

There are a lot of new things that were added, like for example how they went controller happy. Like the ViewController and NavigationController. While they have given a lot of emphasis to these new controllers, most of the original items are still there (however a lot of them have new names). The new names are not huge changes, just enough to make the lifes of the developers who worked with the toolchain, harder then it needed to be. Like for example they made UITableCell UITableViewCell. Luckily most are very similar like that, so its not that hard to convert them, but it does mean that the code that is reusable can’t just be copied over, it also has to be updated to the new names, which brings in the extra task of finding out if a name has changed (compiler errors work nice here) and then finding out what the new name is.

I may be off with this comment since I don’t speak other non-computer languages, but I think it would be similar to trying to learn something like Portuguese when you already know Spanish. I say this because they are by no means the same, but have a similar background/base.

However for this being my first SDK app that has really has meaning, and is more then just more or less playing around, and with only having been working on it for 2 days, I would have to say that things are moving along. My hope is that as I become more comfortable with working inside of Xcode instead of just using TextMate, and I can remember all the little tedius things that I keep forgeting, since I didn’t have to worry about them when I coded everything by hand, that things will speed up even more.

I do have to say that having some documentation on the frameworks is nice, but at times its frustrating because a lot of the documentation is really bad. Yes, something is better then nothing but that doesn’t make it less annoying when the documentation is wrong or badly written or badly layout or badly organized, etc, etc.

Also, I know I have said this many times before, but Interface Builder, for being from Apple, sure is not very user friendly, even for developer users. Once you know it, sure it works fine, but thats because you know it. I think back to when I was learning it (and I don’t claim to know all the inner workings of it), and just how non-friendly or intuitive it is, including its tie in with Xcode.

Jul 12

PCWorld put together a list of 20 cool iPhone apps today, and my program RemindYou made the cut!

http://www.pcworld.com/article/148296/20_cool_iphone_apps.html

“The concept behind RemindYou is remarkably simple — essentially, its goal is to make sure you never miss another appointment ever again. And how does it do this, you ask? Well, by syncing up with iCal, Outlook, or Entourage and then overlaying a graphic of all your appointments over the iPhone start-up picture. Thus, instead of seeing a picture of the Earth from space as your default start-up screen each time you unlock your iPhone, you’ll see a list of all your appointments. RemindYou can be purchased from the iPhone 2.0 App Store for $19.95 for a lifetime license.”

The only thing is that they are saying RemindYou is in the AppStore, but it is actually only for Jailbroken devices, and is available within Installer.app. (I wish Apple would let us in the AppStore, but no luck since it needs a background process that runs every 15 minutes to keep the info up-to-date)

Even with that typo, I love the press and I am glad others enjoy this tool as much as I do.

Jul 10

Lately there has been a lot of talk about the Apple iPhone SDK.

Well some of us while working on the SDK are still also working on the Original SDK, AKA the Toolchain.

Some might ask, “why if there is now the SDK would you still work on the toolchain?”

Two reasons:

  1. Maintaining existing toolchain applications
  2. The SDK is VERY restrictive on what you can and can’t do, and if you break one of those rules then Apple won’t let you into the AppStore and you can not distribute your application.

So I have been updating some of my applications recently and I keep running into the items that Apple forgot to add to the iPhone toolchain SDK.

For example XML processing was forgoten, as well as several parts of NSFileManager (like copying).

All of these I have had to fight with not having.

Well tonight I found a new one…

Seems Apple also forgot to include a LOT of the details contained in NSUserDefaults, not to mention that the few items that they did include are not set for the user root.

User root not having any defaults I can kind of understand, as with the later firmwares applications are not run as root anymore, but instead the user mobile.

While making some sense, it does not make total sense as some programs are still ran as root (such as daemons) (which just happens to be what I am dealing with).

So after jumping through the hoops of not having all the normal User Defaults while setting up the part of my application that runs as the user mobile to be able to have international/locale date support, I am now at a road block with getting the daemon part of my application which runs as root, to have the same support.

From what I can see even in the normal Cocoa SDK there is no way to get another users defaults (even if you have permission, ie: you are root). Maybe I am missing something as this is the first time I am dealing with international/localization programming.

If you happen to know how I can do this, please let me know…

Jul 10

I just learned that come Friday AT&T will have a GREAT new phone for sell, and it’s not the iPhone!

AT&T’s Centro lineup adds a dazzling new color – electric blue – to join glacier white and obsidian black. This exclusive new Centro color will be available starting this Friday in AT&T retail stores”

It is also supposed to have an amazing web browser.

Check this out

Now isn’t that amazing!?!?

Come Friday this new wonderful phone comes out, as well as the iPhone, both at AT&T.

Look at that image above and then look at the image below, I think the choice is easy.

So come Friday forget all this iPhone hype!

Who needs a full browser anyways….

Who needs a phone that looks sexy when you can have a non-sexy BLUE phone.

Plus if you buy an iPhone you will just get a headache from trying to choose from all the new sexy looking programs and 3D games to choose from, and who want’s a headache?

http://blog.palm.com/palm/2008/07/a-new-blue-for.html

Jul 07

On TIME Magazine’s site, Anita Hamilton discusses the impending influx of iPhone applications and poses the question “why can’t all iPhone apps be free?

The following was posted as a reply to Ms Hamilton. (please read)

http://www.macuser.com/software/the_tyranny_of_free.php

Pointing to the plethora of ad-supported free software applications available, Hamilton acts as though the idea of paying for things is kind of novel and quaint these days. As though we all queue up at the supermarket to watch a bunch of ads instead of paying for our groceries. I don’t know about you, but my credit card still gets a healthy workout there. Not to mention at the gas pump—though, to be honest, I wouldn’t mind watching a few ads instead of paying $60 to fill up my car.

But I’d like to flip Hamilton’s question on its head and ask “why should all iPhone apps be free?”

Despite the recent advent of ad-supported programs, people have been paying for software for years. And developers put no less time and energy into writing software than a woodworker puts into fashioning a table or a chef puts into cooking a dinner—yet nobody demands that those products be provided on an ad-supported basis.

Ad-supported programs work well for Google and social networking sites because the function fits the form. Lest we forget, Google is an advertising platform, despite the myriad of software that they produce. Likewise, social networking sites appeal to a captive audience—not unlike people watching a TV show. But such is not necessarily the case for someone developing a word processor or photo-editing program. Do you want an ad to pop-up while you’re writing your novel (or worse, your TPS report) or touching up those vacation photos?

When it comes right down to it, what’s wrong with exchanging money for a product? It’s a system that’s worked pretty well for, oh, a few thousand years. Why should developers have to negotiate deals with advertising providers instead of simply charging their customers as they’ve always done?

There seems to be some sort of bizarre perception that developers who charge for their software are forces of evil out to rip off the unassuming public. As Hamilton says, “this arrangement forces consumers to shell out for programs they may use only once.” As opposed to a book you may only read once? Or a movie you may only watch once? Or batteries you may only use until they run out? Or food you may only eat once?

We are not entitled to software any more than we are entitled to the other products that we buy day in, day out. We’ve been spoiled because so many developers give things away for free (which, of course, is their prerogative), and we’ve gotten used to the idea of streaming our television online, or even stealing our music from file-sharing services. The idea of “free” has been co-opted into the idea that products aren’t worth money—which couldn’t be farther from the truth.

The whole point of payment is that you give someone money to take care of a problem that you don’t want to do yourself. You could save a bundle of money by not hiring people to cut your grass, for example, but then you’ll have to use the time you’d rather spend doing something else mowing the lawn yourself. Just as you could save some cash by developing a word-processor yourself, but heck, in the long run, it’s probably cheaper to let Microsoft do it for you.

This is economics at its most basic. Seriously. It doesn’t get any more basic than this.

The people selling software on the App Store aren’t moguls—most of them aren’t companies remotely the size of Google or Microsoft. They’re people eking out a living, just like you and me—well, just like you, anyway. Only they do it writing software that they hope people will use and enjoy. That seems worth $10 to me.

Come to think of it, what about all those times that I’m forced to watch ads and pay for things? I’m going to a baseball game tonight, where I fully expect to be bombarded by ads from every corner of the field, scoreboard, and concession stands. And I still have to pay five bucks for a hot dog? Now that is deserving of outrage.

Posted by Dan Moren

Jul 06

If you watch tv or movies, expecially sci-fi related, you have no doubt seen explosions happening all the time in space.

This has always made me wonder, can fire really exist in space, as there is no oxygen in space?

I have wondered this but never took the time to find out the answer. Well tonight I decided to look it up. A simple Google search for ‘can fire exist in space’ gave me the answer in the 3rd result.

http://www.ccmr.cornell.edu/education/ask/index.html?quid=909

The link goes to Cornell’s Center for Materials Research, Ask a Scientist, page.

Simply, the answer is No…. and Yes :-)

I will give you the quick run down and if you want the more geeky details then follow the link above.

At the basic levl, no fire can not exist in space, since like you would think, there is no oxygen.

The yes part comes from the fact that rockets, for say, mix liquid oxygen with the fuel, and therefore there is oxygen present to allow the fire to burn.

So that is rockets, but what about explosions?

This one is a little more complicated and doesn’t have a solid answer.

The oxygen that is needed to allow fire to burn does not have to come from a liquid or a gas, or even as plain oxygen. If there is a chemical present that contains oxygen, and there is enough heat to break the oxygen out of that chemical, then it can mix in and allow the fire to burn.

So it is both yes and no.

IF in the “explosion” there exists the proper chemicals, and there is enough heat, then yes an explosion (with fire) can happen in space. If those circumstances are not met then the “explosion” with be fireless.

(I say “explosion” because you can’t really call it an explosion without fire, can you? :-) )

So there you have it (if you are still reading).