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

iPhone Conformity

I rethought my interface yesterday. It occured to me that I wasn’t really managing the people in my table view much like other apps I’d seen. My app will be for one of those social networks out there. You’ll be able to see people in the main view of the app in a table view. I was planning to have an additional tab in the tab bar for adding people, and another tab in the tab bar for sorting options.

Yesterday I realized that this is too clunky. It will be better to get rid of the tab bar completely, add a “+” symbol to the nav bar so that I can add people (just like the Contacts app) and add a Sort button on the left side of the nav bar. That way, I don’t need a tab bar at all, streamlining the interface and making it easier to use.

Most programmers wage an inner battle when developing software. On one side, you have the best user experience possible. This is what you want to create. On the other side, you have the coolest technology possible. This is what you want to use. You want to create an excellent user experience by doing really cool stuff, using all sorts of neat technologies. But the problem is that often we use those cool techno widgets just because we can, and not because it’s best for the app.

That was the case here. This is my first iPhone app. I thought it would be cool to use both a nav bar and a tab bar. I actually thought at the time that it would be the best interface too. But I made the mistake of not thinking through my interface thoroughly enough. Upon further reflection I realized I was throwing too much stuff in there. So tonight my plan is to trim trim trim!

Post

Lots of Fun to Do

I have lots of work to do on my first app! I have a table view and I need to sort all the items in there. I need to make sure that when an item is selected, none of the blue hi-light colour shows up. Need to save the list, need to be able to add to the list, need to view an item’s details. Oh boy, lots to do.

But you know what? Developing apps for the iPhone is fun. There are several reasons for this. One, it’s new. I’ve never done this before and I like doing new things. Two, the apps are small. I don’t like working on one monolithic application for years on end. So I appreciate the fact that even now, at the beginning of my project, I can see the light at the end of the tunnel. And three, it’s for the iPhone! How fun is that?

Post

Tab and Nav Bars

I recently worked on how to arrange navigation and tab bars, and figured out some things. I’m trying to create an app where the first page is a table view controlled by a nav bar. A table view is just a list. It can be grouped (like in Settings) or not (like in Contacts). A nav bar is what you see in the Contacts app near the top. It has the + symbol in it. When you view a contact’s details, it shows a button that lets you get back to the contact list. In my app, once the user selects an item in the table view, I want to go to a more detailed view, and another view thereafter. Those will all be controlled by the nav bar.

On top of that there’s the tab bar. You can see tab bars in action at the bottom of the Phone and iPod apps. It lets you tab between views. I plan to use it to add additional functionality not controlled by the nav bar.

It wasn’t nearly as obvious as I thought it’d be. I thought I could do all this through the Interface Builder. That may be possible, but I didn’t find it. So I cut up all the pages and put them each in their own XIB. I then connected the views programmatically and got my table view working inside the nav bar, both inside the tab bar. Whew!

Now I gotta figure out the ordering of stuff in the nav bar. I somehow thought that the order I added things in would result in having my table view first. Instead the details view shows up first and I have to go back to the table view. Weirdness. Ah well, no rest for the weary!

I spent all this evening watching the season finale of Terminator Chronicles, which I missed when it originally aired. And registering for this domain. And creating this blog. And creating this blog entry. So this status update reflects work done yesterday. :)