Consolidating iPhone Views Into A Single NIB
In my quest to lessen the amount of files I have for individual views and actually have some sort of visual grouping for related interfaces, the first port of call was to look at what’s actually going into my NIB files. Often it feels like the amount of UI elements I’m inserting into Interface Builder doesn’t really warrant the extra file and I’m constantly tempted to just code everything and forget about Interface Builder. An example… I’ve got a NIB containing a good few UI elements. Say a title label, a couple of buttons and a switch. As normal, I’ll add the relevant IBOutlets in my header file and hook them up. Also, I’m planning to have a separate “settings” view which will contain some controls to edit the elements on the first view.
Now, a popular way to handle this is to create a separate class, say “SettingsViewController.h, .m and .xib”. But here’s another approach…
› Continue reading
Quick UIScrollView Implementation
Whether I’m building my iPhone views in Interface Builder or with pure code, I’m always a bit put off with the amount of files I have to create to do absolutely anything in Objective-C. First off, coming from a Flash background, having two files generated (the .h and .m files) any time I create a new class is a bit annoying. When it gets really frustrating is when I see people creating separate files for both a view’s base UIScrollView and then another one for the actual view, potentially with a NIB file for each. So it’s six files for just one screen! Ridiculous.
The UIScrollView, in my opinion, should be implemented much more easily. Even if a view’s contents do not need to scroll, for consistency’s sake, I think all screens should have that vertical bounce mechanism (the one you see everywhere where you can pull a view down past it’s bounds and it’ll snap back) and that is only possible via the use of a UIScrollView. Yep, there’s no property of a UIView that allows us to just implement this behaviour.
› Continue reading
Screensaver For Ballantines
Bit of a strange post this but I’ve recently created a quirky little screensaver for Ballantine’s 12 year old whiskey. Not a whiskey fan myself but had fun with the trigonometry for the particle animation in this. This version is a little different than the final product as it was distributed as a screensaver. Little time has been spent making it web-friendly :( Check it out here.
Brand Toys - Away 3D Character Generator
I’ve just completed an interested project for JWT London creating an offline application called Brand Toys. The premise is that, during a conference, users can enter information about the “personality” of a particular brand or agency and at the end, a 3D model is generated based on the user’s input. Check out a quick demo below…
The code was built on the PureMVC framework and uses the Flash Player 10 version of the awesome Away3D engine for the character generation.
New Papervision Portfolio For Fitch
At long last, one of my most frustrating projects has gone live. Phew…
It’s a Papervision 3D-based portfolio display for the new Fitch website.
› Continue reading
Snow Leopard & The Flash Player
So I’ve just bought the almighty new Mac OSX: Snow Leopard. It promises big speed improvements via it’s mesmerising Grand Central Dispatch system. First thoughts were that yes, some apps were a lot faster (iTunes opens much faster and after closing it, subsequent launches take literally 2 seconds!). But the improvements seem to stop after you finish looking at your Apple programs. Photoshop seems no different and maybe it’s just me, but some things even seem slower. There’s other problems with certain programs too. For example, the brilliant Cyberduck FTP doesn’t run in Snow Leopard
Thankfully there’s an update available though.
The biggest gripe however is the Flash player. The Snow Leopard installation actually downgrades it! Not only that but it downgrades it to a pretty unstable version of the player. I also noticed a slight dip in performance after installing Snow Leopard too. Really hope this gets fixed but in the meantime, I recommend putting off buying SL for a few months until all these bugs are sorted. Overall, the main improvements are to your Apple suite of programs and a few (generally useless) new UI elements. Oh, the “View Desktop” expose thing sometimes won’t send certain windows away too
Disappointing…
Nokia Progress - Papervision 3D Site For Lonely Planet
So I’ve just put the finishing touches on a Papervision3D website called The Progress Project. The navigation is based around a draggable 3D globe built with Papervision 3D. Markers are added to the globe via a content management system which sends the longitude and latitude of each location to the Flash which in turn converts them into 3D positions in the Papervision scene.
Each marker represents a project happening somewhere in the world which describes how Nokia and Lonely Planet are helping to promote global awareness and teach people in other countries how they can look after the environment using mobile phones.
In addition, users can ask the team questions via web services (PHP) and become friends of projects by subscribing to them. All in all, the whole thing took just under a month and you can check it out here.
Japanese Notes On Google Docs
I’ve just started mucking around with Google Docs and it really is awesome. One feature I’m loving is the “collaboration” feature. Here, I can create a document which I can then share with other people and, if I give them permission, allow them to add to.
So, as a quick experiment, I’ve decided to put some of my Japanese notes up there. Using this feature, I update my notes after each lesson and even give my teacher the permission to add to my grammar list!
Now, after publishing this as a URL, I can view it from anywhere without having to carry notes around with me. I can even look over my stuff while I’m on the tube via the browser on my iPhone! すごいやろ!? Anyways, I thought I’d share the love and let you guys in on some of my tips. I’ll update it each week so check back often. The doc is posted at http://docs.google.com/View?id=dgj7vr5_8jnfvhzht. 日本語がんばれ!
“Broken TV” Distortion Effect
Bit of an impossible blog title to think of but I’ve been mucking around with a class that performs a bunch of different effects on any display object you send it that gives a sort of “broken TV” effect. I’ve got some modifications to make before I can post the code (support for videos/animations, edge detection, optimization etc) but in the meantime, here’s a quick sample of what it can do…
Image courtesy of the awesome Boys Noize.
Philip’s Prestigo Minisite
A minisite I developed at Tribal DDB has just gone live. The navigation is based around a robot built out of Philips’ components which displays information about Prestigo, a new remote control capable of controlling everything in your house. It’s a pretty serious piece of equipment at £200 and definately for the “money’s no object” crowd but I think the site turned out well. An insane deadline of one week to build the thing on my own was met with the aid of Tribal’s awesome coffee machine and altogether I’m really happy with it… View the site here (requires a fast computer). Behind the scenes footage here!




