Tutorial: CoreMotion And Cocos2D – Utilizing The Gyroscope

If you have been looking to enhance the controls of your game to utilize the gyroscope for more accurate, or enhanced controls Rod Strougo has posted a tutorial featuring how to use Apple’s CoreMotion with Cocos2D.

The tutorial goes through the basics of adding the Core Motion framework to a Cocos2D project, and demonstrates how to obtain the pitch, roll, and yaw from the gyroscope.

You can find the tutorial here:
Getting Started With Core Motion In Cocos2D

If you are looking to get a grasp on exactly what the pitch roll, and yaw numbers mean there is a good free app showing those details available on iTunes here.

©2011 iPhone, iOS 4, iPad SDK Development Tutorial and Programming Tips. All Rights Reserved.

.

DeliciousTwitterTechnoratiFacebookLinkedInEmail

Open Source: Game Center Achievement Notification Popup Generator

You are probably familiar with achievement notifications that popup when you are playing games on a console system such as the Xbox 360.

The developers at t1e Studios have come up with a neat little library that allows you to generate these notifications with a styling that makes them fit perfectly with Game Center known as GKAchievementNotification.

Here’s a screenshot:

In the screenshot you see the Game Center symbol, which potentially could get your app rejected as this is not part of the official game center API, but you can easily change the image or remove it altogether.

For more details on the implementation check out t1e Studio’s post on the usage of GKAchievementNotification:
http://www.typeoneerror.com/articles/post/game-center-achievement-notification

You can find the Github repository here:
https://github.com/typeoneerror/GKAchievementNotification

A good timesaver for anyone looking to add notifications when a game center achievement has been obtained.

[via Alex Curylo]

©2011 iPhone, iOS 4, iPad SDK Development Tutorial and Programming Tips. All Rights Reserved.

.

DeliciousTwitterTechnoratiFacebookLinkedInEmail

Tutorial: UIView Debugging Tricks

There are times when it can be difficult to debug problems with UIViews, particularly when you have many of them within your app, and are working with more sophisticated UIViews.  This can be a major time waster.

Dr. Touch has written a tutorial containing some tips, and tricks to help you solve UIView related issues. In his tutorial he gives you some tips on how to find exactly which view is having the issue, and solving some specific view related problems.

You can find the tutorial here:
Visual View Debugging

If you are having problems with your UIViews, some of the tips in here could prove very useful.

©2011 iPhone, iOS 4, iPad SDK Development Tutorial and Programming Tips. All Rights Reserved.

.

DeliciousTwitterTechnoratiFacebookLinkedInEmail

Open Source: Fruit Ninja Type Example Game With The Corona SDK

Fruit Ninja has been a phenomenon in the app store with incredible sales, and has inspired the creation of many similar types of games.

The developers at Ansca Mobile have created an interesting example game based on Fruit Ninja.  Overall it makes for an interesting example of how to create a touch/drawing based game.  For those unfamiliar with Fruit Ninja your objective is to slice fruit using a sword controlled by the swipe of your finger.

Here’s a video of the code in action:

You can find the source code on the Corona SDK website here:
Samurai Fruit Corona SDK Example

Looks like a great example for anyone looking to build a game utilizing finger swipes with the Corona SDK.

©2011 iPhone, iOS 4, iPad SDK Development Tutorial and Programming Tips. All Rights Reserved.

.

DeliciousTwitterTechnoratiFacebookLinkedInEmail

Images Display in GridView on IPhone

This is the GridView application. In this application we will see how to programatically  images display in Gridview on iPhone .

Step 1: Open a Xcode, Create a View base application. Give the application name “Button_Example”.

Step 2: Xcode automatically creates the directory structure and adds essential frameworks to it. You can explore the directory structure to check out the content of the directory.

Step 3: We need to add one NSObject class in the project. So select the project -> New File -> Cocoa Touch -> Objective-C class and give the class name “Item”.

Step 4: We need to add one image in the project. Give the image name “icon2.png”.

Step 5: Open the “Button_ExampleViewController”file, we need to add UITableViewDelegate  and UITableViewDataSource , define UITableView and NSMutableArray class and one buttonPressed: method and import the Item.h class. So make the following changes.

#import <UIKit/UIKit.h>
#import "Item.h"

@interface Button_ExampleViewController : UIViewController <UITableViewDelegate, UITableViewDataSource> {

        IBOutlet UITableView *tableView;
        NSMutableArray *sections;
               
}

@property (nonatomic, retain) UITableView *tableView;
@property (nonatomic, retain) NSMutableArray *sections;

(IBAction)buttonPressed:(id)sender;

@end

Step 6: Double click the Button_ExampleViewController.xib file and open it to the Interface Builder.First drag the TableView from the library and place it to the view window. Select tableview from the view window and bring up connection inspector and connect dataSource to the File’s Owner and delegate to the File’s Owner icon. Now save the .xib file, close it and go back to the Xcode.

Step 7: In the Button_ExampleViewController.m file, make the following changes:

#import "Button_ExampleViewController.h"
#import "Item.h"

@implementation Button_ExampleViewController

@synthesize tableView,sections;

// Implement loadView to create a view hierarchy programmatically, without using a nib.
(void)loadView {
       
        [super loadView];
        sections = [[NSMutableArray alloc] init];
       
        for(int s=0;s<1;s++) { // 4 sections
                NSMutableArray *section = [[NSMutableArray alloc] init];
                for(int i=0;i<12;i++) {  // 12 items in each section
                        Item *item = [[Item alloc] init];
                        item.link=@"New Screen";
                        item.title=[NSString stringWithFormat:@"Item  %d", i];
                        item.image=@"icon2.png";
                       
                        [section addObject:item];                      
                }
                [sections addObject:section];
 }
}

       
        (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
        //{
                return [sections count];
        }
       
       
        (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
                return 1;
        }
       
        (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {  
                NSMutableArray *sectionItems = [sections objectAtIndex:indexPath.section];
                int numRows = [sectionItems count]/4;
                return numRows * 80.0;
        }
       
       
        (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
               
                NSString *sectionTitle = [NSString stringWithFormat:@"Section   %d", section];
                return sectionTitle;
        }
       
       
        (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
               
                static NSString *hlCellID = @"hlCellID";
               
                UITableViewCell *hlcell = [tableView dequeueReusableCellWithIdentifier:hlCellID];
                if(hlcell == nil) {
                        hlcell =  [[[UITableViewCell alloc]
                                                initWithStyle:UITableViewCellStyleDefault reuseIdentifier:hlCellID] autorelease];
                        hlcell.accessoryType = UITableViewCellAccessoryNone;
                        hlcell.selectionStyle = UITableViewCellSelectionStyleNone;
                }
               
                int section = indexPath.section;
                NSMutableArray *sectionItems = [sections objectAtIndex:section];
               
                int n = [sectionItems count];
                int i=0,i1=0;
               
                while(i<n){
                        int yy = 4 +i1*74;
                        int j=0;
                        for(j=0; j<4;j++){
                               
                                if (i>=n) break;
                                Item *item = [sectionItems objectAtIndex:i];
                               
                                CGRect rect = CGRectMake(18+80*j, yy, 40, 40);
                                UIButton *button=[[UIButton alloc] initWithFrame:rect];
                                [button setFrame:rect];
                                UIImage *buttonImageNormal=[UIImage imageNamed:item.image];
                                [button setBackgroundImage:buttonImageNormal    forState:UIControlStateNormal];
                                [button setContentMode:UIViewContentModeCenter];
                               
                                NSString *tagValue = [NSString stringWithFormat:@"%d%d", indexPath.section+1, i];
                                button.tag = [tagValue intValue];
                                //NSLog(@"….tag….%d", button.tag);
                               
                                [button addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside];
                                [hlcell.contentView addSubview:button];
                                [button release];
                               
                                UILabel *label = [[[UILabel alloc] initWithFrame:CGRectMake((80*j)4, yy+44, 80, 12)] autorelease];
                                label.text = item.title;
                                label.textColor = [UIColor blackColor];
                                label.backgroundColor = [UIColor clearColor];
                                label.textAlignment = UITextAlignmentCenter;
                                label.font = [UIFont fontWithName:@"ArialMT" size:12];
                                [hlcell.contentView addSubview:label];
                               
                                i++;
                        }
                        i1 = i1+1;
                }
                return hlcell;
        }
       
       
        (IBAction)buttonPressed:(id)sender {
                int tagId = [sender tag];
                int divNum = 0;
                if(tagId<100)
                        divNum=10;
                else
                        divNum=100;
                int section = [sender tag]/divNum;
                section -=1; // we had incremented at tag assigning time
                int itemId = [sender tag]%divNum;
               
               
                NSLog(@"…section = %d, item = %d", section, itemId);
               
                NSMutableArray *sectionItems = [sections objectAtIndex:section];
                Item *item = [sectionItems objectAtIndex:itemId];
                NSLog(@"..item pressed…..%@, %@", item.title, item.link);
               
        }
       
       

// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
(void)viewDidLoad {
    [super viewDidLoad];
       
       
}

(void)didReceiveMemoryWarning {
        // Releases the view if it doesn’t have a superview.
    [super didReceiveMemoryWarning];
       
        // Release any cached data, images, etc that aren’t in use.
}

(void)viewDidUnload {
        // Release any retained subviews of the main view.
        // e.g. self.myOutlet = nil;
}

(void)dealloc {
    [super dealloc];
}

@end

Step 8: Open the Item.h file and make the following changes:

#import <Foundation/Foundation.h>

@interface Item : NSObject {
       
        NSString *title;
        NSString *link;
        NSString *image;
}

@property (nonatomic, copy) NSString *title;
@property (nonatomic, copy) NSString *link;
@property (nonatomic, copy) NSString *image;
@end

Step 9: Now make the changes in the Item.m file:

#import "Item.h"

 @implementation Item
 @synthesize title, link, image;

@end

Step 10: Now Save it and compile it in the Simulator.

You can Download SourceCode from here Button_Example

Weekly Poll: Which Movie Times App Do You Use?

It’s Friday night and I am taking my lovely wife to see a film. Naturally, to find what’s playing and when, I look to my iPhone. This brings around a tough decision though. I have not one app for this job, but a folder full of them! Which should I use?

They all accomplish pretty much the same thing. Some, like IMDB, have tons of other features and really just focus on movie times as a non-core function, but it’s nice to have all of that information at your fingertips. Others, like Flixster, really focus on getting you the info you need quickly and without distractions.

I want to know which app you use for this. Not which one has the most features or the best interface but the one that you actually turn to every time you want to go see a movie. Today’s poll lists the popular options and has a place for you to write in anything that’s not listed.

Once you’ve voted, leave a comment below and let us know why you use the app that you do!

iPhone Game Friday: New Releases

May means summer’s nearly here, and that means cheerful weather and more time outside. But there’s always time for some gaming, so here are another few favourites of ours from the past weeks to fill up your spare time with.

Sword and Sworcery

Sword and Sworcery

Sword and Sworcery

After taking the iPad world by storm, Capybara Games’ strange and marvellous title, Sword and Sworcery finally made its way to the iPhone. The game, for those who haven’t heard of it, is something of a fantasy adventure, but the mood is closer to Braid than a dungeon crawler, and the whole thing is wrapped in a clever and enchanting framework of the game as a soul refreshment program delivered in stages.

In many ways, this game defies classification and description that can do justice to its charm, but what is easy to remark upon is the level of detail and love that has gone into producing the pixel art, the subtle background animations, and the absolutely stunning and immersive sound design. Gameplay alternates between walking around and performing various interactions with the environment, but you’ll find that it’s less about the action and more about the journey.

This is an unmissable game no matter how you slice it, and the range of emotions it evokes is impressive, even for those who are not normally fans of such titles.

Price: $4.99
Developer: Capybara Games Inc.
Download: App Store

League of Evil

League of Evil

League of Evil

League of Evil is a pixel platformer with more under the hood than most of its competitors.

The gameplay is pretty typical of the genre, but it feels particularly dynamic though because of the variety of movements that you can perform: beyond jumping, there’s the usual double-jump, but also wall jumps, wall hugs, and flips.

More than 130 levels scattered across various environments ensure that there’s plenty to see, and charging to the end of each level to punch the league of evil member in the face is truly rewarding, not to mention funny with the slick retro art and music.

Price: $2.99
Developer: Ravenous Games
Download: App Store

Secret Mission — The Forgotten Island

Secret Mission — The Forgotten Island

Secret Mission — The Forgotten Island

Hidden object games have, perhaps, narrower appeal because of their slower pacing and puzzle-based, detail-oriented gameplay. They nevertheless have a strong following and the best of them offer an excellent alternative to the action-oriented games that make up most of the App Store.

Secret Mission — The Forgotten Island is a very strong example of the genre, bringing Big Fish Games’ extensive expertise to the table to produce a polished and beautiful addition to their catalogue. There are plenty of puzzles to navigate, including some mini-games to break up the flow of pixel hunting.

The quality of the graphics and sound is up to the very high standards that Big Fish has set for itself with past titles, and the complete package is worth snatching up now while you can still unlock the full game for just $0.99.

Price: Free (Unlock full game for $0.99)
Developer: Big Fish Games, Inc.
Download: App Store

Destructopus!

Destructopus!

Destructopus!

In a similar spirit to Super Mega Worm, GlitchSoft’s new title, Destructopus, is another kill-the-nasty-polluting-humans type game where you control the mighty Destructopus to unleash the wrath of nature.

What makes the Destructopus so much fun to control in the side-scrolling levels is that you can upgrade the various weapons at your disposal to launch increasingly vicious attacks against humanity. Several enemy types, environments, and good graphics ensure that the destruction is dynamic and satisfying, especially when you launch huge combos.

More monster types and weapons will no doubt be added as the game progresses, so now is a good time to get started and practice your monster skills.

Price: $1.99
Developer: GlitchSoft
Download: App Store

Spider Jack

Spider Jack

Spider Jack

Wrapping up this week’s round-up is a fresh puzzler revolving around feeding things to some manner of creature. In this case, ClickGamer’s take on it involves a spider called Jack who tries to collect all the flies in each level.

You’ll find yourself swinging by a thread, Spiderman-style, and navigating around fans and lasers and all manner of other environmental hazards as you work out how to capture all the flies. The star rating system that first showed up in Angry Birds is back to give you some extra incentive to replay the 75 current levels if you’ve finished them, and in addition you’ll find that there are multiple ways of succeeding in most of the levels.

Spider Jack is a simple and easy to pick up puzzler with just enough substance to keep it from seeming frivolous. Plus, Jack is adorable to watch.

Price: $0.99
Developer: ClickGamer.com
Download: App Store

What Have You Been Playing?

Played any of these games yet? What did you think of them? Let us know what’s been keeping you busy lately and if we’ve missed any cool titles in the comments!

Quick Look: Hello Kitty Match3 World

Quick Look posts are paid submissions offering only a brief overview of an app. Vote in the polls below if you think this app is worth an in-depth AppStorm review!

In this Quick Look, we’re highlighting Hello Kitty Match3 World. The developer describes Hello Kitty Match3 World as a series of Bejeweled-like match games. With the introduction of the “World Ranking System”, you can compete for score with users all around the world.

Read on for more information and screenshots!

Screenshots

screenshot

Hello Kitty Match3 World

About the App

Here are the top five features you can expect to see in the latest version:

  • Over 18 kinds of original Kitties appear in the game and you can play of Over 126 varieties
  • Play with over 126 varieties of blocks featuring countries of the world.
  • 400 kinds of stage clear images!
  • In each theme, you can get 20 varieties of cute wallpapers for iPhone/iPod touch
  • With the world ranking function you can share your best score with your friends through Twitter!

Requirements: iOS 3.1.3 or later
Price: $1.99
Developer: Sevenseas Techworks Co.,Ltd.

Vote for a Review

Would you like to see us write a full review of Hello Kitty Match3 World? Have your say in our poll:

Would you like to see Hello Kitty Match3 World reviewed in-depth on AppStorm?online surveys

Quick Look posts are paid submissions offering only a brief overview of an app. Vote in the poll if you think this app is worth an in-depth AppStorm review! If you’re a developer and would like to have your app profiled, you can submit it here.

Everyday: Your Daily Photo Booth

We’ve all seen the videos before: Some adventurous soul took one picture each day for a year and turned it into a video. Whether it’s a guy growing an epic beard or a girl posing the same way for 15 months, the videos are fascinating to watch and quite popular as well. If only you could make one yourself.

Well if you were motivated, you probably could. Just put that tripod and camera in the living room, set a daily timer and get after it. Most of us aren’t motivated though — not for this type of project anyways — so we just watch the videos on YouTube and think about how cool it would be to make one of our own.

Everyday is out to change that idea. It’s a very simple app that reminds you to take a picture of yourself every day, then forms it into a movie. Now, there’s a bit more to it than just that, so let’s get into it after the break.

Motivation

Let’s get this question right out of the way before we begin: Why would you want to do this?

Think about what you did yesterday around 6 pm. Maybe you were sitting down to dinner with the wife and kids as usual. Or maybe you were out for dinner with a few buddies, having a drink or two. Possibly you were on a plane, ready to head to St. Louis on a business trip. Whatever it was, you were doing something at 6 pm yesterday, just like you’ll be doing something tomorrow at 6 pm. It’s a constant.

The first time you setup Everyday, you set guidelines for future images.

The first time you setup Everyday, you set guidelines for future images.

With Everyday, you take that little slice of life and capture it. By the time your video project is done you’ll have new memories to recall. To do this review, I took pictures everyday for 13 days. I figured I’d see if I could get through it, and if it was realistic to expect others to do the same. Today I look through those pics and I remember where I was at the time. “Oh look, there I was at the gas station.” ” Man, I wear a lot of white shirts.” These are all things that you may not remember or notice about yourself without the help of an app like Everyday. And even though the end result is a video that’s maybe a few seconds long, it’s the process that really makes this app fun.

How It Works

The key to an app like this is precision. You want to be sure that you’re framed up the exact same way in every picture, otherwise it just looks like a badly done montage. To make sure that happens, you start by taking your first picture, then aligning the guide with your various facial features. Take the time to get this right, because otherwise you’ll have problems lining yourself up later on.

Once you're aligned, the next time you take an image you'll see a ghosted version of your template for reference.

Once you're aligned, the next time you take an image you'll see a ghosted version of your template for reference.

That’s not the only way that things are aligned, however. After the first shop, that image is used as reference for future images. It sits there, ghosted out in the background, so that you can align your head with the original version. Admittedly, this can throw you off, because not only are you manipulating the iPhone so your face aligns properly, but now you’re aligning your exact expression, which is tricky to duplicate. Fortunately, you can turn off the ghosted image — and the guides, too — by touching one of the two options in the lower right corner of the screen.

Getting In The Habit

There’s no way this app would work well without some kind of motivation, and fortunately, it’s all there. First on the list is a daily reminder. Set a time and a reminder frequency — daily, weekly or monthly — and you’ll get regular notifications from the app to remind you to take your shot for the day.

Make an appointment with Everyday.

Make an appointment with Everyday.

The second method is via shaming. Twitter, Facebook, Flickr and Tumblr are all upload options, letting you upload your daily pic to each respective site every day. Should you have a large following, you might get reminders from your buddies should you miss a day or two here and there, shaming you into catching up. Admittedly, you’d have to be friends with a bunch of jerks for that to happen, but that doesn’t mean it will never happen.

The Video

Once some time has passed and you have a few shots in the system, make your video by clicking on the filmstrip in the top right corner of the screen. Choose your video speed, then generate the video. A few seconds later you’ll have a handy MP4 of yourself, ready to send to your camera roll. Click Here to see the quick video that I made so you can get an idea of the results you can expect.

Upload your pics to your favorite social media platform, and then make your video.

Upload your pics to your favorite social media platform, and then make your video.

Verdict

I love the concept of Everyday. It forces me to do something that I’ve been wanting to do but putting off for years, and I think that it’s a pretty cool system. It’s not perfect though, so let’s hit the bad points.

This is a one-person app. Admittedly, if you’re using this on an iPhone it’s not that important to allow multiple users. But on an iPod Touch, it sure would be nice to allow multiple people to use the app. Also, there are no photo editing options. I don’t want anything like an Instagram-esque filter system, but it might be nice to add brightness or auto correct settings.

But that’s it. Everyday is easy to use, fun and cool to show your friends. It seems like a one trick pony, and it is, but that doesn’t make it any less cool. Plus, the longer you use it, the better the resulting video will be. Not too bad in my book.

Thanks to the iPhone.AppStorm Sponsors

We’d like to say a big thank you to this month’s iPhone.AppStorm sponsors, and the great software they create! If you’re interested in advertising, you can order a slot through BuySellAds.

You could also consider a Quick Look submission, an easy way to showcase your app to all our readers.

Billings Touch – Billings’ simple workflow and intuitive interface makes quoting, invoicing, and time tracking effortless.

Cretouch – Dress your device with Creative Touch, a series of delightfully designed iPhone cases and protective covers in a wide range of styles.

Ideas to Apps – A complete step-by-step guide on how to create a killer design and outsource the development at a price you can afford.

CopyTrans TuneSwift – Changing PCs or switching to Mac without losing your iTunes library? CopyTrans TuneSwift is the easiest and safest way to move iTunes data to a Mac or any PC.
Backup the entire iTunes library including iPod Touch, iPad and iPhone backups. Save the latest changes of your iTunes library by using the incremental backup feature. Import the iTunes library from an external hard drive and restore it from previous backups. Anytime & anywhere your iTunes library just a flap away!

CopyTrans Manager – Sick of iTunes? Is it too complex and slow for your needs? Looking for a faster, lighter and free alternative iPod manager? CopyTrans Manager is the perfect iTunes replacement for your iPhone or iPod. Add music & videos to iPod, edit song tags and artworks, create and organize iPhone playlists, preview tracks with the integrated music player. It has never been this simple!

MobilePhoneRecyclingComparison – Compare mobile phone recycling provide an easy online service for people to compare who pays the most when you recycle your mobile phone. We do not point anyone specifically at any one website it is up to you to choose where you think is best suitable. We have many mobile phone recycling companies to choose from.

iPhone Transfer Platinum – Easily backup movies, music, photos (PDF and EPUB formats), books, ringtones to computer and iTunes, transfer iPhone files, transfer PC to iPhone/iPod. Backup iPhone to iTunes. Synchronize iPhone with iTunes library quickly. Convert and copy any videos, audios formats like 3GP, AVI, FLV, M2TS, MTS, MKV, DVR-MS, MPEG, TS, NSV, MOV, H264, RM, WMV, etc to iPhone. Rip DVD moviess, DVD folders or ISO files, then directly transfer to iPhone.

Ringtone Designer – Ringtone Designer allows you to convert your favorite songs on your phone to customized ringtones.

Zapd – Websites in 60 seconds from your iPhone. Make a free instant website, choose a theme, name it, and begin to share your experiences. Make as many as you want. Each with a unique style.

Announcing the AppFanatix Newsletter

If you love apps, gadgets, and great deals on software as much as we do at AppStorm, you’re going to love the new AppFanatix newsletter. It’s a fortnightly email newsletter launching in the next few days, and will regularly bring you:

  • An exclusive discount on a fantastic application
  • Some of the best content published on the AppStorm network
  • Stylish desktop wallpapers
  • And much more…

The first issue will be going out soon, and we’d hate for you to miss out on everything we have in store. Subscribe now and make sure you’re on the list to receive our first awesome app discount!

4 Ways Apple Could Improve the Maps App

Several reports and rumors have speculated that Apple is looking to dramatically revamp the default maps app. When the iPhone first launched, this app was perhaps the single best mode of finding where you were going on any device. It looked great, was extremely intuitive and had plenty of features. Unfortunately, though it has made a little progress in years since, it is definitely no longer the mapping pinnacle that it once was.

Today we’re going to toss around some ideas and suggestions for potential areas of weakness that Apple could benefit from updating.

Better Traffic

The first place that you can expect to see Apple focusing on is traffic. Why? Because they recently came out and said that they are doing just that. The recent scandal that revealed that iPhones track their users’ every move brought to light a sneak peek into Apple’s intentions for the future. Gigaom.com writes of Apple, “The company revealed it’s collecting traffic data from devices, too, in order to build ‘an improved traffic service’ for iPhone users.”

screenshot

The current, lackluster traffic feature

The Maps application does in fact currently have traffic data built in, but the functionality is really at a bare minimum. I expect to see much more robust and accurate traffic reporting in upcoming iOS releases, likely powered at least in part by users.

Beyond this, I honestly have no clue what Apple has up their sleeve in this area. Perhaps we’ll see a feature that allows you to choose the quickest route to a given location in light of traffic conditions.

Voice-Guided Turn-By-Turn Navigation

The default Maps application does have a feature to guide you through a trip turn-by-turn, but it’s fairly manual and really not that great at all compared to what we see from many third-party applications.

screenshot

iPhone default turn-by-turn directiosn

In fact, the iPhone’s technology is good enough that it can function quite well as a voice-guided GPS system similar to what you see in a stand-alone Garmin or TomTom device. If you’re an attentive and responsible driver, the last thing you want to be doing on a trip is constantly glancing at your phone. Automated vocal directions are therefore far superior, more convenient and safer than the current Maps system.

screenshot

The Garmin StreetPilot GPS App

Improved Local Search

One of the primary places that I think the iPhone Maps application falls short is in the area of local search. You can’t get around the fact that just about every location app in the App Store is doing this better than Apple right now.

All you really have in the default Maps application is the search bar. No quick filters, generic listings or any sort of quick way to just get a glimpse of what’s around a specific location.

Recently we reviewed MapQuest for Mobile, a shockingly good free alternative to the default maps app. Not only does this app have free voice-guided directions as per my previous suggestion, it also has a really nice local search feature that allows you to simply tap an icon to see certain business types in the area around you.

screenshot

Tap an icon to quickly view a category of businesses

This is just one of many apps in the App Store that are lightyears past the Maps app with local search. Also check out Localscope, Yelp and Google Places for other awesome options.

Route Control

The final area that I think Apple really needs to improve upon is route control (I hinted at this in the traffic section). It used to be the case that Google maps really didn’t provide many routing options, but these days you have complete control over customizing your trip from A to B. Simply click and drag on your route in the web interface to define your preferred roads.

screenshot

Customizing a route on Google Maps

On the iPhone Maps app, you’re pretty much stuck with what you get. Sure, you can drop a pin on a specific point and get directions from there, but this is definitely a work around and isn’t really intended as a route-customization device.

The ideal solution would allow you to directly customize your route as in the Google Maps online interface or at the very least present you with a few different options to choose from. It would also be nice to be able to add in destinations to stop at along the way.

Conclusion

As with all of the default iPhone apps, the Maps application is a fairly generic tool that gets the job done, but is definitely not the best solution available. If Apple is indeed looking to drastically improve the default maps experience, they have plenty of obvious areas to focus on, the above three representing only a few of many possibilities.

Hopefully some time soon we’ll see a much better maps app that will once again be good enough to call the best way to get where you’re going!

Make iPhone Photography Easier with Canopy Camera Tools

Have you ever wanted an easier way to take photographs on your iPhone? Something that takes the simplicity of the Camera app and mixes it with features of a traditional DSLR? While the Apple camera application only offers a few features, perhaps you wanted an easy way to create a time lapse or take a family self portrait. With Canopy Camera Tools, a new iPhone app, you can do all that and more.

While many camera applications offer hundreds of bloated features, Canopy focuses on bringing you easy to use features without having to read a manual. Its combination of accurate icons and intuitive controls make it easy to use, while its Time Lapse features and integration with the Kopok case make it fun.

All the Basics

Canopy features a similar interface to the Camera app.

Canopy features a similar interface to the Camera app.

Canopy contains all the basic features you’d expect, plus a little more. Take advantage of the iPhone 4’s camera flash, adjust the white balance, adjust the focus detection (turn them on or off), record video and more. Now, these all sound like features you’d expect from an photography app, but does the default Camera.app include a timed delay for taking pictures? Canopy does, allowing you set your iPhone down and enable the timer.

This makes for perfect family portraits where you would need to set the iPhone across the room. Just open Canopy and set it down on a level surface. Toggle the time delay button and push the camera button, starting the timer. You’ll have 10 seconds to get in frame and prepared.

Canopy will even set off the flash a few times before it takes a picture, allowing you to get ready for the shot. Time delay works when using the regular still picture mode and the video recording mode. No more trimming the beginnings of the video as you set the camera down. Just enable the time delay and start recording. It’s as simple as that.

Easily share your snaps to Facebook

Easily share your snaps to Facebook

Time Lapse

Time Lapse photography is easy with Canopy.

Time Lapse photography is easy with Canopy.

Canopy has a unique feature that hasn’t quite made it into mainstream iPhone camera applications. It has a time lapse function which enables you to easily take photos a set interval. Capture the movements of a crowd or measure the growth of your plants by setting your iPhone or iPod Touch in view of the plants. Control how long it should record, how many pictures it should take, and even the frequency of how often it should take picture.

Canopy is even smart enough to bypass the iPhone’s automatic lock, allowing it to run for hours without interaction. I setup my iPod Touch near a window and captured a time lapse as it started to get dark. I just aimed my iPod Touch at the window, propped it against something and enabled the time lapse mode. Canopy automatically stitches the pictures together into a video, preventing you from having a camera roll filled with hundreds of time lapse pictures. Time lapse has never been so easy.

Kopok Case

When I started to experiment with Canopy, I noticed something about photography on the iPhone. Propping an iPhone up while running a time lapse or even while on a time delay is hard. In fact, holding and shooting video with the iPhone is hard when your main objective is to keep it still. If you find yourself recoding video on your iPhone quite frequently, then you probably wish you could attach it somehow to a tripod. That is how the Kopok case for iPhone came into creation. It combines an iPhone 4 case with an attachment for a tripod.

screenshot

The Canopy Kapok Case

Easily mount your iPhone 4 to a tripod and use it for extended time lapse or video recording. But, that’s not all the Kopak case can do. It adds buttons to your iPhone. That’s right, it adds the ability for you to take pictures and videos via a physical button built into the case. This is accomplished using their Kopok case API, an API that Canopy takes advantage of and uses. Put your iPhone in the Kopok case and Canopy will recognize the accessory. Then you can start taking pictures with the push of a physical button. The greatest benefit of using a physical button is keeping your phone still. Normally, pressing the iPhone’s display will cause the phone to move, possibly ruining your shot. With a physical button, you’ll aren’t moving the phone at all. It’s that simple.

Conclusion

If you are looking for a more powerful, yet easy to use, camera application, look no further than Canopy. It manages to find a great balance of intuitive icons and controls that make it incredibly easy to use.

With features like Time Lapse, Time Delay, and integration with the Kopok case, it is a great application for photographers to use. Start snapping photos using the Kopok case hardware buttons, or film a time lapse using the Kopok’s tripod screw.

Admiring the beauty of an iPhone ‘Aged to Perfection’

I like this a lot — a blogger over at the design mind blog is admiring the look of gadgets like the iPhone that have been “Aged to Perfection.” In other words, gadgets that are well-used and that carry the mark of being carried around. Maybe it’s just because I’m an iPhone user that frets over every little mark and scratch my iPhone gets, but I’m surprised by just how good the beaten-up iPhone in the picture above looks. No, it’s not as sleek or fresh as the beautiful pictures of new products Apple posts on its website, but it’s beautiful in another way. As blogger Remy Labesque says about these gadgets, “their battle scars reveal the stuff they’re actually made of.”

An iPhone isn’t exactly designed to age well — it’s not cheap or flimsy by any means, of course, but Apple’s steady release and technology improvement schedule means that most iPhones sold back on day one probably aren’t still in use today. Apple doesn’t have a lot of reasons to change that, either — those record profits don’t keep rolling unless people keep buying new iPhones.

But I like Labesque’s idea of a gadget designed not just to be new and shiny, but to be worn and well-used. Like a pair of old jeans or a solid leather wallet, there’s value in having a powerful computer both when you wait in line on release day, and a few years later when it’s been put through the paces.

Admiring the beauty of an iPhone ‘Aged to Perfection’ originally appeared on TUAW on Thu, 05 May 2011 23:00:00 EST. Please see our terms for use of feeds.

Source | Permalink | Email this | Comments