Live Blogging with an iPad

iPad with Keyboard and Dock As regular readers know, Jeanne and I blogged heavily at TheServerSide Java Symposium 2011, writing over 30 articles in a three-day period. What we may not have had time to mention is that we both did so entirely from a pair of Apple iPads. Below is a summary of some of things I learned during my experience.

1. Set up and Blogging Software
For my blogging spree, I used an Apple iPad 2 with an Apple Wireless Keyboard. I started with the WordPress iPad application, but found it too frustrating to use. The local/remote saving of articles was problematic, as Jeanne explains, and the interface felt very last-minute and cheap. I had three options remaining for blogging: the WordPress web interface in Safari, word processing software such as Apple Pages, or a plain old text editor. Since Internet was unstable at the conference, the first solution was out. I also vetoed fancy word processing software, since in the end the articles would be copied as plain text to the web browser for publishing. I settled on a plain text editor and was pleasantly surprised that my document management app, GoodReader, doubled as a text editor.

2. GoodReader as a Live Blogging Software
I liked blogging in GoodReader right away because it presented me with a full-screen text editor and my documents were always saved locally. I wrote up dozens of articles in GoodReader and then pasted each article into the WordPress web browser editor for publishing, which only took a minute. The only downside of using GoodReader was in the creation and naming of new files. By default, new text files are saved as “New File.txt”. In order to change the name of an article, you have to exit out of writing, open the file management interface, select the file, rename it, close the file management interface, and re-open the file. I would have preferred a more direct approach, such as offering me the chance to name the file when I created it. Also, a spell-checker after I had finished typing would have been nice.

3. iPad + Keyboard
Prior to this conference, I had never used my iPad with a keyboard. After writing thousands of words with the wireless keyboard, I can honestly say I would never go back to touch-typing for blogging. With the keyboard, the iPad became much closer to a real laptop — or more accurately a netbook — but was much smaller, lighter, and lasted a lot longer on a single charge than my full-sized MacBook Pro.

Advantages:

  • Easy access to special characters such as @, #, $, often used in developer presentations. Also easy access to HTML brackets for writing HTML tags quickly.
  • Arrow keys for easy navigation, particularly on web-pages with missing scroll bars. Side note: Jeanne discovered you can use two fingers to scroll in HTML windows with missing scroll bars.
  • Command-Up and Command-Down worked as Home/End keys moving the cursor to the top/bottom of the window.
  • Special keys give instant access to control brightness to prevent people from viewing what I write if I wanted to check my mail.
  • I could type faster with fewer mistakes; tactile feedback means I don’t need to look at my hands while typing.
  • Shortcut keys! I never realized how much I relied on Copy/Paste/Cut/Select All while writing until they were taken away!
  • Shortcut to show/hide on-screen keyboard using the eject button.

Limitations/Notes

  • Turn off AutoCorrect. On a keyboard mistakes are far less common and AutoCorrect often makes mistakes with technical words. Rejecting AutoCorrect suggestions interrupted typing and slowed it to a crawl since it required an on-screen click.
  • No Command-F for find, much needed feature.
  • Command-S for saving with the application. Had to touch the screen to save. This is more likely a limitation of the software than iOS, although it’s difficult know for sure.
  • The Apple Wireless Keyboard desperately needs an “Off” switch. I had a lot of issues on the final day with putting the iPad in my bag only to discover later that the battery had been drained by 10% when I wasn’t using it due to the keyboard waking up and activating.

Conclusion
I loved typing with an iPad, so long as a wireless keyboard was available. Contrasting this to JavaOne two years ago, where I had to go from presentation to presentation hunting power outlets because my MacBook could barely go half the day without power. I could honestly see taking it to business meetings and typing for hours on it. While there are still some additions I’d like to see to iOS, such as Command-F for find, the experience was quite enjoyable.

Live from TSS-JS – Mobile Development with Mark

Currently attending “Comparing, Contrasting, and Differentiating Between Mobile Platforms” by Mark Spritzler, a fellow CodeRanch moderator.  The presentation is in part an open discussion with the audience of what people have tried and works well in the Mobile environment.

1.  What is out there?

  • Android OS (Java)
  • Apple iOS for iPhone/iPod/iPad
  • Web applications with custom UI for mobile applications.  CodeRanch currently offers a mobile web version of the website
  • J2ME (not common)
  • BlackBerry (custom Java)
  • SymbianOS (C)

2.  Android OS Review
Built by Google and uses Java and can run Flash.  UI built with declarative UIs using XML primarily and supports visual tools such as Droid Draw and/or Interface Builder.  MVC-like architecture with view as XML, and control/model as Java classes.  The API is quite open so there’s a lot of ability to customize for developers.

There is currently a large variety of Android devices so splintering of the code base could be in the future.  Some devices cannot upgrade the Android OS, leading to permanent branching of code base.

Also, Android requires a lot of manual work to integrate with a database, such as SQL Lite, whereas Apple iOS has this built in.

3.  Apple iOS Review
Built by Apple and uses Objective-C, and cannot run Flash.  Developers must manage memory manually.  The API is completely proprietary and there are limit tools for developers.  For example, the developer must have a Mac and use an xCode.  Closed APIs but Apple promises stability (although it did change in iPad with split/view feature).

Dicussion on Apple’s strigent application approval process followed.  One participant commented that they waited 1-2 months for Apple to approve it.  Apple has also stopped approving ‘pointless’ apps.  I asked Mark if he thinks the delays are worth the improvement in quality, to which he replied that it does lead to better applications.  He also informed the audience that Apple wants you to use certain visual controls in particular manners to help build a consistent UI, and may reject applications based on improper usage.  Apple sometimes comments on why applications are rejected but not always.

4.  J2ME Failure Review
Idea was to develop using Java and runs on a variety of devices.  One of the major problems is Sun certified J2ME mobile phones that didn’t properly or fully implement the spec.  Also, lead to splintering of code base and very inconsistent results across devices.

5.  Native vs Web applications
Web applications have greater reach since they can run on many devices, but have weaker performance and require the developer to self-promote them.

6.  App Generating Frameworks
Build mobile applications from predefined templates using a CMS system often entered in a web browser, such as MobileRoadie, but it is a paid service.  Builder frameworks (often open source) that generate mobile applications based on existing code including Appcelector, Rhomobile, PhoneGap.

Write once and run on many devices through generation.  They may have limited functionality since they use a subset of features available in the language.  Multi-touch is also very limited in Android over iOS.  HTML5 does support location-aware so it can help in application generation.

Conclusion
Mark ended the presentation with an open discussion asking people to share their own mobile development experience.  He pointed out that there a lot of pros and cons to using different mobile platforms and mobile devices, and you should consider the resources on hand when deciding how to proceed in development.

Hands on with iOS 4.2 [iPhone4/iPad]

I upgraded both my iPad and iPhone 4 to iOS 4.2 this afternoon, and with few exceptions, the results are quite positive. In short, “Find my iPhone/iPad” is awesome but creepy, AirPrint is seriously lacking, and the iPad updates are a long time coming. The only big downside is that Apple went ahead with its plan to eliminate the landscape/portrait lock button on the iPad, instead replacing it with a mute feature. Read on for more details of my hands-on experience with iOS 4.2 on both the iPhone and iPad.

iOS 4 on the iPad at last

One of the most long-awaited features for the iPad is the ‘missing’ iOS 4.0 updates that arrived with the new iPhone back in June. Five months later, Apple finally released updates to the iPad that have been available on the iPhone for months — including multi-tasking, Game Center, and folders to organize applications. Although some reviewers, myself included, have criticized the “faux” multi-tasking available in iOS 4, it is nice to see these updates finally released on the iPad.

New Feature: Find my iPhone/iPad

One of the newest, and possibly the most unexpected, feature is the new, free “Find my iPhone/iPad/iPod Touch” service, which previously was only available for paid MobileMe subscribers. Unfortunately, iPhones older than the iPhone 4 appear to be excluded from this service.

In order to use this feature, you must have an AppleId. If you purchase music on iTunes, you can use that same account. Once you have installed iOS 4.2 on one of your devices, you need to navigate to Mail/Contacts/Calendars, and add a MobileMe account using your AppleId. Once added, you just use a single click to enable this feature.

To track the device, remote-lock it, or remote-wipe the data, you can log in from the Apple MobileMe portal, again using your AppleId. You can also download the “Find iPhone” application and track the device from another iPhone, iPad, or iPod Touch.

One issue I did notice is that you have to have your AppleId match your e-mail address. When I tried to set up my iPhone with an AppleId that was a nickname and not an e-mail it came back with a message saying “This AppleId does not support this feature”. Fortunately, you can log in to the Apple website, and as long as your e-mail isn’t attached to a different AppleId already, you can change the AppleId to match your e-mail.

One ‘creepy’ side effect of all of this is that since my wife and I both have an iPhone 4, they can actually be set up to track each other. In other words, you can always find out where your spouse is. For children, though, this would be an excellent feature, since you can find out where they are without interrupting them. The only problem is there’s no way to lock this feature as ‘always on’. Your children can easily turn this feature off and a stranger who finds your device can disable it before you have had a chance to remotely wipe your personal data. One major improvement would be a password requirement to enable/disable this feature on the iPhone.

Update 11/28/2010: One reader pointed out you can enable “Restrictions” under “General” settings that allows users to fully use the iPhone but prevents them from adding/removing accounts. This essentially allows you to keep the MobileMe tracking feature enabled at all times. In the event of a loss, the phone can be reliably wiped remotely although this does not prevent the user from wiping it themselves with iTunes. It does give you piece of mind, though, that you can block access to your personal data even if the iPhone is never returned.

AirPrint: Where’s Bonjour support?

Although Apple did add print capabilities with the iOS 4.2 update, they are limited to “AirPrint compatible” printers connected to a computer, of which there are few. Surprisingly, printing to a Bonjour printer connected via an Airport Extreme router is not supported. Also, direct printing via IP address to a networked printer is not supported. I am mystified that Apple released WiFi printing without either of those two obvious features, but we’ll have to wait for future versions to get more useful print options.

iPad: Screen-locking switch, we hardly knew ye

The most disappointing feature of the update is Apple reconfigured the screen lock button on the side of the iPad, the one that keeps it in the same orientation now matter how you hold it, to be a volume mute button. I have already heard feedback from friends that agree this was a terrible idea. Trying to use the iPad in bed can be problematic as holding any direction but right-side-up can cause the orientation to change. I would not have minded this change if they had at least left a software option to switch it back, but so far no such option exists. It’s a shame, as I suspect my iPad will be a lot less user-friendly without it.

Conclusion

Overall, the iOS 4.2 adds welcome additions to the iPhone, iPad, and iPod Touch. I considered not updating the iPad to keep the screen-lock feature, but decided in the end that the benefits outweighed what I was losing. I really like the free tracking service, since losing an iPhone is not uncommon and it gives me some peace of mind that there’s a chance my iPhone will be recovered if I were to send a message to the phone offering a reward. AirPrint is a nice change to the architecture and should allow more fluid printing across the iOS devices, with Apple likely rolling out additional support in months to come.