Your browser (Internet Explorer 6) is out of date. It has known security flaws and may not display all features of this and other websites. Learn how to update your browser.
X
Post

Removing pesky UITableView lines

You know how, if you have a UITableView with only a few entries, how the divider lines for the empty (non-existent) cells still show up? This happens to me every once in a while, and every time I always have to go look up the solution. Well in case you’re wondering, it’s as easy as one line of code:

mTableView.tableFooterView = [[[UIView alloc] initWithFrame:CGRectZero] autorelease];

And that’s it. Happy coding!

Post

Slide-Away Screens

In an app I’m working on now I thought I’d give the slide-away screen metaphor a try. Like the one found in the Path and Facebook apps. So I went online and sought a library that could do that for me. Many of the libraries I found were actually for the iPad, and mimicked the behaviour of the Twitter app. Close, but not what I wanted. I found a few libraries, but many of them didn’t support swiping. They were only controlled by a button or some other event.

Finally I found DDMenuController, which seemed to fit what I wanted to do. I experimented with it a bit, and it was easy enough to use. I could also tweak the source code to change how much of the “underneath” controller would show. This was important because I only wanted to show a narrow strip of controls, which isn’t very wide. But soon enough I discovered bugs. Often on a swipe, the underneath controller wouldn’t show at all, but rather it would just be black. I fiddled with the source code a bit and finally got that to happen a lot less often. But when I added a second underneath controller on the right side, the problem came back with a vengeance, and at that point I just gave up.

I looked around again, and found a library I didn’t find the first time. It’s called ViewDeck. So far, I haven’t encountered any bugs, which is good. But I haven’t yet found a way to change how far the main screen moves over. Well, that’s not quite true. I did find something for that, but when I set it to a value I like, the main screen just bounces back and doesn’t stay in the slid-over position. So I’m going to play around with it a little bit and post an update with what I found.

UPDATE 1: I found the solution. It’s just a matter of making sure the rightLedge is large enough to trigger the left edge to stay in place. I’m hoping this works out later when I’ll want a small left underneath view and a large right underneath view.

UPDATE 2: As it turns out, trying to have a large right view was problematic. But I changed the source code to fix that. In (void)panned:(UIPanGestureRecognizer*)panner there’s a divsion by 3.0. I changed that to 4.0 and that made it work.

Post

Sweating the Details

My wife gave me the Steve Jobs biography for Christmas, and I read it throughout the next several weeks. Two things struck me about Steve Jobs. The first was that he was not a pleasant person. I kept hoping that Walter Isaacson would report that Steve mellowed out over the course of his life and started treating people as they deserved. That didn’t happen, and it disappointed me.

The second thing that struck me was how much Steve sweated the details. Every little detail had to be just right. Insanely great. The exact colour of beige used for the computer case. The perfectly fitted edges. The lack of (or at least minimal use of) screws. The control of the product from hardware to software and everything that entails. This has prompted me to take a look at my own attention to detail, and while I believe that Steve Jobs’ level of passion in this regard is not something I necessarily have to emulate, I think that I’ve been cutting the corners a bit too much in my work.

My oldest iPhone app that I have on the store, Crate 33, isn’t bad, but I know of a few areas that need improvement that I’ll be addressing. These include the terrible name and icon. I did a much better job on my second app, iBorrow. I’m quite proud of it. But I can think of at least one button that needs some TLC, and one function that should be removed. I’ve also started work on my next app, and I’m trying to make it even better. Since I’m not a graphic or UX designer by any stretch of the imagination, and I can’t afford to hire one, making the app look perfect is quite problematic. I’m learning, however, and I hope that I can come up with something really nice.

I really appreciate the polish and detail that my favourite apps have, and I’m going to strive much harder to do that in the iPhone work I do every day.

Post

iPhone 4Siri

A couple weeks ago I finally got my iPhone 4S. It wasn’t a straight road to my pocket, however.

Before the iPhone 4S was released in Canada, I called up Rogers and asked if I could get it for the cheap price by putting it on my wife’s cellphone account. It didn’t have a data plan, but they said that was okay. So on the day Rogers made pre-orders available I got up at 5:55AM, put in my pre-order, and went back to bed. I was #47 in line for a 64GB white iPhone 4S. On release day I head over to the store to pick it up and they inform me that I cannot get the upgrade pricing without a data plan. So I’d have to pay almost full price for the phone on my wife’s account. And on my account I’d have to pay extra fees for wanting to upgrade partway through my contract. So I reluctantly told them to keep the phone, and I got my $30 deposit back.

A week later my boss tells me to go ahead and buy an unlocked one from Apple, which made my day. It only made sense. I’m the only iPhone developer at my company, which makes mobile apps, mostly on the iPhone. So I put in my order to Apple and a couple weeks later I got my iPhone 4S.

I think my eldest daughter is more in love with Siri than I am. She keeps wanting to ask Siri questions and show Siri to friends and relatives. I like Siri, but don’t use Siri every day. Siri is a great feature, however, and I do use it. The speech recognition is a lot better than I thought it might have been, especially given my past experience with Dragon Dictation. It’s not perfect, but it’s pretty good.

I also enjoy the better camera. I always have my iPhone in my pocket, so I use it quite a bit for taking snaps of my kids or whatever. The better camera is a boon to me, and the image stabilization for the video camera makes the video camera actually usable. I never used the video camera before, just because the videos were too shaky. Now, however, I plan to take more video. I wish, though, that I could specify that 720p is enough. I don’t need 1080p video.

I can’t really say that I’ve noticed much of a speed improvement over my iPhone 4 (which is now my wife’s). Maybe some things are faster here or there. But all in all it’s Siri and the camera that have me satisfied with the iPhone 4S.

Post

R.I.P. Steve

Last night Steve Jobs passed away.

I’m not the most eloquent of people, but I will say that as an iPhone developer who always has an iPhone in his pocket, and uses a Mac every working day, that much of my life has been defined by a man I’ve never met.

I’ll miss Steve Jobs.

R.I.P.

Post

On Siri

The more I see about Apple’s Siri technology, the more I think to myself “I want that!“. It is so cool! But several thoughts keep running around in my head:

1) When I tried Dragon Dictation on my iPhone, it was terrible. This is supposed to be use one of the best technologies for voice recognition available, and I think that Siri uses the same engine underneath (correct me if I’m wrong). I tried dictating several sentences to this thing, and it got more than half the words wrong. Maybe my very very slight German accent is throwing it off …

2) Many of Siri’s features look quite useful to me. Many others, especially the oft-demod ones to do with interacting with other people and calendars, are for social butterflies. Which I definitely am not.

3) Now this one I’ll just have to see how well it works in practice. But the demo said that I need to hold the Home button down for several seconds to activate Siri. That’s a bummer. Can’t the iPhone just always be listening if there’s no active app and it’s not in sleep mode? Siri would know I’m talking to it because I would say “Siri, tell me why I’m not a billionaire yet.” (And then of course Siri would metaphorically roll her eyes and tell me what a dufus I am.)

Apple’s Info on Siri

Post

iPhone 4S Announced Today

My friend and I used a Google Hangout to chat while we watched all the feeds from the Apple announcement today. It was quite a long proceeding, and it took a while for the good stuff to be revealed. But here it is. The iPhone 4:

  • Much faster. It uses the dual core A5 processor for 2 times the CPU performance and 7 times the graphics performance.
  • New 8 megapixel camera with stabilization and better performance in low light conditions.
  • World phone. This thing will work on all carriers, including Sprint, who will be carrying the iPhone for the first time.
  • Better antennas and better download speeds.
  • Siri assistant is only on the iPhone 4S.
  • 16GB, 32GB, and 64GB models for $200, $300, and $400.
  • 1080p video recording.
  • Slightly better battery performance.
  • AirPlay mirroring

I remember upgrading from the 3G to the 3GS, and the difference was huge. I assume that the upgrade from the iPhone 4 to iPhone 4S will be similar. But I’m not so sure I can make myself pay the money for this phone. I think I’ll stick with the iPhone 4 that I have now, unless my boss pays for a 4S.

Oh, and the iPhone 4S and iOS 5 are shipping October 14. iOS 4 pre-orders begin October 7th.

Post

Okay Apple, Time to Spill the Beans

All indications are the the iPhone 5 will launch in October. It is now September 14th. Rumour sites are going hog wild with reports of Sprint employees being denied holidays, the big marketing push the China Telecom plans, Sprint’s pricing plans, and more. Isn’t it about time Apple put us all at ease and finally announced the iPhone 5?

It’s been too long since the iPhone 4, Apple. Time to spill the beans.

Post

iPhone 5 Befuddles Me

The iPhone 5 befuddles me. Historically, Apple has released a new iPhone on a yearly schedule. If rumours are to be believed, the iPhone 5 will be released soon, taking about an extra six months to develop compared to the previous three iPhone designs. Even the iPhone 4, which was a radical design departure, came out on schedule.

So what is it about the iPhone 5 that is taking so long to develop? Insiders and pundits suggest that the iPhone 5 will have the A5 processor that’s also in the iPad 2, so the core CPU is a known quantity. Are they having trouble with heat dissipation perhaps? I’m just guessing. Rumour sites also suggest that the iPhone 5 will have a larger display, but then we also read that the iPhone 5 will not have a larger display. Who to believe? Mixed messages are all we’re getting on this front, but even a larger display doesn’t tell us why we’re getting a six month delay. Especially since the display will probably have the same resolution as the iPhone 4′s Retina display.

The latest rumours are that the iPhone 5 won’t even ship with iOS 5 installed. Developers who have the latest beta are saying that iOS 5 is awesome but isn’t ready for prime time. So put those things together, and you can’t blame iOS 5 for the iPhone 5′s extra development time.

What other features could Apple possibly be adding to this phone? NFC? Hardly rocket science. Frankly I’m flummoxed. Does Apple have another market-shifting product in the works? Something we can’t imagine until it happens? Will the iPhone 5 be one of those products that’ll make Samsung, HTC, and RIM moan in despair?

All I can say is, it better be worth it!

Links

Firefox Imagines a Tablet Version

Firefox put out some concept images of what their Firefox browser for tablets could look like. Interesting.