Blog Archives

iPad Keyboard Shortcuts

I was pretty excited to hear that the iPad supported a hardware keyboard. With my history in Unix, I’ve become pretty comfortable as a touch typist, enough so that there is no faster way to get words out of my head and into the text editor. My excitement was short-lived, however. Soon after receiving my Bluetooth Apple keyboard in the mail, I found that most of the keyboard shortcuts I was hoping for were not there.

So, after trying every keyboard shortcut I could think of, here’s a rundown of all the shortcuts that work on the iPad.

  • CMD – c (Copy selected text)
  • CMD – x (Cut selected text)
  • CMD – v (Paste)
  • CMD – z (Undo)
  • CMD – shift – z (Redo)
  • CMD – Up Arrow (Jump to top of document)
  • CMD – Down Arrow (Jump to bottom of document)
  • CMD – Left Arrow (Jump to beginning of line)
  • CMD – Right Arrow (Jump to end of line)
  • CMD – Delete (Delete everything on the current line to the left of the cursor)
  • Option – Delete (Delete the word to the left of the cursor, and its preceding space)
  • F1 (Dim Screen)
  • F2 (Brighten Screen)
  • F7 (Back one song)
  • F8 (Play/Pause Music)
  • F9 (Skip one song ahead)
  • F10 (Mute)
  • F11 (Volume Down)
  • F12 (Volume Up)
  • Eject key (Show/hide on-screen keyboard)

Luckily, all of the standard shortcuts for special characters still seem to work, like our beloved option – shift – k.

If I’ve missed any shortcuts, please let me know in the comments!

Apple’s keyboard dock has additional keys for locking the iPad, search, and home. I’m disappointed that those keys did not find an equivalent on the Bluetooth keyboard. I’m also disappointed that not all applications have full access to the key events sent from the keyboard. Most third-party apps that I’ve tested only have access to basic text entry and ignore the escape key or control characters.

The good news is that the shortcomings of the iPad’s keyboard integration are software, and can be fixed. I’ve heard rumors of good things coming in iPhone OS 4, so I’m hoping that CMD-q, CMD-tab, CMD-i, and CMD-b make a comeback. I’m also hoping for some better integration of the keyboard with Safari. Safari will recognized the keyboard for any text entry, but little, if anything, beyond that. The biggest missing feature for Safari for me is the ability to search for text on a page, CMD-F. CMD-I would be great for sending a page via email, and CMD-1 through 9 would be nice for bookmarklets like Instapaper.

Part of the problem with keyboard integration is the melding of the old world and new world. The iPad is meant to be touched and gestured to, but many tasks still require text entry. Typing is faster, far faster for me, than handwriting, and not as awkward as voice recognition software like Dragon Dictation (App Store Link). Looking at Apple’s track record for developing its products, it introduces a new product with very, very few features, and then hones and perfect those features over time, and adds new ones as the product matures. I’m confident that the iPad will one day mature into a writers companion, and a power user’s dream.

How-To: Sync AVI Files to Your iPhone

Whether you’ve had them floating around on your hard drive for a while, or you’ve been meddling in the torrent side of life, you probably have a few AVI files somewhere on your Mac. The trouble with AVI is the iPhone and most native mac applications don’t understand what to do with it.

To get an AVI into iTunes and then onto your iPhone, there are two methods you can use, both of which work equally well. However, both require downloading additional software.

Method One: Export from QuickTime

This method is fairly easy as you don’t have to learn to use a new program. On the other hand, I prefer to use method two below as it doesn’t take quite so long to process each file, in my case anyway. To use this method, you will need either QuickTime 7 Pro, which costs $30, or QuickTime X (part of the Snow Leopard package). You will also need to download Perian, which is a free preference pane and enables QuickTime to play AVI files, among other file types.

  1. Once you’ve downloaded and installed Perian, open your AVI file using QuickTime.
  2. QuickTime 7: To convert the file to a format which your iPhone recognizes, choose File > Export… then select a format from the dropdown list; MPEG-4 or iPhone are the best options to choose for this purpose. Choose where to save the new file and hit OK. QuickTime X: QuickTime X can send the file directly into iTunes, which saves a bit of time in the long run. Choose Share > iTunes… and you’ll be presented with three size options. Sometimes only iPhone will be available to select, but this is fine because that’s where we want to watch the AVI. Click Share and QuickTime will export the file directly into iTunes.
  3. You only need to continue with this step if you used QuickTime 7 previously. Once your file has been exported to your hard drive, all that’s left to do is drag it into iTunes, where it will be added to your library and can be synced to your iPhone.

Method Two: Convert Using ffmpegx

As I mentioned before, I prefer this method over the other because I find it faster. Also, using specialist conversion software can get you all the customisation features of QuickTime 7, without the price tag. The application I use is ffmpegx, which is shareware, but can be downloaded for free for our purpose with no limits or expiration dates. It also offers many options for conversion, including a whole host of preset options.

  1. Download and install ffmpegx and the additional files it needs to run.
  2. Drag and drop your AVI file into the From box in the left pane to have ffmpegx locate and open the file.
  3. Click Save As… and choose a file name and location for the converted file.
  4. In the To box in the right pane, click the downward arrow to access a dropdown list of preset file options. Alternatively, use the tabs at the top of the pane to access full customisation options.
  5. Click Encode and the program will do the rest. You can queue up additional files while that one is encoding if you wish.
  6. When the file has been converted, drop it into iTunes to add it to your library and put it onto your iPhone.

So there you have it: two ways of adding AVI files to your iPhone. I encourage you to try out both methods to find the one which works best for your needs. Or, perhaps, if you know of a better way, post it in the comments below for everyone to try out.

PC Games on Your iPad, Courtesy of HTML5

The iPad is already a strong entry in the mobile games realm, with its large, high-resolution display, touchscreen interface and support for external devices like keyboards. Plus it has the iPhone/iPad development community cranking out innovative games all the time, too.

In addition to all that existing gaming goodness, it looks like you might very soon be able to play a whole host of your favorite PC games on the platform, too. Not natively, of course (though ports of classics seems to be the thing to do these days), but via game streaming service Gaikai, which, much like OnLive before it, aims to remove the steep hardware barriers associated with many advanced video games.

Gaikai was shown running on an iPad (on Touch Arcade), and playing World of Warcraft on the device. Whether it’s a good thing to put WoW in the hands of addicts wherever they happen to go is another question entirely, but the promise of PC games running untethered on a device in your lap is intriguing indeed. I’m not a WoW player myself, but Starcraft II is landing late this July, and I somehow doubt it’ll be accompanied by a native iPhone port at the same time.

But will the gatekeepers at Apple allow Gaikai to invade its playground? The move could potentially have serious consequences on the App Store’s economics, since conceivably, Gaikai could stream any game to the iPad and other Apple devices, not just ones sanctioned by the Mac maker. Gaikai’s Dave Perry says Apple basically can’t block the service.

The reason being, Gaikai is HTML5-based technology. That means that its browser-based player will work fine on mobile Safari out of the box, unless Apple goes out of its way to shut down access to Gaikai specifically, which would fly in the face of certain recent correspondence by Steve Jobs himself regarding the closed nature of Flash versus the open nature of HTML5.

Gaikai shows the way to sidestepping iCensorship altogether, at least in terms of streamable web content. At this stage in the game, Apple has basically painted itself into a corner wherein it has to condone anything done using the HTML5 standard, versus rich media that uses browser-based plugins like Flash and Silverlight. It won’t work for all apps (like the one that allows you to sync wirelessly, for instance), but it should allow content providers to publish whatever kind of iPad and iPhone-targeted material they want without blocking fears.

We’ll see the Gaikai North American beta launch in the comings weeks, and then we’ll find out just how much openness Apple can tolerate. Hopefully it’s just enough to see me playing Civilization 5 on my iPad this fall.

10 Must-Have Board Games for the iPad

With the increased screen real estate of the iPad, it’s the perfect device for playing board games. If you haven’t had a chance to browse some of the great titles available on the App Store, here’s some of our favorite board games to get you started.


Such a classic, Scrabble is awesome on the iPad platform. Enjoy playing against friends (or a computer) on a gorgeous large game board. If you have an iPhone, download the free Scrabble Tile Rack and arrange your letters on your own device. When it’s your turn, simply flick them towards the game board and they’ll appear, ready for you to place and score big. Similar to the iPhone version, you can play against your friends locally or over a local network. Scrabble is $9.99.

Words with Friends

If there’s one app at the moment that’s popular across social networks and mobile devices, it’s Words with Friends. Similar to Scrabble, this game allows you to play, turn based, against friends who are playing on their iPads, iPhones or Facebook accounts. The app supports push notifications to let you know when it’s your turn, and you can chat in-game with your friends. At $2.99, this is definitely a fun board game for those who enjoy playing against friends and don’t want to take the leap to Scrabble.

Game Table

One of the first game apps on the iPad, Game Table provides a virtual game board for a variety of games, like checkers, chess, poker and other card games. It’s not a traditional game in the sense that you’ll have scoring or rules and stuff. Instead, it’s simply all the pieces to play games without all the fuss so you can play them any way you want. For 99 cents this app is a great value and the developers have promised that additional game pieces for Backgammon, Go and Reversi will be added soon.


While UNO technically is more of a card game than a board game, I decided to include it because it’s a very fun experience on the iPad. It features all of the traditional UNO rules and actions, like Draw 2, Reverse and Wild cards. It also supports multiplayer (sharing one device or multiple on a Wi-Fi network) and features challenges allowing users to unlock additional themes to give the game a fresher look. UNO HD is $4.99.


Strategery is an engaging game originally designed for the iPhone that has been optimized for the iPad as well. This game of world domination features you as leader of a “country” (think Civilization style) and you battle against your neighbors to gain/lose territory. It supports pass-and-play style multiplayer (with up to five players) or online battles with push notifications. The iPad version allows for much larger maps and a much more engaging experience if played like a traditional board game (a group of players gathering around the iPad). At $1.99, this app is a definite must-have.

Theme Checkers

Of all board games, Checkers (or Chess) was probably the most expected to debut on the iPad. There are a variety of both available now, but my favorite is Theme Checkers HD. Just like a real game, the movement is very fluid and natural. This game supports one and two player modes and regularly updated themes for unique checkers experience. Users can even create and install their own custom themes as well. Theme Checkers HD is 99 cents, so give it a spin and see what you think.

Board Box

If you’re looking for a little more than just checkers or chess, you should check out Board Box. Similar to some of the others I’ve mentioned, it includes checkers and chess, but this app goes further by including Reversi, Tic Tac Toe, Go, Draughts and more. Not only does it include the regular version of these games, but it also includes some variants. This app doesn’t support an automated second player, so you’ll either need to suffer from having a split personality or have a friend to play against. If there’s nobody local, you can play against friends through email. The developers of Board Box have promised that there will be no in-app purchases for this app so as they continue to update and add additional game boards and variants, the updates will be free. At $3.99, Board Box is a great investment.


If you’re a fan of Parcheesi, you should definitely check out Ludo ($3.99). Supporting up to four players (both human or computer), the game plays like real Parcheesi, except with a fresh modern interface and smooth animations and sound effects. Though there are a few other Parcheesi variants on the App Store, this one is definitely the best for the iPad. Additionally, your game state is saved so you can start and stop the game as you please.

Moonlight Mahjong

If you’re one who loves playing mahjong, check out Moonlight Mahjong for 99 cents. Putting a literal spin on the traditional idea of mahjong, this version is 3D, allowing you to use touch gestures to tilt and turn and zoom in and out. There’s over 90 built-in board layouts. When you get bored with those, you can create your own and share them with others. Plus, it offers for support of multiple players (even across Wi-Fi or against an automated opponent). If you’ve never given mahjong a shot, this is an excellent game to reduce stress and relax.

Honey, That’s Mine!

This is a “sweet” board game where players compete against each other to collect the most honey. If playing on the iPhone or iPod touch, the game supports pass-and-play for multiplayer, but if you’re on the iPad, the larger screen makes it easy to just place your iPad on a table and play against your friends. The idea of the game is rather simple, but the options for computer opponents and difficulty variations give this game additional replay value. Honey, That’s Mine is available on the App Store for $1.99.

This is just a small sampling of some of the apps available for the iPad. If you’ve tried these or found others you like, share your thoughts in the comments below. Personally I’m thrilled to find replacements of my favorite board games on the iPad. Just imagine how many little pieces I don’t have to keep up with anymore!

iPhone Dev Sessions: Making a Splash Screen

All too often an iPhone application’s launch sequence is an overlooked detail. The most common approach is to misuse the provided Default.png file as a splash screen. As it turns out, this detailing of an application is more than a little challenging if you want to get it right and stay within Apple’s guidelines.

The key to a smooth and professional looking launch sequence starts with knowing exactly where the application will land at startup. Some applications start at exactly the same place each and every successive launch, others attempt to preserve the application’s state and launch into the screen where the user last used the application. Keeping this in mind can change the strategy of how the launch sequence is implemented. This includes screen orientation as well as how and even if the status bar it to be displayed.

One may witness flickering of the status bar from blue, to black or from black to blue during the launch sequence. This is mainly due to the fact that there are two places to change the behavior of the status bar. One is hidden in the info.plist file, and the other is typically via code in the Application Delegate’s applicationDidFinishLaunching method. The info.plist configuration is used before the main window is loaded, and the code in the Application Delegate is used during the launching of the main window. The reason one may want to utilize both styles is to take advantage of a full screen splash page, and then enable the appropriate looking status bar once the application has finished loading.

For the purpose of this example application, we will assume that the user state is preserved between executions, and we do not know exactly what the screen will look like when the user enters the application. We will therefore be implementing a full-screen splash view that will have the status bar hidden during the launch sequence. Once the splash view has disappeared, a black opaque status bar will be utilized throughout the application. It is also assumed that the application will launch in portrait mode, and that the first screen the user will see will also be in portrait mode.

Editing the Configuration File

The first order of business is to take care of the status bar. In Xcode, locate the info.plist file for the project. To add an additional property to the plist file, simply select one of the entries and click on the plus tab that appears to the right and select Status Bar Style from the drop down list:

Edit Projects plist File

Edit Projects plist File

There are only three different styles to choose from. Try each style out to see which one fits the needs of the application being developed. For this example we will set the style to UIStatusBarStyleDefault.

UIStatusBarStyleDefault — Gray (the default)
UIStatusBarStyleBlackTranslucent — Transparent black (specifically, black with an alpha of 0.5)
UIStatusBarStyleBlackOpaque — Opaque black

If on the other hand the desire is to hide the status bar when the application launches, then yet another property needs to be set. In this case, add the “Status Bar is initially hidden” property to the plist file and be sure to check the box next to the property.

Editing the Application Delegate code

So now that the status bar style is set, and initially hidden, how does one get the status bar to display again? You can actually turn the status bar on and off programmatically via code. This is particularly handy when the need arises to display a full screen view, such as the splash screen this application is utilizing. In the applicationDidFinishLaunching method of the Application’s designated AppDelegate class, add the following line of code to make the status bar visible again:

 - (void)applicationDidFinishLaunching:(UIApplication *)application {     // Override point for customization after app launch     [window addSubview:viewController.view];     [window makeKeyAndVisible];     [[UIApplication sharedApplication] setStatusBarHidden:NO animated:YES]; } 

Adding a Default.png Image

Surprisingly, the size of this file is not as important as the naming convention of the file. Default.png is a case sensitive PNG file. The image should be 480×320 according to Apple. Following Apple’s conventions, this image should look like the view that the user will see when the application has launched, and not the actual splash screen.

Xcode provides a mechanism to create a Default.png file from an attached device running the application. From the Organizer window, select the device, click on screenshots and click capture. To make that screenshot your application’s default image, click Save As Default Image. Even though the image that is created includes the status bar as it looked when the screen shot was captured, the iPhone OS replaces it with the current status bar when your application launches. Just to be clear, this is not a splash screen…not yet.

Long Launch Sequences to Varying Views

So far, this is what most applications will implement if they implement any sort of controlled visual experience when the application launches. If you follow Apple’s guidelines, and the image you produce is the first screen that the user will see, all is good. Except, what if the launch sequence is not as fast as the user expects? What if the application preserves state and lands on a different view based on the users last know state? Then this technique is not up to the task.

Photoshop a branded image representing the application and save it as a PNG image sized at 480×320. Do not include a status bar of any kind in the image file being created. Add this image file to the project. Now the application sort of has a splash screen, through a misused implementation of the Default.png file. To correct this, simply add an image view as a property to the App Delegates header and create it as follows:

     splashView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];     splashView.image = [UIImage imageNamed:@"Default.png"];     [window addSubview:splashView];     [window bringSubviewToFront:splashView]; 

At this point, the image view is utilizing the exact same image file that was created in Photoshop. There’s no chance of the initial view being different than the Default.png file at this point. The one remaining problem is the timing of when to remove the image view from the subview. This can be handled in one of two ways…

Controlling the Duration of the Splash Screen

The first option is for those with quick startup times that just want a splash screen. In this situation, create a method to remove and release the splash view, then calling that method via a timed perform selector call as follows:

     [self performSelector:@selector(removeSplash) withObject:nil afterDelay:1.5]; 

The removeSplash method does just that, removes the image view from the subview and releases the object.

     -(void)removeSplash;     {       [splashView removeFromSuperview];       [splashView release];     } 

The second method uses the same remove splash method, but relies on the built in event management to trigger when the method gets called.

     [[NSNotificationCenter defaultCenter] addObserver:self           selector:@selector(saveClaim:)           name:@"RemoveSplashScreen"           object:nil]; 

Now all that needs to be done is to post the notification from anywhere. This technique is particularly useful if the reason that the launch sequence is taking a long time has nothing to do with code that was implemented in the App Delegate.

     [[NSNotificationCenter defaultCenter]           postNotificationName: @"RemoveSplashScreen"           object: nil]; 

This technique can be employed from anywhere within the application. Removing the observer after the fact may avoid crashes if there is an opportunity for this notification to be fired multiple times. Releasing an object when no object it there to be released can lead to troublesome crashes to track down. The quick and dirty is to use the delay on the performSelector call.


And there it is, a splash screen that conforms to Apple’s guidelines. No hidden APIs, no hacks, no special sauce. A simple, straight forward approach to making the initial interaction with the user as pleasant as possible.


Apple Posts iPad Guided Tours

Apple’s marketing push for the iPad is going into full swing now that the launch date of the device is only days away. There’s the TV ad, for instance, but what caught my attention today was the series of “Guided Tour” videos Apple posted on its website yesterday.

Each video features a narrator telling you about the iPad’s various feature, while an anonymous pair of hand (and crossed legs to support the device, which seems to be the only way to hold it comfortably) demonstrates exactly how to use the feature being described, including how various gesture controls work within that app.

Needless to say, the narrator is quite enthusiastic about how easy, simple, and innovative everything is, though I suppose if they were strictly relaying information this would be a third-party walkthrough, not an Apple marketing tool. In most cases, iPhone owners will already be familiar with many of the gesture controls and interface elements, but the iPad does have quite a few unique features owing to its greater screen size.

Not all of the claims made in the videos are completely defensible. Saying that a keyboard that’s “nearly the same size” as a standard one makes for “effortless typing,” for instance, doesn’t really convince me, especially when the guy doing the demo is hunt-and-peck typing fairly slowly while you’re saying it.

Seeing all the features detailed and laid out in this way definitely does make me want an iPad even more than I did before, though. A lot of the elements seem, upon reflection, to fill gaps present on the iPhone’s OS. Meaning that things I wish I could do on my iPhone, but can’t for lack of space or other reasons, are implemented on the iPad.

My favorite elements are the iPhoto integration in the Photos application, which should help make iPhoto much more interesting, the iPad camera connection kit, which finally means I can shelve my 30GB iPod Video with its camera connector on trips, and the much-improved YouTube app, since using the iPhone version is one of my favorite time-killers.

If you’re still not sure what all the fuss is about, or if you’re just getting anxious waiting for the delivery guy to show up at your door Saturday morning and want the next best thing to a hands-on experience, check out Apple’s Guided Tour series of videos. There’s 11 in total, covering topics from Safari to the iWork suite, and they’re much more rewarding than either the iPad announcement event or the iPad video that features Apple execs waxing poetic about how awesome the thing is sitting in front of a white background.

Apple Planning iAds Service to Take on Google

Apple hasn’t made any secret about its plans to get into the mobile advertising game. It purchased Quattro in January for around $300 million, a firm that was reportedly its second choice after Google snapped up AdMob for $750 million in November of 2009. Apple had apparently made unsuccessful overtures to AdMob earlier in the year.

A new “iAd” service, which is said to be in the pipeline for an April 7 reveal to the Madison Avenue crowd, according to “executives familiar with the plan” speaking to MediaPost, will be built on top of the framework provided by the Quattro purchase. The sources also quote Steve Jobs as saying the service will be “revolutionary” and “our next big thing.”

No other details are forthcoming as of yet, but it does seem clear that Apple intends to take on Google in the mobile advertising space, and it likely intends to do so by waging the war on home turf. Who better to serve ads to Apple’s mobile devices than Apple itself? Tailoring content to the iPad, iPhone and iPod touch should be easy enough, especially given that Apple has access to more of the iPhone OS than do third-party developers and advertisers.

It may seem like an unexpected move from Apple to move into the advertising business, but it actually fits the company’s M.O. quite well. Think about iTunes and music, iTunes and video content, and now the iBookstore and books. In each case, Apple offered a beleaguered industry a way out of a financially disastrous situation. In doing so, it opened up new revenue streams, and made sure the content desires of its hardware user base were met.

Locking down the mobile advertising market doesn’t necessarily cater to users in the same way, but it does fit the other criteria. Advertisers have been struggling following the gradual and continuing weakening of print media and television, and so far, online ads have only met with limited success and have yet to take off in the way its predecessors did. For companies still looking to find that sweet spot in which it is possible to really sell to web-connected audiences, Apple, with its inside knowledge of mobile web user habits and history of commodifying what once was free (i.e. the Internet, via apps) will look like a very fine prospect indeed.

I’m not generally one to dole out business advice, but if Apple does roll out some kind of iAds platform early next month, get in on the ground floor if you’re in the advertising space. Just look at what Cupertino has already done in terms of making advertisers vie for space in magazines launching on the iPad. Now imagine what it can do when advertising is its primary focus, not just a tangential benefit.

Related GigaOM Pro Research (sub req’d):

Why 2010 Still Won’t Be the Year of Mobile Advertising

Final Word on AT&T 3G MicroCell: Meh

For many iPhone users held hostage by AT&T’s second-rate 3G network, the announcement that a nationwide rollout of the AT&T 3G MicroCell will begin in April sounds like a long-awaited promise of coverage rescue finally coming true.

Certainly that’s what I thought when I started using the MicroCell last year, but six months later I haven’t found cellular freedom at home so much as a better jail cell for me and my iPhone.

Regarding the announcement, AT&T says only that the nationwide launch will begin in mid-April, with “new markets activating in cities across the continental U.S. for the next several months.” To date, that’s mostly been regions of North Carolina, South Carolina, and Georgia, with San Diego and Las Vegas being recently added.

However, browsing the MicroCell support forum, posts are appearing declaring MicroCell availability in Arizona, New Mexico and New York—not New York City. Expect the MicroCell to be available in most U.S. cities by the end of 2010. Now that the “when” has been answered, the question is whether there is any value for the iPhone user with poor coverage at home.

How’s that image for an answer. Instafail. Despite the “five bar” coverage in my house, I will intermittently and without any discernible pattern have calls fail immediately after initiating them. A second attempt always succeeds, but it’s frustrating, and it happens on both my iPhone and my wife’s iPhone. After six months of being a beta tester, replacing one problematic MicroCell, troubleshooting various problems with tech support and discovering solutions on my own, I still have problems.

Other problems include what I would describe as passive-aggressive xenophobia on the part of my MicroCell towards people in call centers, presumably on other continents. Calls to call centers represent the most frequent of infrequent in-call drops. However, I also drop calls if I let the kitchen get between me and the MicroCell, even if the distance is less than 20 feet. Even keeping the kitchen out of the way, the range of the MicroCell could be better. In two different houses, I find 50 feet and a wall or two is the upward range limit.

Should your MicroCell itself drop out—and it will—it’s pretty easy to get running again. Disconnecting power and reconnecting will almost always have it back online within 15 minutes. Should that not work, it will be necessary to re-register the MicroCell on AT&T’s website, then reconnect it with your network. It’s a tedious and time-consuming process, but I haven’t had to do that since November, so perhaps that’s one problem fixed.

What will these problems cost you? The MicroCell sells for $149.99, though qualified purchasers can get rebates of up to $100, making the cost of network coverage that AT&T should already be providing only $50. To get the rebate, you have to sign up for a MicroCell calling plan at $19.99 per month. If you don’t get a MicroCell calling plan, calls will be deducted from you cell plan minutes. Seriously, is this a great deal for AT&T or what? Unburdening their network woes on the backs of broadband providers and getting AT&T cell phone users to pay for it—brilliant!

So, should you get a MicroCell? That’s not really the question. Rather, the question is can you replace your POTS or VoIP landline with a MicroCell and iPhone? My experience is that you cannot. While you can count on the AT&T 3G MicroCell to extend “five bar” coverage to your home, the bars are still a prison, and AT&T remains the iPhone’s jailer. Those of us desiring to cut our landlines don’t need an AT&T 3G MicroCell, we need a Verizon iPhone.

Related GigaOM Pro Research: Metered Mobile Data Is Coming and Here’s How

My iPad Wish List: 10 App Requests

Watching the iPad’s first television spot on the Oscars Sunday night, I got giddy all over again in anticipation of getting my hands on this hot new product. Though it’s still a few weeks away, I’m even more excited for the applications that will be coming to the platform. Here’s my top 10 list of apps that I want to see developed for the iPad.


As a graphic designer and web developer, Coda is a staple in my workflow. It features a built-in FTP system, which could be problematic to port to a mobile device, considering there isn’t a traditional file structure to store data. However, perhaps the iPad’s new file storage system will provide an adequate solution. Regardless, as someone who codes, it would be awesome to sit next to a client and modify code and push changes to a site all from my iPad while they load and test the revisions on their own desktop.


Before you laugh, remember that Adobe has already released Photoshop Mobile for the iPhone, and all things considered, it’s not such a bad application. A larger iPad version could allow support for opening and manipulating native Photoshop files as well as working between multiple files. CS4 introduced a new tabbed approach to viewing multiple documents at once. A similar setup could easily be implemented on the iPad.

Katamari Damacy

What’s a fun touchscreen device without a fun game? Katamari already exists as an iPhone app so it’ll scale up decently on the iPad. But given the advanced graphics of the iPad and the larger screen, a native iPad version is a must. If you’ve never played Katamari, check out this clip below.


Call me crazy (it doesn’t hurt to be wishful) but the feasibility of an iMovie-like app is certainly within the realm of possibility. I would have never expected Apple to introduce video editing on the iPhone. Nevertheless, along with a video camera, the iPhone 3GS allows for simple video edits. Why couldn’t we have a larger implementation of this on the iPad, provided it gains a video camera at some point? With the larger screen, there’s plenty of room to view a larger timeline, add transitions or effects and with one tap, upload your masterpiece to YouTube.


I’m actually quite surprised this app still hasn’t made it to the iPhone yet, but as a platform that’s designed to be “the best way to experience the web, email, photos and video,” the iPad seems like the perfect device for iChat, especially if a future model gains a video camera.

Screen Sharing or Remote Desktop

There have been a number of third-party developers that have created similar apps for the iPhone, but I’m honestly shocked to see that Apple hasn’t implemented its own solution yet. With a larger screen and almost full-size keyboard, remotely accessing and interacting with other Macs on my network would be a breeze on the iPad.


While the iBooks application will open books that are in EPUB format, I’d love to see a more robust implementation of Preview available on the iPad (and iPhone). Specifically, an app that is capable of annotating PDF files and provides support for links within PDFs. Since I’m also an academic, some of the journals I read (as PDFs) contain bookmarks to other articles or chapters and currently, none of the built-in applications on the iPhone support interacting with them.


I don’t care how it has to happen or if it involves Flash or not. Who doesn’t want Hulu on the iPad? Even if it required a small subscription, I would love to be able to access my Hulu queue on the go. Better yet, since the iPad is a closed system, the app could download and cache content so it wouldn’t necessarily have to be streamed in real time. This could be a great solution to save AT&T’s crowded bandwidth for 3G models and allow WiFi-only models to still play even if a network isn’t around. I’d pay for that; would you?


Now that we have iWork, how about a real implementation of Bento (or FileMaker if that’s not too much to ask)? The current iPhone version is pretty pathetic and really hard to use to manipulate larger databases. While FileMaker may be a stretch, I’d put serious money on seeing an iPad version of Bento before the year is out.

An Improved iTunes App

It looks as though the new iTunes app represents a step ahead of the current iPhone version, but there are still some missing features that would make this app a rock star on the iPad. Adding support for Internet radio, browsing my other libraries by Home Sharing or support for iTunes Extras and LPs would be amazing. Honestly, why hasn’t Apple announced support of iTunes Extras and LPs? The specs call for a viewing area of 1280×720 (the 720p high definition standard). They also call for building your iTunes Extras with what’s called a bleed graphic, or a graphic that can “fill in the extra space” if you’re viewing it at a size greater than 1280×720. Now given that as a way to compensate for a difference in aspect ratios, if you were to scale down an iTunes Extra for the 1024×768 display, wouldn’t it just make sense? Come on, if the Apple TV can do it (and we all know how excited Apple gets about that product), shouldn’t the iPad as well?

What are your thoughts on apps you’d like to see? Share your thoughts in the comments below. The great thing about Apple’s developer community is that they keep up with what’s discussed in the blogosphere. You never know; a developer might see your suggestions. So, share what you’d like to see on the iPad!

How-To: Create an iPhone Web App

The iPhone OS is pitched as the entire Internet in your pocket…minus Flash. This works most of the time, but what if you just want to design a site or form that looks like a native iPhone App?

This is where iWebKit comes in. iWebKit is a free framework package for creating websites and applications that are optimized for the iPod Touch, iPhone & iPad. The bulk of the framework is CSS3 which can work its magic to makeover any dreadful site and make it look fresh.

I will be covering the web-form aspect of creating an optimized site, but iWebKit has many deeper features that can communicate directly with the OS. Its documentation is excellent, so dig around or check out the demo site on your iPhone to get inspiration.

When designing for the iPhone OS, you should use the iPhone simulator available in the SDK to get an idea of where your design is heading. You can also use Safari to get a pretty close representation, but nothing beats using a real physical device. It’s amazing how cool it feels and you really do get the impression it’s a native application.

Getting Started

Here is what the form looks like on the iPhone before we optimize it.

It’s pretty dull looking, to say the least. Below is the original HTML code being used. We’re going to get Apple-blood running through it and give it a makeover.

 <html><head><title>Test Form</title></head> <body>   <form method="post">     Name: <input type="text" size="12" maxlength="12" name="name">     Password:<input type="password" size="12" maxlength="36" name="passw"><br />     Gender:<br />     Male:<input type="radio" value="Male" name="gender"><br />     Female:<input type="radio" value="Female" name="gender"><br />     Favorite Food:<br />     Steak:<input type="checkbox" value="Steak" name="food[]"><br />     Pizza:<input type="checkbox" value="Pizza" name="food[]"><br />     Chicken:<input type="checkbox" value="Chicken" name="food[]"><br />     <textarea rows="5" cols="20" name="quote" wrap="physical">Enter your favorite quote!      Select a Level of Education:<br />     <select name="education">       <option value="Jr.High">Jr.High</option>       <option value="HighSchool">HighSchool</option>       <option value="College">College</option>     </select><br />     <input type="submit" name="" value="Submit" />   </form> </body> </html> 

This code needs to be in an HTML file in the same folder as the iWebKit framework. I called it index.html.

The first step is to add these lines between the <head> tags.

 <meta content="yes" name="apple-mobile-web-app-capable" /> <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type" /> <meta content="minimum-scale=1.0, width=device-width, maximum-scale=0.6667, user-scalable=no" name="viewport" /> <link href="css/style.css" type="text/css" /> <script src="javascript/functions.js" type="text/javascript"></script> <link rel="apple-touch-icon" href="homescreen.png"/> <link href="startup.png" rel="apple-touch-startup-image" /> 

These lines tell the iPhone browser that this page is designed for it. It also references the CSS, JavaScript and images for the iPhone Home Screen and a startup image.

To create the top title bar we need to enter the following code immediately after the <body> tag.

 <div id="topbar">   <div id="title">Test Form</div> </div> 

If you load up the page in your iPhone simulator browser you will see this bar at the top.

Now we need to start our main content with the following <div> tag.

 <div id="content"> 

All the form fields will be inside of this <div> and we won’t close it till the end of the form. The first form fields we want are the Name and Password fields.

Replace the original code:

 Name:<input type="text" size="12" maxlength="12" name="name"><br /> Password:<input type="password" size="12" maxlength="36" name="passw"><br /> 

With this:

 <ul class="pageitem">   <li class="bigfield"><input placeholder="Name" name="name" type="text" /></li>   <li class="bigfield"><input placeholder="Password" name="passw" type="password" /></li> </ul> 

Our Name and Password fields have now been transformed.

The <ul> container represents the white box while the <li> tag is to signify separate sections inside of the white box. You could also put each of these fields in their own <ul> containers and they would look like two separate boxes. To save screen space, I group similar items together. Now lets replace those old fashioned radio buttons from the Gender question.

Replace this:

 Gender:<br /> Male:<input type="radio" value="Male" name="gender"><br /> Female:<input type="radio" value="Female" name="gender"><br /> 

With this:

 <span class="graytitle">Gender</span> <ul class="pageitem">   <li class="radiobutton">     <span class="name">Male</span>     <input name="gender" type="radio" value="M" />   </li>   <li class="radiobutton">     <span class="name">Female</span>     <input name="gender" type="radio" value="F" />   </li> </ul> 

The radio buttons are changed for the better.

Next up are the checkboxes under the Favorite Food question.

Replace this:

 Favorite Food:<br /> Steak:<input type="checkbox" value="Steak" name="food[]"><br /> Pizza:<input type="checkbox" value="Pizza" name="food[]"><br /> Chicken:<input type="checkbox" value="Chicken" name="food[]"><br /> 

With this:

 <span class="graytitle">Favorite Foods</span> <ul class="pageitem">   <li class="checkbox">     <span class="name">Steak</span>     <input name="steak" type="checkbox" />   </li>   <li class="checkbox">     <span class="name">Pizza</span>     <input name="pizza" type="checkbox" />   </li>   <li class="checkbox">     <span class="name">Chicken</span>     <input name="chicken" type="checkbox" />   </li> </ul> 

Now instead of check boxes, we get those pretty on/off sliders we’re accustomed to inside the iPhone OS.

The textbox is pretty simple since it just creates a nice white box around the textbox.


<textarea rows="5" cols="20" name="quote" wrap="physical">Enter your favorite quote!</textarea><br />

With this:

 <ul class="pageitem">   <li class="textbox">     <textarea name="quote" rows="5">Enter your favorite quote!</textarea>   </li> </ul> 

Lets move on to the dropdown menus. Dropdowns always use the iPhone’s built-in method and help create the feeling of a native app.

Replace this:

 Select a Level of Education:<br /> <select name="education">   <option value="Jr.High">Jr.High</option>   <option value="HighSchool">HighSchool</option>   <option value="College">College</option> </select><br /> 

With this:

 <span class="graytitle">Level of Education</span> <ul class="pageitem">   <li class="select">     <select name="education">       <option value="Jr.High">Jr.High</option>       <option value="HighSchool">HighSchool</option>       <option value="College">College</option>     </select>     <span class="arrow"></span>   </li> </ul> 

Notice the arrow span class adds the down arrow to the right of the selection box.

As far as the form goes, all that’s left is the Submit button and to close the <div> tag.

Replace this:

<input name="Submit" type="submit" value="Submit" />

With this:

 <ul class="pageitem">   <li class="button">     <input name="Submit" type="submit" value="Submit" />   </li> </ul> 

Now close the content <div> tag with the following:


Finally, we may want to put a footer at the bottom of our page. It’s nice to also support the iWebKit folks.

 <div id="footer">   <a href="">Powered by iWebKit</a> </div> 

That’s it for the HTML portion. Two nice little touches you can do are for when someone adds the page to their home screen. When browsing the page, click the “+” button and select the Add to Home Screen option. You will see an icon that, by default, is a screenshot of the page. You can customize this by making your own 58×58 pixel image and referring to it in the <head> section. Mine is named homescreen.png and I’ve already included the code at the beginning of the article.

Now when this page is added to the Home Screen, it will look and feel like a native app. Why not have a startup screen displayed while the page loads? iWebKit also has this feature and you simply need a 320×460 pixel image that again, is referenced in the <head> section. I have called mine startup.png.

That’s it, we’re done! iWebKit has many other features that you should check out. You may get some inspiration for an app or at least look good to your boss when you pretty up that old form that’s been around for years. All the files used in this article are also attached for your viewing pleasure along with a short video walkthrough of this tutorial.

Project Files: (94 KB, ZIP)

WP Like Button Plugin by Free WordPress Templates