Enhance Your Browsing Experience With Dolphin Browser

Safari on the iPhone is an extremely well designed browser. It’s simple, useful and very powerful. There are a number of alternatives on the App Store that offer extra functionality, but personally, none of them live up to the expectations, and I always tend to switch back to Safari after a while or even without thinking about it.

Dolphin Browser was originally available only for Android smartphones, and is pretty popular on that platform. It was recently ported to the iOS line, and in this review I’m going to see if its popularity on Android is well justified. Follow on after the break.

Getting Started

Launching Dolphin is quick (perhaps a little slower than Safari, but barely noticeable) and you’re first greeted by Speed Dial. Speed Dial (just like in Opera) allows you to have your most visited websites right there when you launch the app or open a new tab. It is a major point for Dolphin, since it’s a lot more comfortable than the behavior Safari has when you open a new tab. It’s completely customizable, of course.

Speed Dial and Browsing

Speed Dial and Browsing

While broswing a website, you get all the expected behavior. Tap to scroll, pinch to zoom, double tap to zoom to a portion of a page, etc. You even get tabs, which is pretty cool and makes browsing through multiple pages much easier. There is something I didn’t expect though, and that is that you can’t tap the status bar to scroll to the top, although you can tap the lower right hand corner icon to view the address and tab bars. You can also quickly share a link to Twitter and Facebook by tapping the Twitter icon to the left of the address bar.

Options while browsing a website

Options while browsing a website

There are a number of things you can do while on a website. By tapping the third icon from the right on the bottom toolbar, you get a menu with six options. You can add a bookmark, find something on the page, pin the page to Speed Dial, copy the page url (which I found pretty useful, actually), and mail a link to the page. There’s also a Create Gesture option, which I’ll talk about next.

Gestures

One of the cool features of Dolphin are the gestures. See that hand icon on the bottom toolbar, right in the middle? Well, tap it, and you’ll get a sort of drawing board where you can draw. Dolphin comes with a list of predefined gestures, like one to go to Twitter or Facebook. You can add custom ones as well.

Performing a Gesture and the list of predefined gestures included with Dolphin

Performing a Gesture and the list of predefined gestures included with Dolphin

There are a number of ways to create a gesture. Gestures that take you to a website can easily be created within the site itself. Remember the previous section? There’s an option that’ll create a gesture pretty quickly. The second way to create gestures are from the gesture list. Simply swipe to the left on your screen to reveal a sort of hidden menu, tap Gesture, then New and choose from the list. There are a lot of cool actions you can choose from, and my personal favorites are Add to Speed Dial and Add Bookmark. I have to say, gesture recognition is impressive! I drew some pretty complicated patterns and Dolphin always got them right.

Adding a new gesture

Adding a new gesture

Webzines

Dolphin does have a killer feature actually: Webzines. They’re a way to see your RSS, Twitter and Facebook feeds in a cool way. From the Speed Dial screen, swipe to the left to reveal the list of Webzines. Each one shows its content in a simple way, and makes it easier and clearer to read all your feeds.

Viewing a Webzine on Dolphin

Viewing a Webzine on Dolphin

You can even add new Webzines, simply tap Add Columns and look for the Webzine you want. There are also websites that show a little icon on the address bar (like iPhone AppStorm!) that can show you the content in Webzine format.

Adding a new webzine

Adding a new webzine

Download Manager

One of the upsides of using Dolphin is that you have the ability to download files, a feature sorely lacking in Safari. You can save PDFs and other simple file types in Safari, but ZIPs and more complicated documents can’t be downloaded. In Dolphin, they can!

Downloading a file and the download manager

Downloading a file and the download manager

Just tap on the download link, tap on Download and Dolphin will store the file in the Download Manager. To reveal the Download Manager, just swipe to the left and tap on Downloads. You can then review the files and open them on whatever app that supports it, or even change the file’s name.

Bookmarks & Settings

Swiping to the right from any website or the welcome screen reveals the bookmarks bar. They work as you’d expect, and in a pretty similar way to Safari’s bookmarks. Adding one is as easy as browsing to the webpage, and choosing Add Bookmark from the action menu I showed you a few steps back.

Bookmarks bar and adding a new bookmark

Bookmarks bar and adding a new bookmark

You can create gestures that enable/disable Desktop and Private mode as well, which is pretty useful and faster than going to the settings pane.

The app’s settings (accesible from the right toolbar, by swiping to the left), don’t let you customize much, but there are options to disable the iPhone’s auto-lock feature, enable Desktop Mode and Private Mode. Desktop Mode is a very useful feature, since it loads websites as if you were on a normal computer, skipping the mobile version.

Final Thoughts

Few iPhone browsers are good enough to be able to replace Safari. Most of them aren’t fast enough, offer too many features that clutter the interface, etc. Dolphin, on the other hand, is quick, simple and has features one really uses, like gestures and a download manager.

I’ve already made the switch to Dolphin on my iPhone and on my iPad. It’s a great browser; it has all the features I need and none of the features that aren’t really necessary. It has worked great for me so far, hasn’t crashed, gesture recognition is incredibly accurate and it’s a very fast app. I recommend you give this browser a shot, and after all, it is free.

Should You Get the iPhone 4S?

As a lot of us already know, the iPhone 4S was shown to the world a few days ago. Whenever a new Apple product comes out, I always go through this game in my mind of “is this worth buying?” Even if I am not planning on purchasing it myself, I like to think about it from a consumer point of view.

So does it make sense for you to buy the iPhone 4s? Let’s look at a few different scenarios and find out after the break.

iPhone 3GS Owner

This type of person is a no brainer, to some degree. If you own an iPhone 3GS and your two-year contract is up, it only makes sense that you upgrade. The only decision making you have here is do you go for the iPhone 4 or the iPhone 4S?

The difference between the two comes basically down to two things: money and hardware. You can get an iPhone 4 for about $100 cheaper than you can get an iPhone 4S. But is the 4S worth the $100 upgrade?

In my opinion, the answer would be “yes.” Here’s why: First of all, you can probably get about $50 or so for your used 3GS if you decide to sell it, which in turn makes the upgrade now only $50 more. Even if you can’t get anything for the 3GS or you don’t plan to sell it, you might as well get the best iPhone you can, being that you will be locked into a two-year contract. The way I see it, you might as well have the best equipment for two years than have something that came out a year ago and will now be three years old when you’re up again for another iPhone.

iPhone 4 Owner

Ok, this is where it gets a little complicated. First, there are those of you that are in your contract with either Verizon or AT&T and you don’t have a renewal coming up, which means you will have to pay full price if you want that new iPhone 4S. If that’s the case, you’re looking at paying $650 and up. There is nothing to me that can justify paying this amount if you already have an iPhone 4, so we’ll put that topic to bed.

The iPhone 4S

The iPhone 4S

Where it starts to get really interesting is if you are in a group of people that can actually get the iPhone 4S with the subsidized price. The only way you would qualify for something like this is if you are on AT&T. Being that Verizon just got the iPhone, most people wouldn’t be able to do this. I bring this scenario up because I checked out of curiosity last week to see if I was eligible for the new iPhone. It just so happens that I am eligible at the subsidized price.

I started to get a little excited and then realized the consequence: I had to stay locked in for another two years if I wanted to upgrade. Thus, the wheels started turning in my head as to whether this would be a worthwhile purchase or not.

In the end, I realized that even though I could get the new iPhone 4S for practically free because I could sell my iPhone 4 for close to what I would buy a new iPhone 4S for, I just didn’t want to be locked in to a carrier for another two years and possibly missing a better, redesigned iPhone next year.

More iPhone 4S goodness

More iPhone 4S goodness

Now, granted, maybe you are in this position as well. You have some questions to ask yourself. Do you like the carrier you are with, which in this case would be AT&T? If so, are you going to bank on the fact that AT&T will let you do this again next year  — or worst case scenario, will you be okay holding onto the 4S for two years? I also think the other question you have to think about is the somewhat minor upgrade from the 4 to the 4S worth going for.

Infinity Blade II on the iPhone 4S

Infinity Blade II on the iPhone 4S

Conclusion

In the end, there are no easy answers and we could probably debate this for a long time. Me personally, I plan to hold off until the next one comes out. Even though I may not be able to get as much as I would like for my iPhone 4 a year from now, I think the extra money spent on the iPhone 5 (presuming that is what it will be called), will be worth it because of the major changes that should be made.

You have to remember, starting with the iPhone 3G, Apple kept the same design for two years in a row, just updating the inside of the phone, hence the 3GS and the 4S. So you have to believe the next iPhone will be pretty cool.

Lots to think about. In the end, you have to do what you think is best for you and your situation. Everyone is different, everyone has different wants and needs. So it begs to at least ask, what ARE  you planning on doing and why?

Announcing Windows AppStorm!

We’re immensely pleased to announce that, after months of waiting, a new member of the AppStorm network has landed: Windows.AppStorm!

Complimenting Mac.AppStorm, Web.AppStorm, iPhone.AppStorm, iPad.AppStorm, and Android.AppStorm, our new Windows site will be offering reviews and roundups covering the entire Windows ecosystem, including Windows Phone 7, and games, along with tips and tricks to get the most from Windows.

We’re incredibly excited to bring you excellent Windows content of the high quality you’ve come to expect from AppStorm – daily reviews, how-to’s, roundups, news, and opinion. Read on to find out the best way to get involved!

Go to Windows.AppStorm…

The Last Rocket: Retro Gaming at its Best

The Last Rocket is a new puzzle/platformer that makes good use of the iPhone’s touch screen, has a great art direction, and is just awesome overall. Normally I’d be worried about saying all those things at the beginning of a review, but let’s face it: you’ll still read, if only to see some more pictures of that adorable little rocket.

The Premise

The Last Rocket follows Flip, the (you guessed it) last rocket being made after the end of an intergalactic war. Suddenly, the ship hits a solar flare, scattering precious items due for transport and Flip is forced to make his way through the ship, collecting gears along the way. The gears are to help AMI, the Autonomous Mechanical Intelligence terminal, escape with you.

AMI isn't nearly as adorable as Flip.

AMI isn't nearly as adorable as Flip.

Sure, it seems a bit far-fetched, but I personally found The Last Rocket’s premise to be playful but sound. Most games wouldn’t even bother with giving you a reason to collect an item or avoid some spikes, so it’s nice to see The Last Rocket take that extra leap and offer a reason for playing (as if Flip wasn’t reason enough).

Gameplay

The Last Rocket is controlled completely through touch and gestures; instead of relying on the often-misused virtual buttons, each action can be performed anywhere on the screen with success. Flip can launch with a simple tap of the screen, while a longer press will make him duck, and swipes will make him step to the side. Each of these actions is intuitive and reacted well my entire playthrough. Indeed, the few times I even tried to blame the game for my consistent deaths turned out to be my own human error. The Last Rocket really is a shining example of what can be done on the iPhone.

Yes, this is completely manageable with just touch. And no, this isn't the first level; you can breathe easily.

Yes, this is completely manageable with just touch. And no, this isn't the first level; you can breathe easily.

The level design is spectacular as well. There’s a bit of a learning curve, but the helpful computer often gives you tips on what you need to do or teaches you a new action. While the game does get more difficult in later levels, it’s not the cheap kind of difficulty that comes from a broken game; it’s a genuine increase in difficulty due to superb level design.

As an example, one of the main things that you will spend your time doing is guiding Flip away from spikes. Sometimes this will involve launching at just the right time to land on a platform, and at other times this mean you’ll have to think on your toes, combining all of the possible actions into a cohesive whole. I really cannot stress how excellent this game plays.

Visual Design

I’m a sucker for 8-bit style games, I’ll own that. I find myself appreciating the old-style sprites more than I appreciate hyper-realistic textures and photo-realism with character design. The Last Rocket holds true to its excellent gameplay in the visual design as well.

Look at him, just hanging out with some fans.

Look at him, just hanging out with some fans.

Not only is Flip absolutely adorable (which probably isn’t something you’d say about just any rocket, I’d bet) but his environment is simultaneously perilous and inviting. Each pixel is rendered perfectly, with a color palette that really serves to draw you in. Zero complaints on the visual end of things from me, which means that so far The Last Rocket is two-for-two.

Sound

Another part of the appeal of these 8-bit games is their music. While new games feature entire orchestras and are capable of drawing out emotion with a loud, well-recorded string section, 8-bit games can do the same with their seemingly-simple bits and boops. The Last Rocket is also coded with perfect sounds; each action activates a sound, and each seems to mesh perfectly with the other.

Beyond the gameplay music, there’s also excellent background tunes that blend in well with the overall experience. I found it hard to believe that so many good sounds could be incorporated into one game, but it turns out that there really isn’t too much of a good thing.

Listening to the music is nice, and the visuals definitely help provide the right mood.

Listening to the music is nice, and the visuals definitely help provide the right mood.

For those of you that would like to appreciate the music without playing the game (don’t worry, I’m doing my best not to judge you) The Last Rocket has a built-in music preview on the settings pane. Which, by the way, has an excellently-rendered 8-bit version of the default Game Center window on the bottom of the screen as well.

Conclusion

It may seem like I’m giving The Last Rocket undue praise, but that’s genuinely not the case. With the vast amount that I’ve spent with the game I’ve never felt cheated by the difficulty or felt that the system was broken in some way, and despite the time that I’ve put into the game I’m still trying to collect all gears and work on the best time possible.

Beyond its unparalleled presentation, I think that The Last Rocket really represents the future of iOS gaming in general, embracing the capabilities of the current platform and denying the throwbacks to the past (virtual buttons) that so many games use as a crutch. Each action is intuitive and makes sense both alone and in context, which is half the battle with the iPhone.

So, then, is The Last Rocket worth its cost of entry? Absolutely. By refusing to conform with the current crop of games available while paying homage to the “other” revolution in gaming, The Last Rocket carves out its own niche and stands tall on its own two thrusters.

Weekly Poll: Will You Buy the iPhone 4S on Launch Day?

Although reactions have been mixed on the new iPhone 4S, there are still a ton of people who are going to buy one, that’s for sure. Me? Well I’ve preordered mine, so I know I’ll have something shiny and new on October 14th, but that was kind of a given, right?

So where do you stand in the mix? Do you plan on buying an iPhone 4S on launch day, or are you going to wait it out for the next iPhone to arrive? Let us know in our poll!

Thanks to the iPhone.AppStorm Sponsors

Everyone here at iPhone.AppStorm would like to send out a huge thanks to this month’s iPhone.AppStorm sponsors, for all of the great work that they do. If you would like to advertise on the site, you can purchase a space through BuySellAds.

You could also look into getting a Quick Look submission, which is another easy way to show off your app to all of our readers.

Billings Touch — With an intuitive interface and a straightforward workflow process, Billings Touch makes time tracking, invoicing and quoting a simple process.

Unlock iPhone Tool — Fully Unlock your iPhone and iPad. Use your Apple iPhone & iPad devices on any GSM cellular network of your choice, all over the world. Take advantage of host country’s new rates, if you’re abroad and save your money. Start saving now.

iGearUSA — iGearUSA.com is a leading online retailer and manufacturer of iPhone accessories that offers a large selection of products ranging from iPhone Car Kits, Cases, Chargers & Cables, Cradles & Docks, Headphones, Headsets, Screen Protectors, Touch Pen and more. We’re based in City of Industry in beautiful southern California. We offer the latest Apple iPhone accessories with rapid fulfillment, expert support and excellent customer service.

CopyTrans Tune Swift — 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!

iProgress — Give your life a BOOST! with iProgress. iProgress is part of our life-changing line and is primarily designed to help you incorporate new activities into your life, increase your everyday efficiency and to assist you reaching your goals. One step at a time, day after day, month after month, until you’re done, using randomly generated reminders, precise statistics and Introspector — our built-in journal.

Clear Tones — You don’t want to look like everybody else, why would your iPhone/Android phone sound like everybody else’s? Cleartones offers a set of 50 quality “hand made” minimalist ringtones for the serious user. Like yourself.

Ideas to Apps — If you want to design your own iPhone app, this is a great place to start. It’s a step-by-step guide to designing your own app, then finding someone to develop it for you.

Monster Lord — This is a D&D(Dungeons & Dragons) style role playing game in iPhone. You can capture various monsters to join your army as game proceeding. Every monster gets his own special skill and different attributes growth rate. Some monsters are extremely strong, some are very smart … You need to discover them by yourself on the world. Use your best strategy to win the battle, earn the money and experience points.

Minds — Minds is a simple but beautifully designed task manager app with intuitive and advanced features. Most of the to-do apps are not actively used as long as the end users do not open them, whereas Minds may serve the role of a personal assistant. Users can create location and time based reminders under to-do as well as under notes. Main screen tools such as Voice Memo, Camera and Location allow the user to quickly add to-dos and take notes. Native interface design and navigation let the user to easily manage his/her everyday tasks. After all, Minds turns the device to a more powerful tool to use.

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!

Graphic Designer Bundle on Sale!

Hello readers of AppStorm! As you may know, from time to time we cross promote other Envato sites and services here on the AppStorm network. Well, today we launched a short-run Graphic Designer Bundle on our marketplaces, and it’s fantastic value – $500 of photos, images and Photoshop/Illustrator add-ons for just $20!

In the bundle are files from our long-running and highly popular GraphicRiver marketplace, and the newly launched PhotoDune marketplace for royalty free stock photos. It’s a fantastic deal with some great stuff in it. I should know, as I picked the files myself!!

Maybe it’s just because I love graphics and design, but I would buy this bundle in a heartbeat. If you love a bit of Photoshop, you’ll have so much fun with these files, and they’re bound to come in handy on projects.

Buy the Graphic Designer Bundle

or check out just SOME of the $500 of files included in the bundle:

… and there are plenty more beautiful items and images included. It’s really a great deal, and definitely one for your toolkit! Don’t delay though, it’s only available until Friday midday (Australian time!)

Buy the Graphic Designer Bundle

OK that’s enough marketing from me, now back to your regularly scheduled programming ;-)

Steve Jobs

A mere few days have passed since the news came in, and I thought it would be fitting to collect together some thoughts from a few of the AppStorm editors. This is simply our tribute to a truly inspirational man.

Josh Johnson

I’ve loved Macs for almost as long as I can remember. The last Windows machine I used thoroughly ran Windows 3.1. Back then owning a Mac didn’t make you fit in with the crowd like it does today. It was a rebellious act, a way to set yourself apart from mainstream computing nerds. The Mac culture was one of pride, creativity and undeniably accurate stereotypes that would later give birth to the “I’m a Mac” campaign. Mac users were the guys wearing jeans and running graphics software while the rest of the world was excited about spreadsheets.

When I was very young, I never considered myself to be very creative. I couldn’t draw, paint, sculpt, sing or do anything else that defines a “creative person.” I always felt like I should be good at these things but they were constantly more points of low self esteem than bragging material. However, when I started using a Mac, something changed. The palpable creative culture surrounding these machines sucked me in. I identified with the core ideas of this movement more than I could’ve imagined and eventually found my personal identity changing. I was a Mac user. I appreciated good design and sought balance between aesthetics and function. It turns out there was a graphic designer in me that I had no idea existed. Today I live and breathe design both on a professional and personal level.

Steve Jobs was/is the personification of all of this culture, all of these idea, indeed of everything I found myself wanting to be. He was the boldest of entrepreneurs while remaining a sharp contrast to the boring, uptight business men that were indicative of the professional world. My first ever college essay was on Steve Jobs. I watched his presentations before speech class to emulate his ease and finesse. I got a degree in business so I could study iconic leaders, Jobs never moving from the top of that list. As a professional graphic designer, I looked to his company for visual inspiration. The first writing job I landed literally led to me writing about Jobs for a living.

There are thousands that can say that they wouldn’t be where they are today if not for Steve Jobs. For me this is not hyperbole or baseless celebrity worship, it is a fact. I have based my entire career and much of my personal identity on this corporate giant and creative prophet. It saddens me immensely that I will never shake his hand. Despite never even coming within miles of the man, I will miss him greatly. Goodbye Steve, as you slip into eternity for “one more thing,” I hope and pray that it is the greatest of all your endeavors.

Kevin Whipps

I found out that Steve Jobs had passed when I received a text message on my iPhone from first my mother, then my father on my iPhone. I went to the web to try to find confirmation and once it appeared on CNN, I slumped down onto the couch, not sure how to process the news. Today, I’m deeply connected to the Apple ecosystem and everything it encompasses, but it wasn’t always that way.

One of the favorite stories my wife likes to tell is about how I bought my first iPod. All of my friends were getting them, but back then the iPod Photo I wanted was really expensive and I just couldn’t make up my mind. I remember bringing it up almost daily, and apparently I was more than a bit irritating in the process. Finally, after six months of debate she just yells, “Buy the damn thing already!” And I did. Although it doesn’t hold a charge for very long, it still works today just fine.

But my first Mac purchase of my own was when Apple made the move to Intel. I decided that I was tired of dealing with all of the problems in Windows, and since all of my photographer friends were singing the praises of Apple, I might as well give it a shot. I bought a 13-inch white MacBook with an Intel Core Duo processor, and just about a week later the same model was upgraded to an Intel Core 2 Duo. I was really upset, but after a quick call to the store, I took it back and exchanged it for the upgraded model, no questions asked. It was probably that moment where I was so taken care of by the Apple employees and the high level of customer service that I really started to love the company.

Today, I own quite a few Apple products, and tomorrow I’ll be making another purchase as well. All of this is because of Steve Jobs and his vision of the future. His contributions have put food on my family’s table, yes, but they’ve also changed the way we all do things every day. I often tell my friends that I feel like I’m “living in the future,” and that wouldn’t be possible without Steve and how he turned his dreams into reality.

It’s funny, but as I’m typing this I realize that as a pseudo-journalist and writer, the correct way to refer to Steve Jobs is as his full name on first reference, and his last name from there out. But while writing it, it makes more sense to refer to him as Steve because I think of him more like a friend. That’s ridiculous — I never met him, stood near him and I doubt we ever were in the same zip code — but because of what he’s done for my life, he’s my friend. And you don’t refer to friends by just their last name.

I’m really going to miss Steve and what he’s done to improve my life, but I think I’m the most sad that my son won’t get to see what Steve could have done.

It’s funny, but my son has never known a phone other than an iPhone, and we use FaceTime with him frequently. Last night he was playing with this little laptop computer toy that someone bought him, and he kept trying to touch the screen to make it do something, just like he would with an iPhone. He’s only 18 months old.

I can’t think of a much better tribute to Steve than that. Farewell, friend.

Joel Bankhead

The sheer volume of appreciation that has been poured out over the last few days is staggering. While it’s certainly not unexpected, it is truly amazing that so much gratitude has been lavished upon a man whose most prominent role was as CEO of a technology company. There’s a reason for this.

Apple is what it is because of Steve Jobs. There are no two ways about it. The innovation that has come from the company in the last decade since his return has, and is continuing to, reshape the way we live. It’s immensely sad that we should lose such a creator in the prime of his most artistic period.

It think that’s what hits home hardest, that we’ll never know what the next twenty years would have looked like with Steve Jobs around – there’s a definite and real sense of loss. I find his example profoundly challenging, as he seemed to be a man who was intent on pursuing creativity and perfection, and who invoked, inspired, and simultaneously demanded the best in those around him; evidenced by his early and fervent support of the company that went on to become Pixar.

We need not be concerned about Apple. He has left it in the safest of hands, and cultured an attitude of innovation that won’t easily fade. His legacy is one of true invention, but also of impassioned leadership and tenacity. This leaves us with the question of what we can take from this?

The imitation of his passion for design and technology is, and has never been, the point; the message he wanted to convey, and that Apple was founded upon, was one of being wholly and completely yourself, utterly committed to your life and aspirations. John Lilly sums it up perfectly in his fascinating article on Steve, when he says:

Be yourself and work as hard as you can to bring wonderful things into the world. Figure out how you want to contribute and do that, in your own way, on your own terms, as hard as you can, as much as you can, as long as you can.

We should take note.

Quick Look: Word vs Word

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 Word vs Word. The developer describes Word vs Word as offering everything that makes a word game fun. Your mission is to figure out a secret word and the best part is, you’re trying to guess your friend’s word, other people who are playing or you’re challenging yourself to a solo game. People playing Word vs Word describe it as a combination between a classic crossword puzzle, a word search and a good ol’ fashioned game of hangman.

Read on for more information and screenshots!

Screenshots

Word Vs. Word

Word Vs. Word

About the App

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

  • New social word game competition app
  • Word games “live” with friends or other players
  • Chat with friends or opponents as you play
  • Enjoy hours of solo games guessing words
  • Learn new words and their definitions

Requirements: iOS 3.1.3 or later

Price: 0.99

Developer: Spuzzle, Inc.

Vote for a Review

Would you like to see us write a full review of Word vs Word? Have your say in our poll:

Would you like to see Word vs Word reviewed in-depth on AppStorm?

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.

Back To Basics – An Introduction To View Controllers

Introduction

In today’s post, we are going to be discussing view controllers. Let’s start by talking about what a view controller is and it’s role in your iOS projects.

What is a View Controller?

View Controllers are at the core of every application. They act as sort of the glue between your models and your views. View controllers are both responsible for fetching/initializing your models as well as loading up your views to display the information within them.

Basic View Controllers

Every view controller that Apple provides extends from the base UIViewController subclass. This gives them a few basic properties that you will find handy. The most important of course is the view property. This is a reference to the view that the controller is managing.

Along with some default properties, you also get some powerful methods that allow each UIViewController subclass to easily interact with all of the common view controllers.

Here are some of the basic view controllers to be discussed in this post:

  • UINavigationController
  • UITableViewController
  • UITabBarController

I picked these 3 controllers since they are the most common and are automatically created in the main project templates when creating a new XCode project.

UINavigationController

Basic Navigation Interface

Generally we don’t talk about UINavigationControllers outside of the context of a UITableViewController, however we need to discuss them prior in order to see what’s going on under the hood.

UINavigationController are used when you want to have some sort of hierarchal representation of your data (ie drill down). They work using a stack of UIViewController subclasses. Every time you “drill down”, you simply add another view controller to the stack. Then, the “back” logic is simply a matter of popping view controllers off of a stack.

At the bottom of the stack, there is the rootViewController which get set during initialization and can never be popped off. At the top of the stack, is the current view controller who’s view is being displayed to the user.

Here is a code sample demonstrating how to push a view controller on to the navigation stack.

// Initialize MyViewController object
MyViewController *controller = [[MyViewController alloc] initWithNibName:@"MyViewController" 
                                                                   bundle:[NSBundle mainBundle]];
// Pushes MyViewController object on the navigation stack
[self.navigationController pushViewController:controller animated:YES];
[controller release];

In this example, we instantiate a new UIViewController subclass called MyViewController and push it on to the view controller stack. One very important detail to point out is, you must do this from inside of a view controller that is contained inside of a navigation controller, otherwise the “self.navigationController” property will be nil. navigationController is a property of every UIViewController subclass that gets set whenever it has been inserted into a UINavigationController.

Another thing to note is, we release the controller after pushing it on to the stack (prior to iOS5 with ARC). This is because the navigation controller will retain your view controller therefore preventing it from being released from memory.

The following code will pop the view controller off of the view stack with an animation.

[self.navigationController popViewControllerAnimated:YES];

Now we are going to see how UINavigationControllers are used in conjunction with UITableViewControllers.

UITableViewController

UITableViewController

UITableViewControllers are quite possibly the most popular/common view controllers used in iOS. They are perfect for displaying large amounts of data or any sort of form entry.

By default, a UITableViewController has a UITableView as it’s main view and serves as both the delegate and data source for this view. What this means is, it is responsible for populating the table with data, configuring how the data is displayed, and determining what to do when the user interacts with the table (swipes, touches, etc…).

Let’s take a look at a simple UITableViewController. Here is an init method initializing the data array to be displayed in the table view as well as the primary 3 data source methods.

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        self.title = NSLocalizedString(@"Sites", @"Sites");
        // #1
        _dataArray = [[NSArray alloc] initWithObjects:@"Reddit",
                                                        @"XKCD",
                                                        @"The Oatmeal",
                                                        @"Hacker News",
                                                        @"iCodeBlog", nil];
    }
    return self;
}
 
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    // #2
    return 1;
}
 
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    // #3
    return [_dataArray count];
}
 
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *CellIdentifier = @"Cell";
 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
        cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    }
 
    // #4
    cell.textLabel.text = [_dataArray objectAtIndex:indexPath.row];
    return cell;
}

As mentioned before, we are displaying a simple array of NSString objects in the table view. This array gets initialized in #1 before the tableview is even displayed. The next method in #2 returns the number of sections for the table. In our case, we only need one section so we hard code the number 1 as the return value.

The code in #3 returns the number of cells in a given section. Generally, this will mean the number of objects in your array. So, we just return the count property of our dataArray.

Finally, the method in #4 builds the cell for a given row in a section, configures that cell, and returns it. In our case, the only configuration we need to do is set the text property of the cell’s UITextLabel to the string in our array at the corresponding index.

These 3 methods are the absolute minimum required to use a UITableViewController and display its table. There are quite a few more methods that you can implement related to the cell height, titles for sections, and more. The last thing I want to show you is how to support basic user interaction.

There is only one method you need to implement to support taps on the cells. Here is the sample code from above inside of didSelectRowAtIndexPath.

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    // Initialize MyViewController object
    MyViewController *controller = [[MyViewController alloc] initWithNibName:@"MyViewController" 
                                                                       bundle:[NSBundle mainBundle]];
    // Forward some data
    controller.site = [_dataArray objectAtIndex:indexPath.row];
    // Pushes MyViewController object on the navigation stack
    [self.navigationController pushViewController:controller animated:YES];
    [controller release];
}

Now when the user taps a row, it will loading up a MyViewController object, pass along the information about the cell tapped and push it on to the view stack. One thing to note here is, this code assumes that the UITableViewController class presented above is inside of a UINavigationController.

UITabBarController

UITabBarController

The last controller we are going to discuss in this post is the UITabBarController. As you may have seen in many applications, a tab bar separates out view logic into multiple “tabs” and switches between them when the user taps on each one. Each tab represents a different view controller that could be any of the types above. As a newer developer, TabBarControllers are a little tricky to implement manually, so I’d suggest starting your project using “Apple’s Tab Bar Application” template file. This will provide you with a simple tab bar application with two sample tabs.

We are going to walk through the code generated from the iOS 5 template that details how a tab bar is constructed.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
    // #1
    UIViewController *viewController1 = [[[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil] autorelease];
    UIViewController *viewController2 = [[[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil] autorelease];
    // #2
    self.tabBarController = [[[UITabBarController alloc] init] autorelease];
    // #3
    self.tabBarController.viewControllers = [NSArray arrayWithObjects:viewController1, viewController2, nil];
    // #4
    self.window.rootViewController = self.tabBarController;
    [self.window makeKeyAndVisible];
    return YES;
}

The code here is actually pretty straight forward. #1 initializes both of the view controllers we want to display in 2 separate tabs. Don’t worry about setting their title and tab bar icon now, I will get to that in a moment.

Now, in #2 we initialize the tab bar controller. Unlike the UITableViewController, we don’t need to make our own subclass. It is fine to just let the app delegate manage an instance of the tab bar controller.

The code in #3 is where we set the view controllers of the tab bar controller. It should be clear now how easy it is to add more “tabs” to you your application.

Finally, #4 adds the tab bar controller to the window displaying it to the user.

Let’s take a quick look at the code in the initWithNibName method of FirstViewController in order to see how the title and image are set for that controller.

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        self.title = NSLocalizedString(@"First", @"First");
        self.tabBarItem.image = [UIImage imageNamed:@"first"];
    }
    return self;
}

Pretty simple right? Every UIViewController subclass has a title and tabBarItem property. That way, it knows what to display if you place it inside of a UITabBarController.

Conclusion

This wraps up our very surface level introduction to UIViewControllers. I have zipped both of the sample projects used here and you can download them here.

If you have any questions or comments, please feel free to leave them here or write them to me on Twitter.

Happy iCoding!

This post is part of an iOS development series called Back To Basics. You can keep up with this series through the table of contents, RSS feed, or Twitter.

Subclassing Class Clusters

Subclassing is something any object oriented programmer is pretty familiar with. Common examples would be that a square is a subclass of a rectangle. This means that all squares are rectangles, and hold all properties of rectangles but not all rectangles are squares. Squares are a special subset of rectangles that have both sides being the same length. Objective-C has become so evolved that you may use this simplified conceptualization for all objects in Objective-C when in reality there is much more complexity behind the scenes in some of the most common Objective-C objects.

For certain Objective-C objects such as NSString, NSNumber, NSArray, NSData, NSDictionary a design pattern called Class Clustering is utilized to present a public facing class to represent a collection of classes used behind the scenes. While this ends up creating some really powerful objects in the default Objective-C API, it presents some challenges to subclassing. Apple speaks to the challenges in subclassing the abstract class superclass representing a class cluster. When doing this a class must:

  • Be a subclass of the cluster’s abstract superclass
  • Declare its own storage
  • Override all initializer methods of the superclass
  • Override the superclass’s primitive methods
  • This list of tasks can seem a little overwhelming at first but it is pretty simple once you get into it. Today we are going to subclass NSString. The example we will make will encrypt a string upon initialization, the reason we want this to be a subclass rather than a category is that we want to be able to distinguish encrypted NSString object types from non encrypted object types.

    ICBEncryptedString.h

    Below is the our encrypted string object header. As you can see we are indeed subclassing the cluster’s abstract super class, in the case NSString. We are also declaring our own storage there with out NSString backing store instance variable. The great thing about this abstract parent class subclassing is that you can still use the type you are most used to as your backing store. If speed or memory was important to you here, you could also implement it with more lightweight C based structures as well. With that done we declare a new special class level initializer and override initWithString:

    #import <Foundation/Foundation.h>
     
    @interface ICBEncryptedString : NSString {
     
        NSString *_backingStore;
    }
     
    +(id)encryptedStringWithString:(NSString *)string;
    -(id)initWithString:(NSString*)string;
     
    @end

    ICBEncryptedString.m

    According to our to do list the next thing we need to do is override all initializer methods of the super. This would be very annoying to do for NSString so I have done it with 2 specific methods that I will always use when initializing ICBEncryptedString’s. So in our initializer here we simply take he string provided to us, SHA1 it, and then set our _backingStore NSString instance variable to the now encryptedString. The only remaining thing to do is override the superclass’s primitive method. NSString’s documentation tells us that the required primitive methods to override are length and characterAtIndex:, essentially, every other instance method for NSString relies on these methods as their backing. With this done we now have a distinguishable Encrypted String class that has all of the abilities of NSString but does encrypting for us on initialization. Check out the class implementation below.

    You can find the NSString category for SHA1 at the awesome new site iOS Boiler Blate

    #import "MaaSEncryptedString.h"
    #import "NSString+Helper.h"
     
    @implementation MaaSEncryptedString
     
    +(NSString*)encryptedString:(NSString*)string {
     
        return [[NSString stringWithFormat:@"%@", [string SHA1]];
    }
     
    +(id)encryptedStringWithString:(NSString *)string {
     
        return [[[MaaSEncryptedString alloc] initWithString:string] autorelease];
    }
     
    -(id)initWithString:(NSString*)string {
     
        if(self = [self init]) {
     
            _backingStore = [[MaaSEncryptedString encryptedString:string] copy];
        }
     
        return self;
    }
     
    -(void)dealloc {
     
        [_backingStore release];
        [super dealloc];
    }
     
    -(NSUInteger)length {
     
        return [_backingStore length];
    }
     
    -(unichar)characterAtIndex:(NSUInteger)index {
     
        return [_backingStore characterAtIndex:index];
    }
     
    @end

    Follow me on Twitter @cruffenach

    iPad has 97.2 percent of US tablet Internet traffic

    comScore has determined that the iPad now accounts for more US internet traffic than the iPhone for the first time. 46.8 percent of iOS device traffic now comes from iPads, while 42.6 percent comes from iPhones.

    Want a more impressive figure? How about this: the iPad accounts for 97.2 percent of US-based internet traffic via tablet devices. All of its competitors account for the remaining 2.8 percent. Either this means the iPad is outselling Android and other tablets by a wide margin (something we already know is true), or else owners of competing devices just aren’t using them to browse the web all that much. Or both. Either way, it doesn’t paint the rosy picture of “Android ascendant” that we keep hearing.

    In fact, when you take off the smartphone blinders and look at all iOS devices versus all Android devices, Apple’s position in the market looks far less “precarious” than various reports might lead you to believe. iOS devices account for 43.1 percent of the US installed base for mobile devices, with Android accounting for only 34.1 percent. The gap is even wider when you look at how much people actually use their mobile devices; iOS accounts for 58.5 percent of mobile traffic compared to 31.9 percent for Android.

    Android — that is, all Android smartphones across all manufacturers — may be “winning” compared to Apple’s substantially smaller range of devices when looking at market share alone. By just about every other metric that matters (most of which matter far more than device market share), results like this comScore study prove Apple is in no danger whatsoever of “losing” to Android.

    iPad has 97.2 percent of US tablet Internet traffic originally appeared on TUAW – The Unofficial Apple Weblog on Mon, 10 Oct 2011 21:30:00 EST. Please see our terms for use of feeds.

    Source | Permalink | Email this | Comments

    ‘Mythbusters’ Savage & Hyneman to host Steve Jobs retrospective on Discovery

    It seems like this must have been in the works for a while already, but Entertainment Weekly is reporting that the inimitable Mythbusters (Adam Savage and Jamie Hyneman) will be hosting a one-hour special on the life and achievements of Steve Jobs. iGenius: How Steve Jobs Changed the World will include interviews with key figures from Jobs’s past, including the legendary inspiration for Jobs & Wozniak’s first explorations into phone phreaking, John “Captain Crunch” Draper.

    Considering that Savage’s unofficial motto is “I reject your reality and substitute my own” (originally a line from the low-budget fantasy thriller The Dungeonmaster), he and his taciturn partner are well suited to honor the reality-distorting Apple co-founder. The show, a co-production with NBC’s Peacock Productions arm, will air on the Discovery family of cable networks on October 16.

    Show full PR text
    iGenius: How Steve Jobs Changed the World
    Premieres Sunday, 10/16 at 8PM ET/PT
    DISCOVERY CHANNEL CELEBRATES STEVE JOBS’ ENDURING INFLUENCE ON MODERN CULTURE IN iGENIUS: HOW STEVE JOBS CHANGED THE WORLD, MAKING ITS WORLD PREMIERE THIS SUNDAY, OCTOBER 16 AT 8PM ET/PT

    — Hosted by Adam Savage and Jamie Hyneman, One-Hour Documentary Features Interviews with Luminaries From Tech, Media and Entertainment —

    Steve Jobs was a creative and technological visionary who quite simply changed society as we know it. As co-founder and CEO of Apple Computer, Jobs ushered in personal computing to the masses, which in turn led to new innovations which completely changed our way of life – from how we do our work, to the way we watch movies, listen to music and interact socially. On Sunday, October 16, from 8-9PM ET/PT, Discovery Channel will feature iGENIUS: HOW STEVE JOBS CHANGED THE WORLD, a one-hour documentary that celebrates these innovations.

    Hosted by Adam Savage and Jamie Hyneman, who celebrate the spirit of innovation through intellectual curiosity on Discovery Channel’s MYTHBUSTERS, the special will feature interviews with people whose lives and livelihoods were forever changed by Jobs, including:

    Those at the front lines of personal computing’s birth, and former Apple employees and executives, including: Lee Felsenstein, founding member of the Homebrew Computer Club, Daniel Kottke, a friend who traveled to India with Jobs and who later become an early Apple employee, and John Draper, an engineer who gave Jobs his start
    Journalists, authors and critics who covered Jobs and his innovations, including NBC Correspondent Tom Brokaw, Joe Nocera (New York Times), cultural critic Toure, Bill Werde (Billboard) and Andrew Serwer (Fortune)
    Scientists and educators including theoretical physicist Dr. Michio Kaku
    Musicians, filmmakers and designers who saw their business completely change as a result of Job’s technological advancements, including: Stevie Wonder, Pete Wentz and lesser-known artists who credit Jobs’ innovations (such as iTunes) for their success
    Says host Adam Savage, “Someone once said that to follow the path that others have laid before you is a very reasonable course of action, therefore all progress is made by unreasonable men.” He continued, “Steve Jobs was an unreasonable man. He didn’t simply give the public what they wanted, he defined entirely new ways of thinking about our lives in the digital space: productivity, creativity, music, communication, media and art. He has touched, directly and indirectly, all of our lives.”

    Following its world premiere on Discovery Channel U.S., iGENIUS: HOW STEVE JOBS CHANGED THE WORLD will premiere across Discovery’s international portfolio of networks in more than 210 countries and territories around the world.

    iGENIUS: HOW STEVE JOBS CHANGED THE WORLD is produced for Discovery Channel by NBC’s Peacock Productions. For Discovery Channel, Brooke Runnette is Executive Producer; for Peacock Productions, Colleen Halpin is Executive Producer. Knute Walker, Benjamin Ringe and Aretha Marshall are also Executive Producers for Peacock Productions; Sharon Scott is Executive in Charge of Production.

    About Discovery Channel

    Discovery Channel is dedicated to creating the highest quality non-fiction content that informs and entertains its consumers about the world in all its wonder, diversity and amazement. The network, which is distributed to 100.8 million U.S. homes, can be seen in 210 countries and territories, offering a signature mix of compelling, high-end production values and vivid cinematography across genres including, science and technology, exploration, adventure, history and in-depth, behind-the-scenes glimpses at the people, places and organizations that shape and share our world. For more information, please visit www.discovery.com.

    ‘Mythbusters’ Savage & Hyneman to host Steve Jobs retrospective on Discovery originally appeared on TUAW – The Unofficial Apple Weblog on Mon, 10 Oct 2011 20:15:00 EST. Please see our terms for use of feeds.

    Source | Permalink | Email this | Comments

    Square already processing $2 billion in payments

    The iOS-based payment system, Square, is blowing up lately, just like we figured it would way back when. The company already handles up to US$2 billion in payments per year, according to the AP, and is used by 750,000 merchants. That “per year” is a little weird to say, especially considering the company has only been around for a little over a year. In short, Square’s experiencing phenomenal growth, and merchants everywhere are already depending on the company to see through billions of dollars in revenue. That’s pretty unprecedented, even in this crazy fast-moving world of iOS apps.

    And that’s not all. Square is also lowering the barrier of entry to the program, allowing even new merchants to have their money deposited in the bank as quickly as possible. Previously, merchants had a limit of $1000 that could be processed per day, but those limits are apparently now gone for all merchants, so everyone who sends a payment through Square will get it as soon as the company can send it out.

    That means we’ll see even more money going through the system. I’ve already used Square a few times with various merchants I’ve dealt with — early on, those were the folks at Macworld who were more than ready to depend on an iPhone-based processing system, but since then, I’ve seen it running everywhere from a local theater to a flea market merchant processing credit card payments. Square’s growth is really impressive, and if all the indications are true, it’s only beginning.

    Square already processing $2 billion in payments originally appeared on TUAW – The Unofficial Apple Weblog on Mon, 10 Oct 2011 20:00:00 EST. Please see our terms for use of feeds.

    Source | Permalink | Email this | Comments

    iPhone 4 and 3GS still selling strong

    The iPhone 4S hasn’t even launched yet, but it’s already the fastest-selling Apple product in history, at least if you go by the preorders. That doesn’t mean customers have abandoned Apple’s older phones, though. Analyst T. Michael Walkley of Canaccord Genuity did some digging, and after checking around the US carriers he found that sales of the iPhone 4 and iPhone 3GS haven’t slowed down even in the face of the new iPhone 4S’s debut (hat tip to AppleInsider for their coverage of his analysis). In years past Apple has seen sales slumps in the quarter preceding the launch of new iPhone models, but even though the iPhone 4S launched later in the year than its predecessors, iPhone sales remained robust.

    Walkley and other analysts have repeatedly found that old iPhones continually outsell new Android phones. Though it’s well over two years old now, the iPhone 3GS continues to be second only to the iPhone 4 in US sales. Even though it’s no longer a phone I’d recommend to new users, the 3GS is likely to remain popular given that it’s now available for free with a two-year contract.

    iPhone 4 and 3GS still selling strong originally appeared on TUAW – The Unofficial Apple Weblog on Mon, 10 Oct 2011 19:30:00 EST. Please see our terms for use of feeds.

    Source | Permalink | Email this | Comments