5 ms·
Now lets talk about Hall Pass. This is a pretty neat thing and I first want to point out that this is really innovative work and could actually be a very useful
by gfodor 14y ago
Now lets talk about Hall Pass. This is a pretty neat thing and I first want to point out that this is really innovative work and could actually be a very useful thing for your school. Hell, I could see some people starting companies around such a simple but obvious idea that technology could improve, so hats off!
A few points on the design though. First, my guess is most of the time, people are going to get hall passes for one of the options in the "List" view. So, instead of having the "Where to?" selection be a text box, you can make it a spinning selector (like the date selector in Calendar, or the time selector for an Alarm.) I like the design of your custom "List" box, similar to your "Jump" view, but it's very different than the rest of the app and remember: if you're being clever like this, you probably need to simplify! iOS already has controls for this type of problem: the spinner. You can still customize the look of the spinner a bit if you want to add some flash, but you should start there.
If you are really worried about people needing to specify one-off destinations that are not on your list (and so the spinner will not have their choice), you can always include an "Other" selection in the spinner and then let them type something. If you go with the spinner route, you should change the field on the form from a text-box to a nice, large, tappable button that lets you click to open the spinner and then the label is replaced with your destination. In general, you should always do what you can to make it so people do not have to type on their phone, unless they really, really have to.
The minutes thing is rigged up very well, though I would suggest perhaps also going for a spinner here since that is the standard way to input time duration. Here's the reason: most of the time people do not need minute-level precision (like say 17 minutes or 29 minutes) Instead, they need things at 5-minute precison. For a hall pass, which is probably no more than 2 hours long, that's only 60 minutes / 5 minutes * 2 hours = 24 choices, which is a perfectly fine number of choices to put in a spinner.
So, for Hall Pass, you can have two buttons, "Where to?" and "For how long?" that open spinners, one with a list of places (and maybe "Other") and one with a list of 24 time intervals ranging from 5 minutes to two hours (there is actually a built in iOS spinner mode to select time intervals I believe, search around the documentation.) Your two buttons in hall pass are a little weird since your other tabs follow the style of most iOS apps and have buttons in the navigation bar. I would move "clear" and "submit" to the left and right corners of the navigation bar. Also, its weird that you have two ways to "clear" a hall pass, though this might be a quirk with your school.
The Edline tab is totally fine :)
Finally, some high level points on the design. One of the things about iOS design is you should generally tend to be subtle. First on color. Your app has highly saturated red navigation bars, mixed with bright blue buttons and segmented controls, and the Hall Pass has red and green buttons for clear and submit. First, you need to choose a color scheme. Red isn't bad, but I'd dial down the saturation a bit since bright red is a danger color. (In users' minds, red means "Be careful!" So, you should only create red buttons when important things are going to be destroyed.) If you are going to choose red as your main title bar color, your segment controls should complement it. When designing an app, you generally choose a palette of colors that complement each other. (Google color palette or color scheme) So, I would change your segmentation control (if you keep it) to be a lighter tone of red or a grey in order to match the background of the table view. Also, your instructional banners are cyan -- they should also match the main palette of the app. Blue and cyan can complement red if they are used in very small amounts, but usually it's a bad idea.
Also, you need to be consistent with lighting, layout, and style. I'm not sure where your buttons came from for Hall Pass but they are a little weird and are not standard iOS-styled buttons. Finally, one more nit pick: in Assignments, the blue box at the top to add assignments can use a little adjustment. First, the cyan background does not match the red theme, as I mentioned, but more subtly I think it is a little too small as the "Tap here" text is up too far against the edges of the control. As I've mentioned earlier, you should always try to stick to convention: if there are other text boxes you've seen, make yours the same size.
One last point. Your launch screen has a logo for your app. This is totally fine and it's not really a solid point of criticism, but it's something to think about. What Apple encourages people to do is to make their launch screen be a image of their first screen, but without any data (since it needs to be the same every time.) In your case, it would be the "Calendar" tab, with nothing in the grey area at the bottom. So, remove the table view, take a screenshot, and make that your launch screen. When users launch the app they will see the calendar tab as the app opens and the table view will "pop in". Check out the other apps on your iPhone like notes and clock to see this in action.
I hope this has been helpful. Don't take this as an indication this isn't great work. You are more competent at iOS programming just by looking at this than many wannabe hackers. Great job. You got a lot of details right. I know how much work it was to get all this working, even though it probably seems simple to people who pick it up and just start using it. Just like when you clean your house the easiest thing to notice is that you left a sock on the floor, when you build software the easiest thing to notice is where it needs work, not all the work that went into what is there already.
Main things to remember: go with the flow, if something has been done before, just copy it (and maybe tweak it), don't be too clever. Think about what your users will actually use (do they really need to be able to type in 17 minutes in Hall Pass? Do they really need to be able to switch between 6th and 7th grade schedules in a single tap?) Every control you use or layout you design has consequences of what it makes easier, and in turn what it makes harder. Especially on a tiny screen like a phone. Always think about what things your design makes harder, not just what it makes easier. For example, if you add a segmentation bar, that makes switching easy, but moves some information off the screen, so you have to scroll to get to it. Also, if you add a segmentation bar for one thing, it means you can't add one for something else that might be better for it. If you use a spinner instead of a text box, choosing those choices is easier but one-offs are harder. Which is more important? Finally, don't be afraid to throw things out. Most of the feedback I've posted requires you to remove a lot of stuff. There's a lot less moving parts. In fact, by the end, you might actually have less code than you do now, despite making the app much better. This is normal and is a good sign that you are doing things correctly. If you are always adding new stuff and never removing stuff (or always adding more than you remove) then you very well might be going down the wrong track.
If you've read this far, I've got some questions for you. How did you get into this? Were your parents involved? How could we get more kids like you to try hacking on their iPhones?
Great work and keep it up! Finally, here's a short bibliography if you are interested in reading more:
- http://www.amazon.com/Tapworthy-Designing-Great-iPhone-Apps/dp/1449381650/ref=sr_1_1?ie=UTF8&qid=1355381936&sr=8-1&keywords=designing+iphone+apps http://www.amazon.com/Tapworthy-Designing-Great-iPhone-Apps/...
- http://nathanbarry.com/app-design-handbook/ http://nathanbarry.com/app-design-handbook/
- http://designthencode.com/ http://designthencode.com/
- Anything by Tufte
- gtmtg 14y agoThanks so much for your detailed feedback! I'll try to address it point-by-point: > You should disable selections on these since they do not actually drill in anywhere. I'll definitely do this in both the calendar and schedule views. > I would suggest for upcoming events, you look into making the dates more readable. This sounds useful - and suggestions for libraries that can handle this? > Finally, the Feedback button doesn't really belong here. I agree - but I wanted an easy way for students to report bugs they found. I don't know if they would find it if I hid it away somewhere. Any suggestions on where else I can put it? > But, a better approach might be to ask the user when they first visit this tab what grade they are in, save that, and then provide a button in the navigation bar to change that setting. (You can try using an action sheet for this.) Good point - I'll probably implement this. One thing, though - for teachers that teach multiple grades, it might make it harder for them to find the different schedules at a glance. Then again, I'm not sure they really check the schedule in between each class. > But, even more importantly, just like your grade, you probably don't change your schedule type very often! In fact, as you noticed since you put it at the top, unlike your grade (where everyone is probably evenly split between grade), most people all are on a normal schedule, and then everyone changes to weird ones once in a while. .... A better format for your schedule screen might be something along the lines of the weather app, where you flick to page between the different schedules. Well, we have a PM activity schedule every Friday - but pagination might still be a better option. > I might be wrong here, but I don't see the point of moving assignments around. This allows for prioritizing - whenever you add an assignment in, it goes to the bottom of the list. However, if it is, for example, due before something that is above it, I like to move it up. > I think the help text said I should be able to delete things, but I couldn't get that to work. In regular mode (not manage mode), you can press and hold on an assignment to bring up the edit/delete menu. The modes are confusing - but I want to keep reordering and have it separate from the regular mode. > Make it so I can check off an assignment by tapping anywhere in the entire table cell. Good point - I'll do this. > But, don't move anything around when you tap on them, just leave them there checked or unchecked. Good idea - I think I'll remove the sectioned table view but move the completed assignments to the bottom (much like Clear). > First, my guess is most of the time, people are going to get hall passes for one of the options in the "List" view. Not really, actually - I usually use a hall pass to go see teachers, and I have to type their names in. > I like the design of your custom "List" box, similar to your "Jump" view, but it's very different than the rest of the app and remember: if you're being clever like this, you probably need to simplify! iOS already has controls for this type of problem: the spinner. I don't really like the look of spinners, but the list box might be a bit of an overkill. I'll look in to replacing it. > Instead, they need things at 5-minute precison. This is probably correct for times longer than, say, 10 minutes. However, for shorter times, 5-minute precision might be too limiting. > I would move "clear" and "submit" to the left and right corners of the navigation bar. I have them at the bottom to follow the natural flow of view - you fill out the form from top to bottom and hit submit. > Also, its weird that you have two ways to "clear" a hall pass, though this might be a quirk with your school. Now that I think about it - the clear button seems kind of useless. I'll get rid of that. > Red isn't bad, but I'd dial down the saturation a bit since bright red is a danger color. Red is our school's color. The saturation might be a bit high, though, so I'll change that. I just used the default red navigation bar that came with PrettyKit. Overall, though, I'll work on trying to come up with a single color scheme. > I'm not sure where your buttons came from for Hall Pass but they are a little weird and are not standard iOS-styled buttons. Yeah - they're BButtons (https://github.com/mattlawer/BButton https://github.com/mattlawer/BButton). I saw them on CocoaControls and thought they would be kind of cool. They may be overboard, though. > I think it is a little too small as the "Tap here" text is up too far against the edges of the control. I do think it is too small - I'll try to make it larger while still fitting in the toolbar. > When users launch the app they will see the calendar tab as the app opens and the table view will "pop in". I'll look in to doing this. > Think about what your users will actually use. Great point - I was hoping that the feedback feature would be useful for this. > How did you get into this? After 6th grade, I developed a simply prototype of an app to handle the hall passes. My technology-education teacher saw it and asked me whether I would be interested in developing a much broader app to replace the agendas. This kind of got me started - I asked my classmates for what they would like to see and started developing those features. > Were your parents involved? Not really - they gave me some feedback and encouragement, but not any help with developing the app. > How could we get more kids like you to try hacking on their iPhones? I think startups like makegameswith.us (and CodeCademy to some extent) are helping with this. Having a computer science class (or teaching programming in, say, tech-ed) as early as middle school would be great. > Great work and keep it up! Finally, here's a short bibliography if you are interested in reading more... Thanks! The App Design Handbook looks really great... Again, thank you for taking the time to go through the app and come up with this feedback. I'll definitely implement some of your suggestions...