Joshua Tucker's avatar

Joshua Tucker

Intelligently Installing Apps into Folders (iOS and OS X)

It’s amazing the ideas you stumble upon when undergoing the simplest of tasks. I restored a device not too long ago and wasn’t looking forward to re-organizing my icons (I generally start from scratch with no backup). Upon creating my first folder, I stopped after dropping the application in and watching it automatically name the folder based on what it knew about the applications. I’ve done this a million times but this time, it stood out to me. That’s pretty cool – it made a guess at the folder name based on the first two applications I meshed together. The name was dead on. How does it do this?

Although I believed I knew the answer, I double checked Apple’s iOS Developer Library on the application submission process. One of the steps is to categorize your application based on a primary and secondary category. Makes total sense – they most likely use this data to make that call when naming the new folder. 

Why does this matter? I think this same idea could be fine-tuned in an intelligent, unique way to help iOS place newly installed applications into applicable folders without having to move them later. Organizing your Home Screen isn’t always trivial, but finding smart ways to arrange it from the source could make the experience much more efficient, smooth, and enjoyable. This idea has come to my mind before but it escaped me somehow. I’m glad it was revitalized. 

An iOS Home Screen (or Launchpad for OS X) folder contains three core attributes:

1) Name (Keywords)

2) Apps

3) Category Data

Using these three components, an application you start installing from the App Store could be placed in a folder with which it has strong similarities (using the data above). Of course on the algorithm-side there’d have to be some boundaries, but I believe a system could be designed to make this well done. Logistically, the application’s page (or from Updates/Purchased/Etc.) where you start the install, could prompt you as to which folder it would be installing to. There’s room for an option to set tags or keywords to folders upon creating them (editable later) to make the process even more precise. 

Applicable to iOS and OS X. 

Submitted as an Apple Radar.

© 2013 Joshua Tucker

Calendar and Reminders Alerts vs. Do Not Disturb (iOS & OS X)

I noticed what I’m about to tell you long before tonight, but I just got to writing it down.


The purpose of Do Not Disturb on iOS is to ensure you’re not being alerted during times you don’t wish to (like when you’re sleeping – or even during a calendar event (something I plan to create)). However, there is always those exceptions to the rule. Currently, you can set a privileged group that can override your Do Not Disturb (something I think OS X could have as well in the future). Plus an alarm that you set in Clock will always circumvent when it’s enabled.

I found that Calendar and Reminders don’t have that authority when it comes to alerts. Do Not Disturb (and Show Banners and Alerts on OS X) lacks a fundamental exception for those. If I set a calendar or reminder event to alert (or remind) me at a certain time, location, etc., it will not override Do Not Disturb when it goes off. 


My methodology can be summed up in the words of a great friend of mine:

"When I think of Do Not Disturb, I think of a hanger I put on my hotel door. The hanger is meant to keep me disturbed from the outside world, not myself. I could be having a party in the room but people or things outside of my room shouldn’t bother me." 

Key point: Features like Do Not Disturb and Show Banners and Alerts aren’t supposed to keep you disturbed from yourself.

If I take the time to set an alert on a calendar event or reminder because it’s that important for me to remember, it should override anything no matter what. It warrants authority. 

Why isn’t it doing this?

© 2013 Joshua Tucker

Analysis: Notification Priority on iOS
The expansion of technology has enabled us to converse with one another in a variety of ways such as Twitter, Facebook, iMessage, SMS, email…the list can go on for infinity. There are many pros to this from a mobile perspective but there’s also a major problem that we all face: notification priority.
There’s a lack of an intuitive, intelligent way of filtering content when it comes to notifications. Every application has an excuse to send you a notification. At the number of applications people run on their iOS device(s), the list can extent to a great length. How can this be handled? There are currently three ways of dealing with this issue, but are they really the most optimal option?
Sorting Apps Manually -
This requires you to go into Notification settings and move cells around in the order you wish to receive them. But is that really worth your while? It can be tedious, especially when you have a lot of applications. If you install a new application that’d you like to be prioritized, you go in again and move things around. After a while, you just let it go and the order runs rampant.
Sorting Apps By Time -
Although a logical ordering parameter, does it really reflect what’s most important? If I receive a very important message from my mom but then I receive a ton of Facebook notifications, what’s being prioritized? Facebook, even though what I really care about is my mom’s message. 
Disabling Push Notifications Per App -
At the point of installing the application, you make the choice. But most of the time, I’d argue we reluctantly choose to send push and then really don’t care to change it afterwards.
The key point in all these current cases is that it’s difficult to truly order notifications in a way that matters most to you as the user. And the two ways that allow the user to manually order it can’t reflect your changing habits and use of applications effectively. Our devices, or are iPhones, iPads, and iPod touches more specifically, are more sophisticated and powerful then any other time in history. How can we make them the workhorse in understanding us better in regards to communication priority? What can be done to remove the necessity to manage notification priority ourselves? Sorting notifications by usage.
Sort By Usage
I can argue confidently that the applications a user uses or responds to the most (notifications) are the most important. Choosing to open an application or directly responding to a notification is a choice. And when you are presented with numerous choices and you choose one over the others, it’s clear which is more important to you. Therefore, if you (as the user) make choices all the time about the applications you open and the notifications you respond to, wouldn’t this be great measure for determining what notifications are important to you? I think so.
I propose that iOS could improve this issue of communication or notification priority by doing the work for us – presenting us the notifications that matter most based on data. How can this data be collected? Here are some different ways it could be done effectively:
Usage Collection:
- # times an app is opened
- # times a notification from a particular app is opened from the lock screen (omitting the slide to view or read cases as no choice is presented to opt out and just unlock)
- # times a notification from a particular app is opened from the Notification Center
- the amount of time spent in an app
Based on this data, you can rank applications by most important (priority) and display their notifications as such. The device could also cross-reference other data to ensure that notifications from applications such as Phone, Mail, and Messages aren’t buried (if they aren’t necessarily the most used application)
Phone -
Is the notification from someone in your Favorites? Your Do Not Disturb group? Someone you frequently call or receive (pick-up) calls from? Take this data and rank it based on most important (priority) and override the overall usage ranking if it meets certain criteria (i.e. duration of calls, # of calls)
Mail -
Is the notification from someone in your VIP list? Someone you frequently respond to? How quickly does the user read the email from that address? Take this data and rank it based on most important (priority) and override the overall usage ranking if it meets certain criteria (i.e. response time in relation to receiving the email, # of times you send messages to this contact)
Messages –
Is this notification from someone in your Favorites? Is it someone you frequently respond to? Take this data and rank it based on most important (priority) and override the overall usage ranking if it meets the certain criteria (i.e. response time)
Let’s let our devices be the smartypants.
© 2013 Joshua Tucker
P.S. Stay tuned for another analysis and my idea of notification “re-posting.”

Analysis: Notification Priority on iOS

The expansion of technology has enabled us to converse with one another in a variety of ways such as Twitter, Facebook, iMessage, SMS, email…the list can go on for infinity. There are many pros to this from a mobile perspective but there’s also a major problem that we all face: notification priority.

There’s a lack of an intuitive, intelligent way of filtering content when it comes to notifications. Every application has an excuse to send you a notification. At the number of applications people run on their iOS device(s), the list can extent to a great length. How can this be handled? There are currently three ways of dealing with this issue, but are they really the most optimal option?

Sorting Apps Manually -

This requires you to go into Notification settings and move cells around in the order you wish to receive them. But is that really worth your while? It can be tedious, especially when you have a lot of applications. If you install a new application that’d you like to be prioritized, you go in again and move things around. After a while, you just let it go and the order runs rampant.

Sorting Apps By Time -

Although a logical ordering parameter, does it really reflect what’s most important? If I receive a very important message from my mom but then I receive a ton of Facebook notifications, what’s being prioritized? Facebook, even though what I really care about is my mom’s message. 

Disabling Push Notifications Per App -

At the point of installing the application, you make the choice. But most of the time, I’d argue we reluctantly choose to send push and then really don’t care to change it afterwards.

The key point in all these current cases is that it’s difficult to truly order notifications in a way that matters most to you as the user. And the two ways that allow the user to manually order it can’t reflect your changing habits and use of applications effectively. Our devices, or are iPhones, iPads, and iPod touches more specifically, are more sophisticated and powerful then any other time in history. How can we make them the workhorse in understanding us better in regards to communication priority? What can be done to remove the necessity to manage notification priority ourselves? Sorting notifications by usage.


Sort By Usage

I can argue confidently that the applications a user uses or responds to the most (notifications) are the most important. Choosing to open an application or directly responding to a notification is a choice. And when you are presented with numerous choices and you choose one over the others, it’s clear which is more important to you. Therefore, if you (as the user) make choices all the time about the applications you open and the notifications you respond to, wouldn’t this be great measure for determining what notifications are important to you? I think so.

I propose that iOS could improve this issue of communication or notification priority by doing the work for us – presenting us the notifications that matter most based on data. How can this data be collected? Here are some different ways it could be done effectively:

Usage Collection:

- # times an app is opened

- # times a notification from a particular app is opened from the lock screen (omitting the slide to view or read cases as no choice is presented to opt out and just unlock)

- # times a notification from a particular app is opened from the Notification Center

- the amount of time spent in an app

Based on this data, you can rank applications by most important (priority) and display their notifications as such. The device could also cross-reference other data to ensure that notifications from applications such as Phone, Mail, and Messages aren’t buried (if they aren’t necessarily the most used application)

Phone -

Is the notification from someone in your Favorites? Your Do Not Disturb group? Someone you frequently call or receive (pick-up) calls from? Take this data and rank it based on most important (priority) and override the overall usage ranking if it meets certain criteria (i.e. duration of calls, # of calls)

Mail -

Is the notification from someone in your VIP list? Someone you frequently respond to? How quickly does the user read the email from that address? Take this data and rank it based on most important (priority) and override the overall usage ranking if it meets certain criteria (i.e. response time in relation to receiving the email, # of times you send messages to this contact)

Messages

Is this notification from someone in your Favorites? Is it someone you frequently respond to? Take this data and rank it based on most important (priority) and override the overall usage ranking if it meets the certain criteria (i.e. response time)

Let’s let our devices be the smartypants.

© 2013 Joshua Tucker

P.S. Stay tuned for another analysis and my idea of notification “re-posting.”

Do Not Disturb for iOS - Application Integration

Preface

To make this short, I attended a conference called Apps World this past week at the Moscone Center in San Francisco. I met a woman for the first time there and we totally hit it off. She’s a designer too and we spent much of our time talking design and interaction. Her insight truly opened my mind to thinking in different and new ways.

Originally posted on Dribbble.

Introduction

Do Not Disturb was a prominent feature in iOS 6. Beyond setting a schedule, Do Not Disturb is a simple toggle on and off action. Our iOS devices are extremely powerful and are designed by incredibly intelligent people. How could Do Not Disturb move forward in a way that makes it more intelligent too without you needing to attend to it? 

One way is to integrate it with Calendar (see here). It would helpful so you don’t have to remember to set Do Not Disturb if you’re in a class, in a meeting, or somewhere that your calendar has down. This works primarily for occasions in which you’re not using your device. But what about when you are? How could this work?

Grab your hardhats. 

Do Not Disturb for Applications

One for All or All for One?

Apple designed the banners in such a way to make them as unobtrusive as possible but to remain visible enough to catch your eye. You can still navigate places when banners are showing and they aren’t generally aggravating when you’re moving from task to task, app to app. However, this is not the case for certain scenarios such as reading a book or document, watching a movie, or playing a game. Essentially places where you’re in presentation or fullscreen mode. 

Adding the ability for Do Not Disturb to manage when you’re using your device is a solution, but it’s cloaking it all when it isn’t necessary. When specificity can be achieved, I feel it’s always the best solution. Much easier and more efficient. When the sun is facing my window, I close the shades. But do I want to close all my shades, even the ones on the other side of the house when I just want to close this one for a specific period of time? No. So how can I close only one shade so to speak on my iOS device?

Intelligent Integration

Do Not Disturb could work in a “one shade” fashion too. For applications such as games, video players, or in stock applications like iBooks, an alert could show offering you the option to set Do Not Disturb specifically for that application only. If you don’t mess with the banner at all, Do Not Disturb remains off and will hide automatically. However if you enable it, Do Not Disturb will turn on and the banner will hide.

While in the application, you won’t be disturbed. If you choose to leave the application, it won’t be set everywhere else. The integration would be intelligently designed to not prompt you each time. If you only exit for X amount of time or the application is still “running” and hasn’t been killed in the App Switcher, the setting you have remains intact. If you wish to change the setting, you could do a gesture from the top of the screen (possibly two on the iPhone, four on the iPad) to show the option again and allow you to change your choice. Over time, the device could catalog your patterns of enabling Do Not Disturb and make the decision for you (but prompt you of the choice you set and allow you to change it if you wish to). 

Let’s let our device be the smartypants. 

© 2013 Joshua Tucker


Bonus Feature

Here’s how I got the necessary colors for the banner and its elements:

I analyzed the color table of the image in question and checked two things: which color was the most used and which color was the brightest color (128 block color grid). The most used color was taken to make the banner and the button. The brightest color was used to color the text and moon icon. In the event that the most popular color and brightest color were the same, it went down the grid to the next color in which it was visible (could be determined by a brightness parameter). The colors for drop shadows, gradients, and the like were done in a similar fashion (with exceptions to the rule of course too). The background underneath the content is also blurred. All of this computation could be done in code and on-device dynamically. 

  

Noticed something interesting with phone handling on the iPhone that I’ve never seen before. The following occurs only in this order to my knowledge. 

After answering a phone call, here’s what’s standard in regards to the Power and Home button:

Power Button: Locks screen (speaker) and hangs up when not on speaker  (I wrote a personal rebuttal on this handling in a prior post)

Home Button: Multitasks to SpringBoard


I discovered that the Home Button in the sequence below locks the screen instead of multitasking to the SpringBoard. It’s puzzling and I’m not sure why it would do it in this case.

Step 1: Answer phone call

Step 2: Turn on Speaker

Step 3: Lock screen

Step 4: Unlock screen (note Camera grabber is gone and no passcode is required)

Step 5: Disable Speaker

Step 6: Press Home Button

After pressing the Home Button, the screen locks. And not only does it lock and remove the Camera grabber, but it prompts you for a password. In every other case but this one, the Home button multitasks you to the SpringBoard.


I wonder why it is like this. What is its intended purpose? It seems odd to me to change the handling of a button for one user case but keep the same for all the rest. In a similar response as my other post regarding the power button while in a call, I would argue keeping it consistent in all cases would be important. 

I would love to learn what the purpose of it might be. It could very possibly be a bug too, but I always give the benefit of the doubt. Feel free to post a comment about your thought on it below.  

© 2013 Joshua Tucker

Full screen images for my third revision of Lock Screen Actions.

Original Dribbble post 

© 2013 Joshua Tucker

Unsolicited Redesigns by Lukas Mathis

A present I got for my birthday many months ago was Mathis’ book Designed for Use: Create Usable Interfaces for Applications and the Web. I started reading it recently and can’t believe I didn’t start earlier. It’s a great resource and has taught me immensely. 

This is another great piece from him called Unsolicited Redesigns. Of all the excellent points made, here’s my takeaway:

1) Walk in humility

Humility is an act of respect. Instead of seeking to be right, strive for what IS right. Pose your critique more along the lines of a question, not a statement.

"Being brilliant is not a great feat if you respect nothing." – Johann Wolfgang von Goethe

2) Seek to learn

Don’t let your arrogance get in the way of learning the what, where, when, why how. Take pride in your work, but be open and receptive to the feedback. The more you listen and the less you talk, the more you will gain. Communication has a purpose – use it for what’s meaningful.

"Being ignorant is not so much a shame, as being unwilling to learn." – Benjamin Franklin

© 2013 Joshua Tucker

Many people have addressed Do Not Disturb and questioned why there isn’t a toggle for it in the iOS Notification Center. Often, the justification is that OS X has a Show Banners and Alerts feature in its Notification Center therefore it could be a viable to add Do Not Disturb in a similar fashion. The conversation arose again a few days ago, so I decided to sit down and think about my own personal thoughts on the matter.

What is written below, along with the images submitted, is a collection of my analysis on Do Not Disturb as well as my solutions to the inquiring minds. They are strictly my opinion based on my own personal experience, but I hope to shed some light on a topic I feel hasn’t been focused on as in-depth as I attend to with this post.



Do Not Disturb vs. Show Banners and Alerts

First, I will begin by explaining the difference between these two. Sometimes their differences can be overlooked and I want to put their “definitions” on the table so to speak so I can move forward with a solid foundation. 

Do Not Disturb - A feature on iOS which allows the user to silence any calls and alerts from the lock screen when enabled. 

Show Banners and Alerts  - A feature on OS X which allows the user to show or hide banners and alerts from the desktop when enabled.

From the core, these two features are starkly different – Do Not Disturb functions only when the device is locked and Show Banners and Alerts only works when computer is in use (by nature of the OS). With that said, the implication of these features is the following:

Do Not Disturb is designed to keep you uninterrupted when you’re not using your device while Show Banners and Alerts keeps you uninterrupted when you’re using your computer. 

In simple terms, one serves for when a device is not in use while the other serves while it is in use. That’s a significant difference. When Do Not Disturb is enabled and you’re using your device, it is not in effect. You still receive notifications (banners and alerts) without interruption. Therefore, placing a switch for Do Not Disturb in the Notification Center doesn’t make sense. 

Do Not Disturb doesn’t mandate SpringBoard notifications (banners and alerts). Even with it enabled, the device still shows banners and alerts like normal. By placing a toggle in the Notification Center, it makes a false impression on the nature of Do Not Disturb and just adds clutter – it doesn’t make sense.

A logical response to this could be: 

"Then why not make Do Not Disturb hide banners and alerts too which would make this feature work in the Notification Center?" 

There are many issues with why that wouldn’t be a good solution, especially for users who have it scheduled. Another tack-on suggestion could be:

"Add a Show Banners and Alerts option within Do Not Disturb."

Although it is an option, it adds more complexity than the user needs to handle. If the user has to think whether that option is enabled before enabling Do Not Disturb then it removes the ease of knowing exactly what you’re doing when you toggle the switch. 

Hopefully, you see why I feel that a feature like Do Not Disturb and Show Banners and Alerts are two separate entities and would wreak havoc if placed together. 



So, what if I want best of both worlds?

Like the title says, what if you want both features? A way to keep you uninterrupted when you’re not using your device as well as when you are? My concept photos show what I feel could be a good way to integrate them both.

In the images I submitted, you’ll notice that it has the following disclaimer:

"Do Not Disturb is enabled. Calls and alerts that arrive while locked will be silenced." 

This only shows when Do Not Disturb is enabled. Why did I add this after digressing into why Do Not Disturb doesn’t belong in the Notification Center? Because it is applicable to let the user know of its current state. Although Do Not Disturb doesn’t mandate banners and alerts on the SpringBoard, iOS still stores all the notifications you receive even with it enabled. And despite being an “advanced user” so to speak, and having a status bar icon, I forget it’s left on sometimes. 

This isn’t a problem I face alone. I have had three friends in the last two months make a comment that they couldn’t figure out why their device wouldn’t buzz or ring. They mentioned they finally discovered that it was this feature called “Do Not Disturb” that was on. Two of them said it took them over a week to figure it out (the last said over a month). The prompt in the Notification Center, I feel, should help in reminding even the most “advanced” of us that Do Not Disturb is actively running. In my mind, this would always be in view in the Notification Center until it’s turned off. On top of this, having some type of alert after a significant amount of time that Do Not Disturb is turned on would be great integration as well. 

But this message won’t be displayed in full view all the time. Pulling down the shade will reveal a Show Banners and Alerts toggle along with the text. Toggling it, similar to OS X, will turn off all banners and alerts from showing on the SpringBoard. When turned off, a status bar icon will show to notify the user of its state (next to the battery percentage). Since the scrollview in the Notification Center is very fluid, it won’t be hard for the user to discover the Show Banners and Alerts toggle as well as check its state in the even they forget (or don’t look at the status bar icon). You can hide the toggle and the text by pushing the view back up again. 

As mentioned in the field, it will toggle itself back on again tomorrow. One might ask “Why not have a similar un-toggle feature for Do Not Disturb?” It would conflict with Schedule and wouldn’t help in users figuring out how to use all of its features. 

I would love to hear your thoughts, concerns, and insight on this topic. Feel free to comment below or hit me up on Twitter.

UPDATE: I have started a project with a developer to bring this to life. Coming to Cydia in the near future. 

UPDATE 2: It just dawned on me. Think about Power Nap as being the OS X equivalent to Do Not Disturb. The implication is that your device is not in use and doesn’t interrupt you (you don’t have to leave the lid open or disable your computer from sleeping).

© 2013 Joshua Tucker

Original Dribbble Post

As promised, here are fullscreen shots of my Reminders for Messages on iOS concept. Check out the original Dribbble post for full details.

Reminders for Messages on iOS 

Here are the fullscreen images for my Actions Widget concept plus an example Calendar view on Dribbble. 

Original posts:

Actions Widget - Notification Center

Actions Widget - Calendar View