Yes, that’s a Windows tablet. Yes, mine. Yes, I still don’t like Windows. But I now own a Windows tablet. For personal use, not work even. Explanation and excuses after the jump.
Archives for : ipad
“Oh hell, another App Store thinkpiece.” Yeah, I know, not really my department even, so I’ll try to through it quickly. I just can’t help but think about some ideas and facts that can’t all be true at the same time.
Let’s start with this: 5 of the last 6 Kickstarters I’ve supported (check out my profile there) have been for software projects, games specifically. None of them are for iOS, only one is for OS X, and collectively, they represent far more than all my purchases on the App Store combined over the last 7 years (and that’s coming from someone who dutifully plunked down $50 for OmniGraffle for iOS and buys the new $5 Pinball Arcade table I-AP every month).
Not that I’ve been even remotely subtle about it, but with today’s release of iOS 8 and the end of the NDA on its SDK, I can now officially announce iOS 8 SDK Development, now available as a beta book from Pragmatic Programmers:
Here’s the tl;dr:
- Pretty much completely rewritten from previous edition
- All code examples use the Swift programming language
- Works through a single app all the way through the book so readers get experience of evolving a non-trivial app
- Shows off iOS 8 features, including adaptive sizing strategies for the iPhone 6 and iPhone 6 Plus
WWDC is next week, and hope springs eternal that the walls between apps will come down, or at least they’ll be a little more permeable. Typifying this long-running wish is the rumor that iPads will offer a side-by-side mode, ala Windows 8.1, allowing more direct data sharing between two apps running concurrently.
As always, I’m skeptical. And I guess what’s driving that skepticism is the sense that few iOS developers are using the data-sharing APIs we already have.
A couple speaky/selly things real quick…
As mentioned in earlier posts, I’m speaking at all four of the upcoming CocoaConfs. I’m reprising my all-day tutorials:
- iPad Productivity (
UIDocument, autosave, iCloud, PDF/printing, inter-app doc exchange) in Portland (August) and Columbus (September)
- Core Audio in Boston (October) and Atlanta (November)
I’m also doing two regular hour-long sessions, on Audiobus and A/V encoding. For Audiobus, feel free to abandon any angst that this much-loved third party tool for inter-application audio will be obsoleted and abandoned by Apple’s announced introduction of an inter-app audio framework in iOS 7. The Audiobus team announced that Audiobus will adopt Apple’s new APIs when running under iOS 7, meaning you’ll get compatibility with both Audiobus-enabled apps and those that use Apple’s new APIs. So it’s still well worth learning about if you’re into audio; I’m working on some demo code to show it off. Thinking I might bring back the Dalek ring modulator code from 360iDev a few years back and wrap it as an Audiobus effect (Hi Janie!)
MacWorld ran a story last week to remind readers that A $5 App Isn’t Expensive, and imploring readers to stop being such cheapskates for the sake of the App Store economy.
Earth to MacWorld: It’s already too late. The market has spoken, and it refuses to pay for apps, even when the toxic side-effects of that are manifest.
MacWorld’s piece comes in part as a response to Michael Jurewitz’s five-part series on app pricing, posted on the eve of his return to Apple (and, presumably, a lot more circumspection about his future blogging). Jury sees the app pricing race to the bottom as a self-inflicted wound and urges developers to charge what their apps are worth.
Great advice… for anyone still around to take it.
OK, let’s do this thing.
Attendees of the iPad Productivity Workshop — an all-day class I did for the first time, following a poll here on [Tc]; about new tutorial topics — have already written all the code, but for DC students who want an advanced peek (or anyone else who’s interested), here’s a zip of the project in its various stages.
The “staged examples” is an idea I got from Daniel Steinberg, who swears by it for his classes. The great thing about it is that if someone falls behind, they don’t get lost: they can just skip ahead to the next checkpoint in the code’s progression. In this class, we build an app that can search iTunes, put results in an
UICollectionView, and then allows the user to build their wishlist of items as a
UIDocument. Along the way, we add in:
- Copying an item to the clipboard, to paste into other apps
- Document persistence, with iOS background saving
- Add to / delete from list
- Undo of add/delete
- Save document to iCloud
- Import documents from other apps (e.g., receive a wishlist as an e-mail attachment or Safari download)
- Export wishlist to PDF and send it to mail, printer, other PDF apps
It turns out to be more than I can teach in 8 hours, so with the stages, we just skip ahead to a good starting point. In Chicago, we started at stage 3, with the search feature working and the split-view for wishlist browsing set up in the storyboard but not yet implemented. The code might get a few tweaks before DC — possibly sorting the
.wishlist files in the master table, and supporting pasting into the wishlist — but overall things are in really good shape.
As for my other talks, I did Core Audio in iOS 6 and Mobile Movies with HTTP Live Streaming again. They’re good talks and pretty polished at this point, but they were in some ways meant as a placeholder in case Apple gave us something new to play with in time for CocoaConf. Obviously that hasn’t happened… it’s been a real boring Q1 in Apple-land.
If you’re here for the Core Audio, note that this is the corrected, works-on-iOS-6.1 code that I discussed in a previous blog entry.
I never wanted this to be a product blog, but I do have a few thoughts about the just-announced 128 GB iPad:
- I totally want one.
- Apple isn’t stupid. They wouldn’t bring this out — mid-product cycle — unless they thought there was a specific demand for the product.
- A lot of the initial reaction goes along the lines of “Why would you spend this much, when you could just get a MacBook Air (i.e., a ‘real computer’) for that price?” Well, for starters:
- The Ars article is a false comparison: the $1,000 iPad is the model with LTE. There is no MacBook Air with a cellular modem. The apples-to-apples (groan) comparison is the $799 iPad against the $999 MBA.
- I have an iPad 2 and a 2012 MacBook Air. I like the iPad much more than the Air, and at conferences, you’ll usually see me with the iPad, not the MBA. The iPad has more and better apps, it’s more comfortable to use for read-only tasks like Twitter and web browsing, and I can easily tote along a Bluetooth keyboard if I plan on writing more than a few paragraphs.
- Another comparison: $800 for a lightweight device with a battery that lasts 8-10 hours of typical use, or $1,000 for a slightly heavier device that’ll keep a charge for 2 1/2 – 3 hours?
- For what it’s worth, I’m writing this post on my iPad.
- Apple’s news release cites use cases that include managing lots of audio files, and it seems like a number of mobile audio professionals (including DJs and journalists) are adopting iOS apps, well-served by its combination of small size, touch interface, immense battery life, and deep support for audio capture/mixing/export/playback. There’s a quiet revolution underway thanks to Michael Tyson’s Audiobus, which allows multiple iOS audio apps to collaborate in real-time, thanks to the ability of Core MIDI to ferry audio data between apps (the rare example of a back door Apple failed to close, and an argument that they shouldn’t be so eager to do so).
So, yeah, totally want one. Of course, I’d be happier if Apple would offer up a modern Mac Pro, but that’s a product blog for another time.
UPDATE: You know, I hadn’t even thought to plug this when originally writing this entry, but it’s worth mentioning that I’m doing all-day tutorials about writing iPad productivity apps (focusing on APIs like copy/paste, undo/redo, UIDocument for local files and iCloud, etc.) in March at CocoaConf Chicago and CocoaConf DC and it’s probably the productivity apps — where the user’s data is more important than the app’s — that’s driving interest in the high-capacity iPad.
Just a quick couple of notes about the gaming I’ve been doing on the iPad for the last couple months, given that it’s become my main game console.
First, there’s Pinball Arcade, which some of you might remember I spent three hours live-streaming back in August. They’ve kept up with the new tables, most notably launching two tables based on expensive licenses, Twilight Zone and Star Trek: The Next Generation
CodeMash 2013 just ended; in fact, I’m in the hotel room at the Kalahari, waiting for my family to arrive so we can turn this trip into a weekend of indoor waterpark fun. That’s the upside of CodeMash. The conference itself was pretty much the usual, although this time they finally had enough iOS talks to allow for a single all-iOS track running through the entire conference. It also featured Jeff Kelley of Detroit Labs open-sourcing his AmazeKit library for iOS image trickery as the final reveal of his presentation.
I did a half-day tutorial on iOS productivity APIs, and ended up with about 16 hours of material for a 4-hour session. Not a complete disaster, because the attendees (most of whom were first-timers) got to work through downloading JSON from a REST API and building a
UITableView out of it, and that’s honest-to-goodness useful stuff… but I’ll still want to reconsider my scope and ambition before turning this stuff into the all-day iPad Productivity API’s tutorial for CocoaConfs Chicago and DC.
Oh, and can I also say… wrapping up CodeMash with a trivia show from the .NET Rocks! guys? Painful. I walked out when they got to the question “why do you have to program the iPhone with Objective-C”, and the answer was something something Steve Jobs something. Why do you have to use Obj-C? I don’t know… maybe because when Apple bought NeXT, that’s what they had built all their stuff with? And you know what? It’s worked out pretty well for them, hasn’t it? Heck they even tried to offer Java as an alternative and it flopped. Guys, sometimes when you joke about stuff you don’t understand, you just sound stupid, and you waste my time. So… .NET Rocks, as it turns out, kind of sucks.