Wednesday, October 6, 2010

Creating

Phase Five - Creating
23rd August Onwards

The creation phase is well and truly in progress! We have spent a month or so working on picking up the language used for developing iPhone applications. We have various amounts of programming skills ranging between Processing, Arduino, Java, Javascript and C++ so if nothing else, we are familiar with the fundamentals of programming.

For me, jumping into Objective-C and object oriented programming was a bit of a challenge. Most of the last month or so was spent working through examples, tutorials and sitting in with the 1st year BCT students who started learning from scratch about two weeks after we had started. Coming back after mid-semester break it was time to start trying to write our own app.

For my first attempt, I tried to make a series of custom buttons to reflect the interface on the Auckland City Art Gallery Website and have them lead to separate views which would ultimately contain content.

As the client didn't specify what sort of visual aesthetic they were interested in, we decided to stick with just trying to reflect the aesthetic of the website.

The Flash interface which is the main component of the main homepage is clever and aesthetically pleasing but redesigning it for a touch interface poses new challenges as it is a different visual language to web. The initial obvious limitation is size, those three simple buttons running down the side already take up about a third of the screen. This led to the debate of whether our app should run primarily in landscape or portrait mode.

Arguments for landscape were the strongest in that a larger proportion of artworks were landscape and that buttons content could be easier arranged to be more aesthetically pleasing.

Arguments for portrait mode were that table views (which we are highly likely to be implementing in one, if not many forms) work better in portrait mode. I argued that it feels more instinctive to hold an iPhone in one hand and, hence, in portrait, while holding it in landscape feels unnatural to hold in one hand and almost demands to be operated with two hands.

The argument seemed to be that, overall, landscape worked better for the visual aestehtics and content while landscape worked better in terms of physical usability. Obviously we can have it operational in both modes but this would require more intensive coding and might be less instinctive to use as the user would have to switch between them and thing about how they have to use it. There is also the added delay in the time taken for the screen to rotate.

In the end we decided to work towards a landscape orientation for the time being and spend some time mocking up some visuals to reflect these ideas. From here we began to build our visual mockups.



Here I attempted to amalgamate the Auckland City Art Gallery visual aesthetic with the iPhone UI features. It is not properly to scale (if scaled down to an iPhone screen, the text and buttons would be far too small.) I tried to make the buttons look more 'pushable' by adding a gradient and drop shadow. The black buttons represent the functionality of the UI Tab bar commonly found in iPhone apps.



Dodo's mock up takes scale into account and the aesthetic still reflects the existing gallery's style. I argued that it looks too flat and no obvious visual cues as to what is pushable. We discussed the issue of the buttons being to small as well to 'push'.



Daniel's is again a bit different, taking on board the colour theme and general style without recreating it exactly. It makes good use of the limited space sticking to the smaller buttons. In all cases I think the semitransparent black text box make effective use of space.

Bones, flesh and organs - building up the app.

With end of semester drawing near fast, it was time to make a plan as to what components needed creating for this app and to actually get it running on an iPhone for testing. A formative assessment with two tutors provided positive feedback on where we were at and suggestions th on how we can work more cohesively as a team.

As we all want a part in the coding, we delegated different sections of our proposed app among the six of us. Our task list was as follows:

- create a Singleton and access it from another view
- navigation for the application (blank views)
- view that loads details from database
- create a structured database and fill it with content
- figure out audio content, record and edit it
- play Audio content
- 2D Map Navigation
- User interface & Graphics

My task was to create the bones of the app, the structure and navigation that the other sections would be integrated into. Despite having initial trouble getting my head around root controllers, view controllers, table view controllers and navigation controllers, I found a tutorial on YouTube very helpful and once I'd created this, I was able to start building on it.

It doesn't look like much yet but I felt proud of what I'd achieved.
We'd agreed that the default aesthetics of the tab bar, table view and navigation controller weren't particularly exciting but there are ways to customize it. This here is the bare bones.

Dodo was working on creating and loading content from a database which she successfully got working. This too is in the early stages of developing and this sort of content loaded from the database is the vital organs of the app.

Ryan is working on the scrollable 2D map with buttons using MapKit and UIScrollView which has been a challenge. The 3D map, which is being Trixi and I have been building using Unity poses its own sets of challenges too.

With only a few weeks to go, there is much more creating to do!

No comments:

Post a Comment