Partly Sunny: Design Notes

When I set out to make Partly Sunny, my weather app for iPhone and iPad, there were a few design and technical solutions I knew I wanted to include: things like making custom icons and using specific APIs. These solutions would go toward building the weather app I wanted to use and would help differentiate Partly Sunny from other weather apps on the App Store.

What follows is a sort-of behind-the-scenes look at Partly Sunny. I’ll start with discussing some of the design solutions and show some draft designs, and in a subsequent post, I’ll discuss some of the technical solutions. Select any image below for a larger version.

From the start, one thing I wanted to include in Partly Sunny was a view that gave summary information for both my current location and for any saved location. I wanted a way to quickly glance at the weather for these places. But I didn’t just want some basic information like the current temperature and an icon representing the current condition (e.g. “clear” or “light rain”). I wanted this view to be more useful, so in Partly Sunny, the list view includes the current temperature and condition for each location but also offers more: a sentence stating what’s happening over the next many hours at that location as well as the high and low temperatures and the chance of precipitation for the day.

locationsList

Whereas some weather apps might declare this to be too much information, I wanted this view to be useful for understanding what’s happening. A simple icon stating it’s clear right now doesn’t help in understanding a couple hours later it’s going to be pouring.

From this simpler-but-still-useful view, I wanted to be able to select any location to view more detailed information—what’s happening over the next hour, the next day, and the next week at that location.

locationView

And the key to help visualize this information was graphing it. While this isn’t a new solution to weather apps, some do it and some don’t, and I wanted Partly Sunny to do it. So looking ahead in the hour-by-hour forecast, there’s a visual representation of how temperature, chance of precipitation, humidity, wind speed, and more are changing.

features_hourlygraph

And looking ahead in the day-by-day forecast, there’s a visual representation of the high and low temperatures over the week. Reading, for example, that the high temperature will be 55° on Monday, 68° Tuesday, 75° Wednesday, 52° Thursday, and 48° Friday is one thing. Seeing it rising and falling on a graph is another.

dayByDay

This experience was something I wanted to have on both iPhone and iPad. Some of the weather apps I had been using previously were iPhone only, and some of the iPad-friendly apps weren’t the best. So for when my iPad is in-hand and I want to check the weather, having Partly Sunny run natively on both iPhone and iPad giving me the same experience on both devices was a must-have.

iphone_ipad

Also a must-have was making custom icons. I know of several apps that use Climacons by Adam Whitcroft. They’re great icons, and I could have used them as well. But I wanted Partly Sunny to use its own icons. So I learned how to use Sketch and made my own. Here they are:

Icons

For the navigation bar, I made a system of icons using a dots-and-dashes theme.

Dots and Dashes

Sure, my icons aren’t going to win any design awards, but they’re unique to Partly Sunny, and that’s what I wanted.

Icon design wasn’t all I used Sketch for. I also, uh, sketched drafts of the various views in Partly Sunny. For example, here’s my first pass at the location view, a subsequent pass, and what it looks like in the app:

locationViewDrafts

The list view went through a few explorations and largely ended up with version 4:

listViewDrafts

Sketch was also helpful in working out another design solution I wanted to include: a dark theme. I’m a proponent of having dark themes for apps so that in lower-light environments, the UI isn’t blinding me (I still wish iOS had some kind of system-wide dark theme).

darktheme

Not all the design solutions in Partly Sunny were planned out from the start, of course, but these were many that were. My goal was to build the weather app that I wanted to use, and that goal included a few specific design and technical solutions. I hope those solutions are useful to you as well and help make Partly Sunny the weather app you want to use too!

Partly Sunny is available on the App Store for $2.99.

Next time, I’ll discuss some of the technical solutions built into Partly Sunny. Stay tuned!

Partly Sunny

For the past several months, I’ve been learning Apple’s Swift language and how to build iOS apps. Learning this has been something I’ve wanted to do for a while, so it’s been both a fun and rewarding challenge.

To bring together everything I’ve learned, I built a weather app—not because the App Store doesn’t already have enough of them but because the apps I like don’t do exactly what I want them to do. So I made my own because now I can.

Meet Partly Sunny:

intro

Partly Sunny shows your weather in quick glances and detailed looks.

Some of the features of Partly Sunny:

Locations List
Quick glances of what’s happening in the sky at your current location and your favorite locations.

locationsList_black

Location View
Detailed looks at what’s happening throughout the hour, the day, and the week at your locations.

locationView_black

Day-By-Day
Swipe up in location view to show a day-by-day graph with the week’s high and low temperatures plotted.

dayByDay_black

Day View
On the day-by-day graph, tap any day to see a detailed forecast for that day.

dayView_black

iPhone and iPad
Partly Sunny runs natively on both devices.

ipad_right

Dark Theme
Toggle between Partly Sunny’s light theme and dark theme in the app’s settings or with a handy gesture.

darktheme

Hour-by-Hour Graphs
Tap on any hour-by-hour graph and choose to plot temperature, chance of precipitation, cloud cover, humidity, wind speed, or more.

features_hourlygraph

Rain Graph
For U.S. & U.K. locations, a rain-intensity graph for the next hour will appear when it’s raining.

features_raingraph

Pollen & NOAA Links
For U.S. locations, links will appear for pollen forecasts and the local NOAA weather office for winter-weather predictions, tropical forecasts, marine forecasts, and more.

features_pollen

Widget
Partly Sunny includes a widget to show both a quick glance and a detailed look at your current location’s forecast.

features_widget

3D Touch
3D Touch the app icon for the widget and shortcuts. Peek and Pop in the locations list; the location view’s severe-weather alerts, pollen-forecast, and NOAA buttons; and the day-by-day graph.

features_3dtouch

Dark Sky
Partly Sunny forecasts are powered by Dark Sky to give you super-accurate data.

While you may not always enjoy the weather, hopefully you enjoy checking the weather with Partly Sunny.

Of course there are things I want to tweak and more features I want to add, but I’m proud of what I’ve accomplished so far. I set out to do a thing, and I did it.

You can visit Partly Sunny on the web at partlysunnyapp.com and follow @partlysunnyapp on Twitter.

Partly Sunny will be available on the App Store tomorrow for $2.99.

Copying Efficiency in Workflow

Workflow by DeskConnect has become one of my most used and most indispensable iOS apps. With its powerful and efficiency-gaining functionality, Workflow is an app I use repeatedly throughout the day and take delight experimenting with.

If you haven’t used Workflow before, the app connects and combines apps and actions to automate tasks on iPhone, iPad, and Apple Watch. With the ability to create workflows ranging from choosing pre-written messages to send someone to changing the case of a text string to combining burst photos into GIFs to adding entries into Health.app, Workflow has hundreds of actions to create countless combinations however you see fit.

If you have used Workflow before, perhaps you’ve run into the same situation I have: you have a string of actions in one workflow you’d like to have in another workflow, and getting those actions in the other workflow requires you to recreate them one by one. Depending on how many there are, this can be rather vexing. What Workflow could use is the ability to copy actions from one workflow to another. How might that work? Like this.

Start with a new workflow:

New Workflow

Like usual, you swipe right to reveal the actions view:

Favorite Actions

From there, you drag a new “Copy Actions” action to the workflow:

New Workflow With Copy

At first, this action doesn’t do anything as it awaits further, uh, action in case you want to set something else up first. When you’re ready to copy actions from another workflow, tap the “Select” button and you’re presented with a new view containing all your workflows:

My Workflows

Choose the workflow that has the actions you want to copy, and the workflow slides in from the right with its actions grayed out and selectable:

Copy Actions Unselected

From there, select the actions to copy:

Copy Actions Selected

Once you select all the actions you want to copy, press the “Copy Actions” button at the bottom, and the view disappears to reveal underneath the new workflow with the selected actions in place of the “Copy Actions” action:

New Workflow With Copied

And there we have an easy way to copy actions from one workflow to another that both maintains and builds upon the existing foundation and interactions in Workflow.

But why stop there? Perhaps you noticed another new action in the favorites list: “Run Workflow”. The block of actions copied above really could be a reusable workflow that is called from multiple other workflows. You could use the above method to copy the actions into those other workflows, but what happens when you want to update that reusable workflow? You’d have to update it in multiple places. Nah.

Instead, what Workflow could also use is a “Run Workflow” action that pauses the workflow it’s in, allows the designated workflow to run and optionally return something, and then continues the original workflow. How might that work? Like this.

Using the actions above, create a new workflow that checks for input text or otherwise asks for input. Below that block of actions, drag a new “Return” action:

New Workflow With Return

In this case, the action would return text, but in other workflows, it could return an image, a URL, a date, and more.

Back in the original workflow, you can now delete that block of actions and replace it with a “Run Workflow” action:

Run Workflow Unselected

Like with the “Copy Actions” action, tap the “Select” button, and you’re presented with a new view containing all your workflows:

My Workflows

From there, select the workflow to embed, and the view disappears and updates the action:

Run Workflow Selected

When you run the workflow, it executes the embedded workflow to get or ask for text, returns the text, and proceeds with the rest of the workflow.

Now in the future if you want to build on this reusable workflow (for example by adding a string of actions to replace dumb quotes with smart quotes), you can make edits in one place and have all the other workflows that embed the reusable workflow enjoy those edits. That’s far more efficient.

And efficiency is what this is all about. Each new version of Workflow gets better and better with more actions to build more workflows to be more efficient. And I hope one day soon building workflows becomes a bit more efficient with the ability to copy actions from one workflow to another and the ability to embed one workflow in another. If I may quote Workflow, that’s powerful automation made simpler.

Copying Efficiency in Workflow

Improving the iOS incoming-call screen

My friend is coming into town, and he messaged me to see about meeting up. So I start typing a response. Type type type. While I’m typing, I’m suddenly interrupted, I lose control of my screen, and I can’t finish what I was doing. What happened? I received a phone call.

Or maybe I’m looking up which train I need to take home to leave me enough time before I have to be on my way somewhere else. And bam. Incoming-call screen.

Or maybe I’m editing a video and trying to precisely trim the end of it. And bam. Incoming-call screen.

Whatever the task, the incoming call commandeers my screen and forces me out of the task I was performing.

Because the device is a phone and making and receiving calls is a primary function, let’s assume the incoming-call screen is here to stay. So how can the screen be just a bit less intrusive? I have an idea.

Let’s say my friend John Appleseed is coming into town and wants to meet up. A text conversation might go something like this:

JA: Hey, I’m in town tomorrow. Care to meet up? I should have time in the afternoon.

Yeah, so I just checked, and I’ll have the afternoon free. So I’m up for meeting if you are.

JH: Of course! I can let you know when my appointments wrap up. And then we can grab some food. Perhaps a movie too?

JA: Yeah, that all sounds good. What time are you thinking?

I begin typing my response:

chat

…and bam. Incoming-call screen. Mom is calling:

Current incoming-call screen

On the incoming-call screen, I have a few options to deal with the call. I can accept the call, I can decline the call and send the caller straight to my voicemail, I can send the caller a text message, and I can set a reminder (with the last two requiring further steps). With the hardware side buttons, I have another option: silence the ringer. Although my phone stops sounding or vibrating, the call continues and after a period of time automatically goes to my voicemail.

When I receive a call I can’t (or in some cases don’t want to) take, I choose the latter. With the ringer-silencing option, the caller may think I’m unavailable. Or if the caller is an unrecognized number like from a marketing call, the caller may think the number isn’t actively used. If I decline the call, it sends the caller directly to voicemail letting them know I’m on the other end and deliberately ignoring them.

Choosing the latter, though, means I have to stare at the incoming-call screen until the call automatically goes to voicemail when I just want to get back to the task I was performing.

But what if I could dismiss or minimize the incoming-call screen without taking or declining the call? That’s what I propose.

When a FaceTime call fails, iOS presents a screen with three buttons: “Call Back”, “Cancel”, and “Leave a Message”:

FaceTime unavailable

Let’s take that middle button and add it to the incoming call screen. So now when someone calls, the screen would look like this:

New incoming-call screen

If I tap the new “Minimize” button, the screen would animate out of view while a notification banner would animate on:

chat

Like when I press the volume buttons on the side of my iPhone, the ringer would silence, and the call would continue until it automatically went to my voicemail. But unlike when I press the volume buttons, I could resume the interrupted task.

Because phone calls—and the incoming-call screen—get an intrusive level of priority, the banner notification would as well. While the call continued until it automatically went to my voicemail, the banner would remain at the top of the screen.

While other banner notifications can be swiped up to dismiss them, this one would remain pinned to the top. If I tapped the notification, I would return to the incoming-call screen. Though I wouldn’t be able to swipe up on the notification to dismiss it, I would be able to swipe down on it to reveal action buttons:

chat

Once the call automatically went to voicemail, the banner notification would disappear like normal as I continued my task.

Ideally, I would like iOS to ditch the incoming-call screen altogether and just present an actionable banner notification when I receive a call (like other notifications, it would be customizable to appear as an alert box instead). Maybe the banner would look something like this:

chat

This way, there’s a far smaller interruption of my task. More of a distraction rather than a full interruption. The decline or accept buttons on the banner would do exactly that. If I couldn’t or didn’t want to take the call, I could still press the volume buttons on the side of my iPhone to silence the call and let it automatically go to voicemail. And if I swiped down on the banner, I could chose to be reminded or send the caller a message:

chat

But assuming the incoming-call screen is here to stay and an actionable banner notification isn’t in iOS’s future, this new workflow could be a way to dismiss the screen without telling the caller I’m ignoring them.

Because I promise I’m not ignoring you, mom.

incoming call screen

Improving iPad Multitasking

Multitasking on iPad received an enormous update in iOS 9 in the form of Slide Over and Split View. But however advanced and, well, pretty cool both are, the execution of Slide Over has puzzled me since I first played with it. The list of apps available for multitasking is presented in an excessively roomy fashion—meaning finding the app you’re looking for can be unnecessarily difficult.

Jason Snell wrote this week about a few ways to improve iPad multitasking. After reading the article and finding myself in agreement, I mocked up some ideas last night based on his suggestions. Let’s start.

Here’s what Slide Over looks like currently on an iPad mini.

Current Slide Over

There are four (FOUR!) apps visible in the menu. Finding the app you’re looking for can result in scroll after scroll after scroll.

Jason wrote, “A denser design that presented the app list in a more straightforward manner would be welcome, especially when the list is long.” So what might that look like?

Compact Slide Over

I made the buttons a comparable size to a list view for familiarity, but perhaps they could be a smidge bigger. Also, I’m designing for an iPad mini, and I realize what looks good on the mini might not look good on the pro, so perhaps some dynamic resizing could be in order depending on the device.

I think this is already an improvement. Sure the list is still long (a product of having so many great apps!), but the compact nature reduces the amount of scrolling necessary.

In addition to the “denser design”, there is a search bar at the top. Don’t want to scroll to find the app you’re looking for? Search for it instead.

Also of note is the button shape. I retained the rounded rectangles with the idea of keeping a similar shrink-down animation when closing an app in Slide Over.

Now that more apps are visible, finding the app you want is easier. But what if there are a few apps you want quick access to in Slide Over. Why not pin them as Jason suggests? Tap “Edit Favorites” to enter edit mode. App icons and names slide over to reveal a star outline.

Add favorites

Tap the star, and the app animates into your favorites list.

Add favorites

(Since Twitter’s favorites and stars have recently found themselves unemployed, I put them to work here.)

Add favorites

Grips on the right of the buttons give you the ability to reorder your favorites as you see fit. Tapping a star on a favorited app would animate it back to the list of unfavorited apps. Tap “Done” to exit edit mode.

Add favorites

Now we have a more compact design, the ability to search for an app, and the ability to pin apps for quick access.

The final bit of functionality to add is the ability to save app pairings—app buddies as Jason called them. The idea here is to have quick access to two apps you like to use together in Split View. The current system, as he describes, can make getting those two apps together a pain. So how about favoriting an app pairing? In edit mode, tap “Add App Pairing” to open a popup with the list of available multitasking apps.

Add app pairing

Select two apps, tap “Done”, and Split View will now remember you want those two apps together.

Add app pairing

I imagine when selecting a paired favorite from the list, an elegant animation would animate the current app off the screen and the two selected apps into position. And tapping on the star of an app pair would simply delete the pairing.

Slide Over redesigned

So there you have it. While iOS 9 introduced great new multitasking tools, selecting apps to multitask with can be a chore. But a few tweaks and some new bits of functionality could go a long way to improving iPad multitasking.

Slide Over redesigned

Singing the Apple Music Blues

Lost in recent Apple Music discussions is how the usability of navigating on-device music has been unnecessarily over-complicated. Apple’s focus on Apple Music the service has seemingly come at the expense of Apple Music the app.

Along with Apple Music the service, iOS 8.4 brought a new organization scheme to Apple Music the app. Previously, the bottom navigational tabs in the app were customizable. I could choose four of Playlists, Albums, Composers, Genres, Songs, Compilations, Artists, and Radio.

Customizable Tabs

To jump from one list of items to another involved a single tap (provided both were present in the customizable tabs). For example, say I wanted to navigate from my list of composers to a specific album. Let’s say I want to listen to a track on the Tomorrowland score. Before 8.4, I would tap the Albums tab, tap the T in the letter slider along the righthand side, scroll to reveal Tomorrowland, and select the Tomorrowland album. Four steps.

Navigating in 8.3

In 8.4, that process has become more complicated. To navigate from composers to Tomorrowland, I tap the status bar to scroll the list of composers to the top, tap the sort button, select Albums, scroll the Recently Added section out of the way, tap the T in the letter slider along the righthand side, scroll to reveal Tomorrowland, and select the Tomorrowland album. Seven steps.

Navigating in 8.4

The steps to navigate are nearly doubled. I could search for the album or track I want to listen to, but I shouldn’t have to rely on search to navigate. While Apple Music the service has made streaming favorite artists and albums easier, Apple Music the app has made navigating on-device artists and albums harder.

In Settings > Music, if I toggle off “Show Apple Music”, the “New” and “For You” tabs in Music are replaced with a Playlists tab.

Toggle off Show Apple Music

And in Settings > General > Restrictions, if I toggle off “Apple Music Connect”, the Connect tab in Music disappears.

Toggle off Apple Music Connect

Why make customizing this row of tabs buried and convoluted especially since in the previous version of the app this customization was forefront and simple?

Navigating my music isn’t the only frustrating new thing about Apple Music the app. The Now Playing view features album art positioned flush against the top of the screen. This top-heavy design makes the whole view unbalanced. And the album art’s new position means the status bar covers the art—making for situations were the status bar is illegible.

Now Playing view

While the new Apple Music the app has become fraught with usability frustrations, the app does have two new features in particular that are welcomed additions.

First is the Up Next feature similar to iTunes on the Mac to show all the upcoming tracks to play. This is especially helpful to create an on-the-go playlist that iPods of yesteryear could create. Here, I can reorder, remove, or add tracks to the currently playing list of tracks.

Up Next

Also of note is the ability to add the currently playing track to a playlist. If I am listening to a particular track and think, “Gee, this would fit really well in X playlist”, I can immediately add the track to said playlist by tapping the ellipsis button and “Add to a Playlist…”. Previously, I would have to browse to the playlist, tap on Edit, tap +, and find the track in the library.

Add to Playlist

While these two new features are great usability additions to Apple Music the app, they don’t overcome the larger usability frustrations of the redesigned app. These frustrations are enough to have me experimenting with alternative music players. I’m hoping a future version of Apple Music the app restores easy customization of the tabs—and thus also restores the superior usability of the old app.

Apple “No’s” Best

Here’s a post about something Apple has done recently that isn’t regarding pastel colors or flat design. Apple’s new “Designed by Apple in California” ad:

This is it.
This is what matters.
The experience of a product.
How it makes someone feel.
When you start by imagining
What that might be like,
You step back.
You think.

Who will this help?
Will it make life better?
Does this deserve to exist?
If you are busy making everything,
How can you perfect anything?

We don’t believe in coincidence.
Or dumb luck.
There are a thousand “no’s”
For every “yes”.
We spend a lot of time
On a few great things.
Until every idea we touch
Enhances each life it touches.

We’re engineers and artists.
Craftsmen and inventors.
We sign our work.
You may rarely look at it.
But you’ll always feel it.
This is our signature.
And it means everything.

Designed by Apple in California.

I cringed when I read that for the first time. Certainly not over the sentiment. Over the apostrophe. Did Apple commit the grammar sin of using an apostrophe for pluralization? No, and here’s why.

Apostrophes are used for omissions (e.g. “can’t”, short for “cannot”, or “Oakland A’s”, short for “Oakland Athletics”) and possession (e.g. “the dingo’s last meal”). Not, not, NOT for pluralization (e.g. “1900’s”, “DVD’s”, or “the Hribar’s”). So what’s going on with that “no’s”?

Turns out, if you have more than one “no”, you have “noes”. And that means the apostrophe isn’t an attempt at pluralizing “no”—it’s omitting the ‘e’ in “noes”.

So, technically, “no’s” is correct. I’m guessing someone at Apple decided “no’s” looked less awkward than “noes”.

While “no’s” still does look awkward and the line probably could’ve been rewritten to avoid the issue altogether, the apostrophe usage in the ad is technically correct.

And thus concludes your grammar lesson for the day.

Improving iTunes 11 Expanded View

After installing iTunes 11 this past weekend, I quickly developed a sour opinion of the design of the expanded/open “folders” of TV shows. Bothered enough by these issues, I attempted to fix them. (Click any photo below for a larger view.)

This is what an open folder for content purchased on iTunes looks like:

And this is what an open folder for content that was digitized and imported (sorry, Library of Congress) looks like:

Here are some of my issues:

  • What’s with all the colors? I’m sure an iTunes engineer is extremely proud of the algorithm he or she developed to lift colors from album art and assign them to text and backgrounds (and rightfully so), but yikes! iTunes preferences offers a checkbox to disable the colors, but then you lose the big album art.
  • Speaking of album art, yikes! Why the edge fades and decreased opacity?
  • Why are the season buttons tucked away in a corner almost blending into the album art? As they serve a kind of important function (you know, showing more content), shouldn’t they be in a more prominent place?
  • Why why why when switching seasons does the album art for that season not display? In this expanded view, only the art for the first available season of the show is displayed.
  • Is the close button really necessary? And why is the spacing to the right of the season buttons different than the spacing to the left of the close button?
  • How about all that text? For imported content, there’s not much, so compared to purchased content, the text is drowning in negative space. And those horizontal divider lines between episodes? They’re so transparent they might as well not even be there.
  • Purchased content displays the episode’s air date between the episode number and episode length. But for imported content, this data cannot be entered (so far as I know), so we’re left with a hole between the episode number and length.

What I propose: chuck the colors, move the season buttons, create a better album-art display, and reformat the text.

Imported content would look like this:

Switching seasons would display the proper art:

Purchased content would look like this:

I think these changes offer a cleaner, better organized display of content. And the design elements here (the bars, “3D” album art) fit in with existing iTunes design elements. (Thanks to Neven Mrgan for inspiring the art.)

In addition to design nitpicks, I have a functionality nitpick, too, with TV shows. Season two of Breaking Bad in its current iTunes display looks like this:

When you scroll down, you lose a way to quickly identify what you’re looking at:

What season is this again? When you scroll down, why not have the show/season header lock to the top of the screen until the last episode pushes it out of view? Just like headers in scrollable lists on iOS devices work.

The redesigned Breaking Bad season two:

What it would look like after scrolling with the title/season bar locked to the top:

In addition to giving a quick visual identifying what season you’re browsing, you can also quickly switch seasons. That episode you were looking for wasn’t in season two? No problem. Click another season in that locked header, and iTunes would scroll to the top of the expanded view and switch to that season. In the current setup, you’d have to scroll back up yourself and find those tucked-away season buttons over by the album art to switch to another season.

Overall, the expanded views of TV shows feel like they were rushed to completion. The design needs improving, and there are numerous bugs when viewing and editing info in seasons other than the show’s first available season (in building these examples, I experienced many WTF moments in iTunes). Here’s hoping we get some improvements soon.

(P.S.: Yeah, I like the Golden Girls. Thank you for being a friend and not judging me.)

Pull-to-Refresh in iOS Safari

Based an idea my friend Jon Nagle tweeted, here’s a mockup of how pull-to-refresh could work in iOS Safari:

(And for those times where obsessive refreshing is necessary, this would certainly be more fun than feverishly tapping a tiny button.)

Launch Center Pro

I started using Launch Center Pro by App Cubby several months ago, and since then, the app has become indispensable for me. Rarely does an app disrupt my dock arrangement, but Launch Center Pro did. Perhaps the app isn’t for everyone, but below I’ll share how I use it and what for.

What is Launch Center Pro? Through custom URL schemes, developers can allow users and other apps to deep-dive into features or sections of an app. For example, with the tap of a single button, you could search in the Yelp app what restaurants are nearby instead of finding the app, launching it, bypassing the occasional splash screen, tapping the Search tab, typing in “restaurants”, and finally hitting the search button.

The same idea applies to Messages. Rather than launching Messages, possibly having to back out of a message thread from someone else, searching through the list of message threads to find the person you want to send a message to, selecting the thread, and then typing and sending your message, Launch Center Pro can use a URL scheme to send a message to a particular person much faster.

Here’s Launch Center Pro in action:

The speed at which I can accomplish normally-several-step actions is what makes Launch Center Pro so useful for me. And that the app is completely customizable (including what icons are used) makes it useful for many, many workflows. Here’s mine.

When I launch the app, this is what I see:

The app supports “Groups” and “Actions”. Groups are folders of actions. Actions are the specific task to perform (whether it’s launching an app or calling someone).

Tapping the Edit button (the pencil in the upper-right corner) places the app in edit mode (love the blueprint theme) where you can add, delete, or rearrange groups and actions. Tapping on a group enters that group for editing.

My main screen has five actions and eight groups. Here’s what the actions do.

Tweet
This launches the OS-level tweet sheet to compose and send a tweet. Most of my tweeting that isn’t a reply to someone else’s tweet happens here. I don’t have to launch an app, wait for it to load, and then post a tweet. (Why am I not using the tweet button in Notification Center? Because my workflow for getting places in apps is tied to Launch Center Pro, and I decided to include tweeting in that. I consolidated.)

New Birdhouse Draft
birdhouse://draft?text=[prompt-twitter]

This shows a window inside Launch Center Pro where I can compose—with the Twitter keyboard—a tweet draft and save it to Birdhouse app. Launch Center Pro supports Apple’s custom keyboards; when composing an action, you can select the default keyboard ([prompt]) and add the additional directive.

New Instagram Post
instagram://camera

This deep-dives into Instagram’s camera. Rather than launching the app and tapping the camera button, this is a shortcut to bypass loading my feed.

Yelp Search
yelp4:///search?category=[prompt]

Like the new-draft action, this launches the keyboard prompt where I can enter a search term and jump right to searching that term in the Yelp app. If you always wanted to search for a specific thing—like “restaurants”—in the example URL you could replace “[prompt]” with “restaurants”.

PhotoForge2
Launches the app so I can edit a photo.

Those are the five main-level actions. Here are what I have in each of my groups. To open a group, you tap and hold on the group to reveal its contents and drag your finger to the action to launch it. As a result, I keep my more-frequently-used actions closer to the group’s center (if you were wondering about my arrangement inside each group).

New
This group contains actions to create a new event in Agenda (my calendar app of choice); create a new email in Mail; create a new note in Simplenote (my note-taking app of choice); create a new timer in Timer; and add an app, movie, album/song, or “other” to Recall app (useful for when someone says, “Hey, you should see ‘Reservoir Dogs’”, and I don’t want to forget).

The URLs:
agenda://event?title=[prompt]&location=[prompt]
mailto:?subject=[prompt]&body=[prompt]
simplenote://new?content=[prompt]&tag=Home
launchtimer://[prompt-num]
recallapp://apps?search
recallapp://movies?search
recallapp://music?search
recallapp://other?add

Apps
This group contains shortcuts to launching apps. These actions give me easy access to apps I use but don’t use often enough to warrant them not being buried inside a folder. No special URLs here; just URLs to launch these apps.

Bookmarks
This group contains Safari bookmarks for sites I might want to quickly jump to.

Search
This group contains actions to search or translate text I enter in the keyboard prompt.

Tweetbot
This group contains actions to jump to specific sections in Tweetbot (my Twitter app of choice).

FaceTime
This group contains shortcuts to FaceTime specific contacts.

Call
This group contains shortcuts to call specific contacts as well as a keypad button and a contact-search button.

Message
This group contains shortcuts to send a message to a specific contact as well as a generic new-message button (I use this when composing a message to multiple recipients; Apple doesn’t have a URL scheme for a multi-recipient message).

So, that’s my Launch Center Pro workflow. If you only use a few apps or call/message a few people, perhaps this app isn’t for you. If, though, you enjoy having quicker, easier, and more efficient ways to perform frequent actions, give Launch Center Pro a try. After using it since July, I can’t be without this app.

Get Launch Center Pro on the App Store for $4.99.

The Old New iPad

Apple broke the rules today. Well, Apple broke its rule today. Since the release of the original iPhone, Apple followed a yearly release cycle with both its iPhones and iPads. Apple had an unwritten rule stating consumers were safe to purchase an iOS device knowing the next model wouldn’t be released for another year.

But that ended today with the refresh of “the new iPad” that was released in March. Seven months after it was released, it was not only made obsolete, it was retired. It didn’t become the cheaper, previous model for sale; it was dropped entirely.

How is that supposed to make those of us who bought “the new iPad” feel? Angry? Confused? Duped? I feel all of the above. I’ve read numerous tech writers exclaim I have no right to be upset that Apple released something better and I have every right to buy that new thing or not.

I don’t think this situation is that simple. Again, the “old” “new iPad” is no longer for sale. Gone. Apple is selling the iPad 2, the iPad 4, and the iPad mini—not the 3, 4, and mini. The 3 is dead. Apple sold us a device they had every intention of discontinuing several months after it was released.

So here’s what I propose. Just months after the original iPhone was released, its price was dropped $200 for the holidays. Early adopters, rightfully upset at this, were given a $100 credit. Apple should do something similar for iPad 3 owners—whether they bought it seven months ago or last month. Perhaps an Apple or iTunes credit isn’t the best route. So how about the option to trade in iPad 3 for iPad 4 plus an upgrade fee? I’d pay $100-$150 to upgrade my iPad. Plus, Apple could then sell my iPad 3 as a refurbished device. Everyone wins!

Wishful thinking. I know. Especially since there hasn’t been, to my knowledge, much uproar over this situation. In his letter after the original-iPhone incident, Steve Jobs wrote, “We need to do a better job taking care of our early iPhone customers as we aggressively go after new ones with a lower price. Our early customers trusted us, and we must live up to that trust with our actions in moments like these.”

Apple should extend that same spirit of goodwill to iPad 3 owners.

How To Set Up Gmail As an Exchange Account on iOS to Enable Push Access

Today, I learned Gmail can be set up as a Microsoft Exchange account in the iOS Mail app to enable push email-access. With push, you’re instantly notified when a new email arrives—no more having to wait for Mail to poll the Gmail server every 15 minutes.

Megha Bassi at Simon Blog posted a tutorial back in March 2011, and that’s where I learned how to set up Gmail Exchange. Below, I’ve updated the screenshots for iOS 5 and included a couple extra steps (like a fix for Mail to delete emails instead of archiving them). (Note: I only sync my mail from Gmail, not contacts or calendars, so this tutorial only covers mail.)

Setup Instructions

On your iOS device, launch the Settings app and go to Mail, Contacts, Calendars:

If you’ve previously set up your Gmail account with the Gmail option, go ahead and delete the account:

Next, on the “Mail, Contacts, Calendars” screen, tap “Add Account…” and select Microsoft Exchange:

You’ll be brought to the Exchange screen:

Enter the following credentials:

Email: your Gmail address
Domain: leave this blank
Username: your Gmail address
Password: your password
Description: the label for this account

Tap Next. After your account is verified, an additional “Server” field will appear:

In the Server field, enter: m.google.com. Tap Next, and you should see a bunch of checkmarks:

Next, select which services you want to sync:

Tap Save, and your Gmail Exchange account will be added.

In the settings for the account, there’s one more option you may wish to change: “Mail Days to Sync”.

By default, the Exchange account only syncs the last three days of mail, but there are other options. Tap “Mail Days to Sync” to select a new sync range:

If your Gmail account is your default mail account, back in the “Mail, Contacts, Calendars” screen, scroll down to “Default Account” and reselect your Gmail account:

Also, make sure you have push activated (it should be by default). In the “Mail, Contacts, Calendars” screen, under the list of accounts is “Fetch New Data”. Tap this option and make sure push is on:

To verify your Gmail Exchange is using push, scroll down, and tap on “Advanced” to see what each account is using:

So now Mail is set up to use Gmail through an Exchange account. In this setup, the delete button in the Mail app by default archives your mail to your “All Mail” folder instead of moving the mail to the trash. If you’re okay with that, then you’re done. Enjoy your push Gmail. If, though, you want to fix that and be able to actually delete emails, there’s one more step.

Launch Safari and browse to m.google.com/sync. If you aren’t logged in, you’ll be prompted to. Next, you’ll a list of your iOS devices that use Google services:

Select the device you’re on. On that device’s settings page, check the box to “Enable ‘Delete Email As Trash’ for this device”:

And that’s it. Now your Gmail uses push, and the Mail app delete button deletes. Enjoy!

Apple TV Needs the Jiggles

Along with yesterday’s announcement of the third-generation iPad came the announcement of the third-generation Apple TV. And with this new Apple TV comes a new interface—an interface available to second-generation Apple TVs as well.

apple tv menu

Apple TV has been inspired by iOS app icons. Something else it can be inspired by is app rearranging.

Previously, the Apple TV main menu looked like this:

apple tv menu

I primarily use my Apple TV for two things: streaming content from my iTunes library and streaming content from Netflix. Since Apple TV remembered the last menu I used, whenever I started up Apple TV, either my iTunes library or Netflix was selected. Navigating to the other was simple. If my iTunes library was selected in the Computers menu and I wanted to watch something on Netflix, using the Apple TV remote, I pressed left to navigate to the Internet menu and then select to launch Netflix. Two clicks.

Here’s what the full Apple TV main menu looks like now:

apple tv menu

The scenario I described now has more steps. If my iTunes library is selected (the Computers app now) and I want to watch something on Netflix, I press down, left three times, and then select to launch Netflix. Five clicks.

What was press, move thumb, press is now press, move thumb, press, press, press, move thumb, press.

This is now my use case. But yours is likely different. Which brings me to my feature request. So just like in iOS, Apple TV should allow for rearranging apps. I’m not an iTunes Match subscriber, so the Music app is useless to me. I’d like to replace it with the Netflix app to return to two-click Netflix launching. And since I rarely use the Settings app, maybe I’d like to replace it with the Trailers app.

I can see this working two ways. First, the harder way: the Apple TV remote. When in the main menu, clicking and holding the menu button on the remote makes the apps jiggle. Then, I can use the directional buttons to navigate to an app, click the select button to select the app, and the use the directional buttons to move the app around. If I’m done rearranging, I click the menu button again and the apps stop jiggling; otherwise, I click the select button again to deselect the app, and I can select and rearrange another app.

Second, the easier way: the iPhone and iPad Remote app. In the app is a grid of Apple TV apps. If I tap and hold on an app, they all jiggle, and I can rearrange them—just like how I rearrange documents inside Pages for iOS, and just like how I rearrange apps in iOS.

So now that Apple TV has iOS-like apps, Apple TV needs iOS-like app rearranging—and with it iOS-like jiggles.

Siri Should Tame the Mountain Lion

OS X Mountain Lion roared into existence this week featuring many smart additions inspired by iOS. One addition I would like to see in the final build of Mountain Lion is Siri.

But where would Siri live? Easy. Notification Center is hiding under the right side of the desktop wallpaper. Why not have Siri hiding under the left side of the wallpaper?

siri_mac

Here’s a mock-up (click for larger version):

siri_mac

Just like with Notification Center, a trackpad gesture can slide the wallpaper and activate Siri. And perhaps a menu bar icon and a keyboard shortcut (or even a dedicated key) could as well.

I have to imagine someone in Cupertino has Siri running on their Mac today. Let’s hope we all will this summer.

iOS Linen and Other Grip(e)s

iOS linen doesn’t really bother me; it’s Apple’s favorite texture right now, and that’s fine. What does bother me is inconsistency in visual and interaction design.

Say this is my home screen with one of my photos (click on any photo for a larger version):

current iPhone home screen

When I open the Utilities folder, something heinous happens:

current iPhone folder

My wallpaper gets split and filled with linen. Because my wallpaper and my apps are treated as the same layer in the home-screen hierarchy, both the wallpaper and the apps divide and split apart when opening a folder; revealed underneath is the layer with the folder apps and linen.

Here’s another example with a nice wallpaper by Louie Mantia:

current iPhone home screen

Folder opened:

current iPhone folder

Visually, I have two issues with this. First, I don’t want my wallpaper split in two. Second, I don’t want additional colors (or texture) introduced behind my apps. I want a consistent wallpaper behind my apps.

So here’s what I propose: introducing three layers instead of two and saying goodbye to linen. Instead of the top layer consisting of the home-screen apps and wallpaper and the bottom layer consisting of the folder apps and linen, the top layer will consist of home-screen apps, the middle layer folder apps, and the bottom layer wallpaper.

When a folder opens, instead of the wallpaper splitting and moving up and down from the break, the wallpaper will remain stationary. The apps will still split as they do now to reveal the folder apps, but replacing the linen behind the apps will be a blurred section of the wallpaper:

proposed iphone folder

With this functionality, the wallpaper doesn’t split in two, and the wallpaper color scheme stays intact.

proposed iphone folder

But what about other instances of linen? This solution works with both the multitasking drawer and Notification Center. Currently when the multitasking drawer opens, everything above it slides up to reveal the apps and, of course, more linen:

current iPhone multitasking drawer

In my proposal, when the drawer opens, the apps will slide up, but the wallpaper will remain stationary just like when a folder opens. And instead of linen behind the drawer, there will be a blurred section of the wallpaper.

proposed iphone multitasking drawer

(What’s that grip for? I’ll come back to that shortly).

Notification Center will display similarly. Instead of linen in the background, you guessed it: blurred wallpaper.

proposed iphone notification center

But this treatment for Notification Center only works if the functionality of Notification Center changes as well. Instead of pulling down over the home screen, Notification Center will push down the home screen just like how the multitasking drawer pushes up the home screen. Just as I do now, I will swipe down from the top bar to open Notification Center, and all the home-screen apps will move down with Notification Center. (As Neven Mrgan pointed out, the current Notification Center grip needs some work; I used his solution.)

And since I can swipe down to open Notification Center, I should be able to swipe up to open the multitasking drawer hence the grip above. Max Rudberg has an example video of this. Swiping up takes far less effort than double clicking the home button and will be consistent with how to open Notification Center. (One additional note, for consistency, I also propose to keep the top bar visible when the multitasking drawer is open. Currently, when the multitasking drawer is open, the top bar slides up with the apps and wallpaper and is not visible, but when a folder is open, the apps and wallpaper slide under the top bar keeping it visible.)

So there’s my proposal: greater visual consistency in the wallpaper and improved behavioral and gestural consistency in the multitasking drawer and Notification Center. As a result, no more linen.

But if you really like that linen texture, you could always make it your wallpaper; it might even look nice blurred.

Some side-by-side comparisons:

folder comparison

multitasking drawer comparison

notification center comparison

(Many thanks to Teehan+Lax and their iOS 5 GUI PSD for help with the Notification Center and multitasking drawer images.)

Zzzzz > Buzzzzz

I love Notification Center in iOS 5. I love not missing any notifications because a new one came in. And I love periodically pulling down to open Notification Center just for the sake of opening it (I love me some touchscreen gestures, too).

I don’t love that my iPhone goes off at all hours of the night. When I go to sleep, I toggle silent mode on. While I don’t hear notification sounds during the night, because I have my iPhone set to vibrate while on silent mode, it still vibrates at all hours of the night.

Missing from Notification Center is a sleep option where you specify a block of time where the notifications will still roll in, but iPhone won’t make any sounds. Some apps like Tweetbot and Boxcar have this option in their settings, but not all apps do and certainly not the Apple apps.

So here’s what I do: When I go to bed, I toggle my iPhone to silent mode like usual, and in the Sounds settings, I turn off vibrate in silent mode

vibrate off

Notifications will still accumulate, but my iPhone won’t make a sound and won’t vibrate all through the night.

If I am using my iPhone as an alarm, the alarm will still play its sound even when the phone is in silent mode (this works for the Clock app but not for third-party alarm apps).

Having an actual sleep option for Notification Center would be great in a future iOS release. Until then, this is my workaround. Maybe you’ll find it useful, too.

Apple iPhone Invigorate A6 4G Turbo Deluxe SmartPhone

With all the chatter about iOS 5.1 hinting at the next generation of iDevices—and specifically the next iPhone—I started wondering about the iPhone naming convention and what, if anything, is Apple’s master plan for naming their flagship product.

This naming-convention conundrum is only found in two of Apple’s product lines: iPhones and iPads. Whenever a new Mac is released, the previous model is removed from the sales floor. You can still get a refurbished previous generation product, but not from the sales floor.

But with iPhones, previous models are still available. So how should they be named?

The most obvious convention would be the iPad route. The first iPad is iPad 1; the second iPad is iPad 2. But that’s not possible with the iPhone (I’m looking at you, iPhone 3G).

So, how about a different idea: name the phone using the year it was released. This year’s model? The iPhone 11. Next year’s model? The iPhone 12. Or even the iPhone ’12. And for consistency, why not the iPad ’12?

Apple only releases one iPhone per year, so this could work. This naming convention is what the car industry uses. You want a new car? Which year’s model do you want?

And gone are the silly G and S names. And the “oh I really wanted an iPhone this year, but I was hoping it would be the iPhone 5”. No. You get this year’s model or next year’s model.

So what’s wrong with this idea? Well, this naming convention assumes Apple will only release one iPhone per year. What happens if they release two? Yeah, I don’t know. iPhone ’13A? iPhone ’13S (for Spring)? No.

And perhaps this naming convention calls too much attention to the age of the device. Hey, it’s 2011. I think I’ll buy the iPhone ’09. Manufactured two years ago. Prior to this year’s iPhone 4S release, the iPhone 3GS was still a popular phone. Would that have changed had the name of the phone called attention to its age? I don’t know, but not including the manufacturing year right in the product’s name does mask its age at least on first glance. A customer in the Apple Store looking at a comparison chart of the three available iPhone models now sees 4S, 4, and 3GS. Seemingly, they could all just be variations of this year’s technology (even though they aren’t). But that mask is lifted when the comparison chart shows ’11, ’10, and ’09. Perhaps this is a small issue, but something to consider nevertheless.

I guess something else to consider is just going with the industry norm and naming the next iPhone the Apple iPhone Invigorate A6 4G Turbo Deluxe SmartPhone. That works, right?

If Apple did name the next iPhone that, it would still set sales records because in the end, perhaps what we’ve learned is the name of the device doesn’t matter. An iPhone is an iPhone, and people know what they’re getting no matter what it’s named.

I’ll be getting next year’s iPhone whether it’s named the iPhone ’12, the iPhone 5, or the Apple iPhone Invigorate A6 4G Turbo Deluxe SmartPhone. I’ll say WTF is this name and then not be able to take my hands off the phone. Just like everyone else.

Sonofabitch

I can’t get my hands on an iPhone 4 yet, and this effing guy is BLENDING one?! Sonofabitch.

(via TUAW)

Buy Me Some Peanuts and Hack-er Jack

mlb at bat iPhone app

Via TUAW, the 2010 edition of the MLB At Bat iPhone app will allow you to stream audio in the background while you accomplish other tasks on your iPhone.

While Apple doesn’t allow 3rd party apps to run in the background on the iPhone or iPod touch,* Silicon Alley Insider notes that you can listen to audio in Mobile Safari while using other applications. It’s this trick that MLB exploited with At Bat 2010. With the tap of a button, At Bat will push an audio stream to Mobile Safari.

Note that MLB didn’t come up with this trick, nor is their app the first to exploit it. ESPN Radio does it, as well as Scanner911 and FlyCast. Still, it’s nice that MLB’s devs acknowledged that some users might want to check email or hop onto Twitter while listening to game, and made it easy to do so.

Dear Apple: please make this available sans-jailbreak and sans-hack.   Thank you.

Saving Money on iPhone Accessories

Need an iPhone case but are a bit short on cash?   iPhone case maker Case-Mate has a solution: the iPhone 3G / 3GS Recession Case.

paper iphone case

It’s made of cardboard, costs 99 ¢, and Case-Mate offers free shipping:

Tough times call for tough cases and that’s where the recession case comes in! The recession case lets you keep cash in your pocket without sacrificing on unique design for your beloved iPhone!

And if you need an iPhone dock, you can make one for virtually-free!   Out of paper, too!

paper iphone dock

Just print-out the template and follow the instructions!

(Nod: What’s on iPhone and The Dieline, respectively)

iPhone: A Timeline

Often, I’ll flag a story for discussion or posting and then forget about the article.   Here’s such an article.   A couple months ago, The Unofficial Apple Weblog published a very interesting story detailing the timeline of the iPhone:

The only applications loaded in by default were SMS, Calendar, Photos, Camera, Calculator, Stocks, Maps, Weather, Notes, Clock, Phone, Email, Safari, iPod and Settings. While the list may seem impressive typed out, there weren’t even enough applications to fill the whole screen. There certainly weren’t the 50,000 applications that are available today.

Steve Jobs and company told us from the beginning there wouldn’t be an SDK. Instead developers were encouraged to write web apps, taking advantage of the iPhone’s great mobile browser. Obviously people weren’t happy with this arrangement, and jailbreakers (including our own Erica Sadun) got to work shoehorning in native applications with no help or documentation from Apple.

I can’t wait to see what’s in store for us iPhone geeks next summer!

Palm Pre iRony

Gizmodo this weekend linked to a survey of Palm Pre users that shows they want a feature of the iPhone that perhaps drove many of them away from the iPhone:

Smartphone users just don’t know what they want. One of the biggest, loudest complaints about all-touchscreen phones like the iPhone is its lack of a hardware keyboard, and now a survey shows Pre users most want a soft keyboard.

The lack The beauty of not having a hardware keyboard on the iPhone is that it’s there when you need it and gone when you don’t without you needing to physically alter the device to get the keyboard as the OS on the iPhone hides and reveals the keyboard for you.   No pesky sliding that you may or may not be able to do with one hand, no worries about switching the language on your device should you need to and not having the proper keyboard to match, no reason to manufacture separate devices with keyboards for specific languages, etc.

(Nod: Just Another iPhone Blog)

Today’s the Day!

iPhone OS 3.0 is finally here today. Sometime today, that is. I feel like a little kid on Christmas morning whose parents told him he has to wait until after church to open his presents–the presents are there, I know they’re there, but I can’t have them yet. We know the upgrade happens today, but we have to wait until Apple deems us worthy. Ahh! The suspense!

There Isn’t an App for That… Yet

MG Siegler at TechCrunch  argued  this weekend for a Genius feature for the iTunes App Store, similar to how the Genius feature for music and movies already works.

The problem is that while early on, it was pretty easy for small-time developers to make an app and get it noticed in the store, now with 50,000 apps, we’re getting to the point where you need to do something else to promote your apps. That’s good news for big time development studios like EA, which can throw marketing money at the problem. But for some smaller developers some of which are just one person that’s simply not an option. But there is one potential solution, and it’s one Apple already has built-in to iTunes: Genius recommendations.

So, like the music and movies Genius feature, the App Store Genius would give recommendations for other apps you might be interested in based on what you have as compared to other similar users.

What a terrific idea, and I find it hard to believe a) Apple hasn’t already thought of this or b) this isn’t in the works already if the Genius feature, originally only for the music store, was recently extended to the movie store.   iPhone and iPod touch  users knowing what other apps they might also like could open an additional stream of revenue, no?   Hard to argue against instating a feature to bring more cash in.

I know I would find this helpful.   I used to subscribe to a couple RSS feeds that listed new apps, but I quickly found I couldn’t keep up with the volume of new apps that came in.   That volume is great for Apple, but bad for users who can’t keep track of the apps and bad for small-time developers who can’t get their apps noticed.

With a Genius feature, more apps will be exposed to more users, resulting in a win for users, a win for developers, and a win for Apple.   Perhaps there’ll soon be an app for that, too.

(Nod: Just Another iPhone Blog)

AT&T Fail

iphone 3gs

As expected, today Apple announced a new iPhone, one that boasts faster operation and data speeds, a built-in compass, voice activation, a 3-megapixel camera with auto focus, and video recording and editing capabilities.

Since the rumor mill was churning out its speculations, I speculated on whether or not I would pony up the cash for a new model even though I purchased myPhone 3G in February.   Based on what I saw on the features list, I’m definitely interested in an upgrade.   For as much as I use the iPhone camera, a better camera with focusing and white balance abilities is a huge plus.   And who doesn’t like a faster device?

But then I heard about the fine print: there is a set of prices for new AT&T customers and a set of prices for existing AT&T iPhone 3G customers.   Those of us already in contracts with the carrier would have to pay $200 more for the particular model of iPhone we would purchase.   The same 16 GB iPhone 3GS that would cost a new customer $199 would cost me $399.

iphone pricing

Any chance of Apple or AT&T getting me to fork over more cash for a new iPhone are nil now.   What percentage of existing iPhone 3G customers does Apple and AT&T expect to pay twice the retail price of the phone to upgrade?   I assume this decision is that of AT&T.   I’m not a business major, but this decision seems like it is slamming the door on a potentially huge stream of additional revenue for both Apple and AT&T if many existing iPhone 3G customers like me are unwilling to pay the doubled price for the new phone.   Instead of forcing us to pay the additional price, which will likely be unlikely for many or most iPhone 3G owners, why not extend our contracts two years from whatever point we are in our contract and allow us to pay the normal price for the phone?   We’re still locked into a contract, but now the contract is even longer, so that’s additional monthly revenue for AT&T, no?

I imagine there will be a significant amount of pushback from iPhone 3G owners.   As a result, perhaps this policy will fall.

Furthermore, what’s with AT&T not offering MMS (multimedia messaging) until late summer and no date for tethering ability?

Those small digs at AT&T from Apple today during the keynote were well deserved.   What a spectacular fail for AT&T today.