Possible new application

Adding grading functionality to the Attendance application is a fairly common request that I have not implemented yet. And I just realized as I'm writing this, I've only mentioned requests I haven't added. I do add many of the request I get via email. At least 80% of the new features since the original 1.0 release of Attendance are the result of requests from users with the other 20% being features I wanted.

The reason I haven't added it yet is I think the iPhone/Touch screen isn't large enough to develop a reasonable interface for it. Some people even mentioned a separate grading app would be great (that are already a few available but the people emailing me didn't like them). I suspect even fewer iPhone/Touch users want to use their device for grading. As I mentioned in this post only 4,500 people have bought the Attendance app in 17 months of sales.

The larger iPad screen and new user interface elements (split view and pop over) make it a much better device for a grading application. Right now there are only two million iPads that have been sold vs. over 80 million iPhone/Touch devices so it is also a much smaller audience. I have no idea what percentage of those two million iPads are owned by teachers, but my best guess right now is a decent grading app wouldn't sell much more than 500 to 1,000 copies based on sales of the Attendance application. There's already one iPad grading application but the one I have in mind would be much more functional (in my opinion, of course) than the screenshots and description of it indicate.

My guess is it would be two to three months of work to complete it. Unlike the Attendance application, I would plan add more features in the original version and then charge $10 to $15 for it. If it sold 1,000 copies that would result in $7,00 to $10,000 in income for three months work. That's still not as good as consulting, but not too bad, and certainly more fun.

So at this point, this is still vaporware. I haven't committed to writing it yet. But if you would buy it for $10 to $15 and want to suggest possible features, feel free to email me at dave256apps (at) me (dot) com. The initial plan is to support using total points or weighted percentages of various categories (e.g., 20% for homework, 25% for quizzes, 5% for Attendance, 30% for exams, and 20% for the final). Each grade would have a specified category and a number of points (if using total points for the course). There would be options to email grades to students, email a spreadsheet report to yourself, and backup the internal database similar to the way you can send yourself the attend.db file in Attendance).

I currently use a combination of command-line Python scripts and a small Cocoa app (for editing grades later) for recording grades in my classes so I don't need this application, but it might be nice to have it on the iPad. I'm still wondering if Apple will add support for running iPad apps on a Mac in the next version of the Mac OS. In that case, it would be nice to be able to use the same application on both devices and opens up the market to many more people that might want to use it.

So if you have thoughts on an iPad grading app, please send comments to: dave256apps (at) me (dot) com


Handling Feature Requests

Here is the follow-up post I promised in this post. I get many feature requests. I even added a section early in the FAQ post about feature requests:

1.2 How can I request a feature?

Instead of posting a comment in iTunes which I have no way to respond to or ask for clarification, please email your feature request to: dave256apps (at) me (dot) com

I don't guarantee I will add every feature that is request, but many of the new features in the app are a result of requests from users. I decide on new features using the following criteria:

Do I think a number of people will use the feature?

Does the feature fit well with common uses of the app?

Can I design a reasonable interface on the small iPhone screen to implement the feature?

I recently received a request that I thought some percentage (probably 2-5%) of the people using the Attendance app would use. I went back and forth trying to decide if I would try to implement it. In the end, I decided not to add the feature at least for now. Here's the process I went through on deciding on this one.

The request was to allow groups within a class; the specific use request here was for a band director to group the students by instrument with section headings for the instruments. For quite a while, Attendance has supported re-ordering the names in any order you want (in addition to sorting the names by first or last name). I believe the original request for the reordering feature came from another band director so he could reorder the students by instrument. I mentioned the reordering of students. The person saw that but still wanted to see the instrument names as section headings and was even kind enough to offer to pay me a couple hundred dollars for my time to add the feature. So I gave some thought to how I would implement it.

Each person would need to have a "group" field with the name of their group. That would be an easy addition to the Student Detail screen and an hours work to update the internal data structures and code to import the group name from a CSV file or from the Address Book. Showing the sections in the Take and Add/View tabs by group would require a fair amount of changes to the internal data structures as right now it is hard-coded to have an "Enrolled" section and a "Dropped" section (only the Enrolled section is shown in the Take tab), but could probably be done in a few hours.

I knew people would want to order the groups and that's where I reached the first point that caused me to hesitate to implement it. I was planning to allow the group filed to be typed in on an editing screen off Student Detail screen or selected from a list that would be displayed on the screen. This would allow new groups to be added, but then there wouldn't be a specified position in the group ordering so that might lead to confusion. I could put it at the beginning or end and then require the person to revisit the screen to reorder the groups. I also needed a place on the screen on the interface to reach the screen to reorder the groups. The obvious choice would be the Add/View tab after selecting a course:


The Options button takes you to a screen where you can add new statuses and reorder them (the order affects the list you cycle through them while taking Attendance). Doing something similar to order the groups would make sense. The problem is on the iPhone/Touch, I've run out of room to add another button and didn't want to add a second row of buttons. To add this feature would require significant changes to the interface to make it reasonable.

And then I started thinking about other ramifications of adding a grouping. The Random tab randomly picks individual students or places them into random groups of a specified size (typically used to split students up for group work). How should the specified groups affect this? Should it create random subgroups for each group or create random groups ignoring the value in the group field.

In the end I decided against this feature because of all these changes for a new feature that would add very little functionality. Since the note for a student is displayed below their name, the group/instrument could be specified in the note field and the names could be reordered (one time setup) in the Add/View tab according to instrument and would show up in that order in the Take tab as the image shows.


This seems to solve the request the person was making. He wanted to make certain he correctly marked everyone in each instrument section before moving on to the next instrument. Having all the instruments together and seeing the instrument names should make it easy to check this.



new Attendance features coming in summer 2010

There's a minor update (version 3.2.2) that has been submitted to Apple with just a few GUI tweaks and displays the course note below the course name in the Take and Add/View tabs.

The next update after that (most likely version 3.3) will support phone numbers and an identifier value that can be used for student id numbers or any other identifying value. In iPhone OS 3.x, you will be able to press a button and make a call.

The updated version will import the home, work, and mobile phone numbers when importing from the Contacts/Address Book. It will also support importing them in CSV format (pasted in or on a webserver). This shows the first line of a sample CSV file to indicate the values for the phones and the id number. As before, you can list the columns in any order you want (the first line must start with a # sign to indicate it specifies the column order).


To support viewing/editing the data, I had to rewrite the Student Detail screen. Because this required significant changes to the app, I want to do more testing before submitting these changes to the store. I will plan to submit it shortly after 3.2.2 is approved.

One of the most commonly requested features is to send SMS messages instead of email. The current iPhone SDK does not support sending SMS, but Apple has publicly announced that iPhone OS 4.0 will support in-app SMS (see link).

Shortly after iPhone OS 4.0 is publicly released, I will submit an update that allows you to send SMS messages from Attendance.



Attendance Frequently Asked Questions


Update (Jan 2011): I have added a new searchable FAQ at:


1. General

1.1 I have a question that is not answered here. How do I contact you?

You may contact me via email: dave256apps (at) me (dot) com

1.2 How can I request a feature?

Instead of posting a comment in iTunes which I have no way to respond to or ask for clarification, please email your feature request to: dave256apps (at) me (dot) com

I don't guarantee I will add every feature that is requested, but many of the new features in the app are a result of requests from users. I decide on new features using the following criteria:

Do I think a number of people will use the feature?

Does the feature fit well with common uses of the app?

Can I design a reasonable interface on the small iPhone screen to implement the feature?

1.3 Where can I find more information about the Attendance app, how to use it, what its features are, etc.?

This site has more information. Also check the link on the right side of this page for Posts by category and select Attendance (

I have also made a number of videos/screencasts showing how to use many of the features of the app. These are available at or For some reason, the videos on the MobileMe site do not plan on an iPad, but the YouTube versions do.


2. Usage questions. There are videos at and demonstrating many of these.

2.1 How do I display photos when taking Attendance?

Quit the Attendance application, launch the iPhone OS "Settings" application, scroll down and select Attendance. Turn on the option to "Show Pictures in Take."

2.2 How do I use Bcc to email students from the application?

Quit the Attendance application, launch the iPhone OS "Settings" application, scroll down and select Attendance. Turn on the option to "Bcc to Email group."

2.3 How do I select pictures from my Photo library instead of the Camera (or vice versa) when pressing the picture on the Student Detail page?

Quit the Attendance application, launch the iPhone OS "Settings" application, scroll down and select Attendance. Change the "Picture Source" setting.

2.4 I have multiple email addresses for the students in my Address Book. How do I specify which one is imported?

Quit the Attendance application, launch the iPhone OS "Settings" application, scroll down and select Attendance. Set the "Preferred Email" option to "Work" or "Home" depending on which email address you want to import.

2.5 How do I email multiple people for each student (e.g., I want to email both parents)?

List the Email addresses in the Additional Emails field separated by commas. If you want to import these additional email addresses when importing the class from your Contacts app, turn on the "Import Other Email" option in the Settings.

2.6 What does the "Red name missing count" setting mean?

This setting controls the number of missed sessions that cause the name to be displayed in red while taking attendance. You may need to select the setting and change the value to a different number and then back to the number you want for it to take effect.

2.7 How do I change the default/initial status that is automatically selected or change the label for the button that sets the status for everyone when taking attendance?

Press the Add/View tab, select a course, press the "Options" button. On the "Course Options" screen, press the "Edit" button and reorder the statuses by dragging them using the handle on the right side of the screen. The first one is the default/initial status. The second one is used for the label at the top right of the screen when taking attendance to set all the statuses to that value.

2.8 How do I create custom statuses?

Press the Add/View tab, select a course, press the "Options" button. On the "Course Options" screen you can add new statues by pressing the "Add Status" button. Press the "Edit" button to delete or reorder the statuses. Press the blue detail disclosure triangle on the right next to each status to change the setting values for each status.

2.9 What do each of the On/Off values mean for each custom status?

The "In Attendance" value controls the statuses for which names are hidden when you press the "Hide Present" button while taking Attendance. Statuses that have this setting "On" are hidden.

The "Email missing" value controls which are included when you select the "Email missing report" or "Email to missing students" for a given date.

The "Penalty" status controls which statuses count towards the penalty for coloring names red when taking attendance.

2.10 How do I copy my custom statuses to another course?

First create custom statuses for one course. Press the Add/View tab, select the course to which you want to copy the statuses, press the "Options" button. On the "Course Options" screen, press the "Get Statuses" button and select the course from which you want to copy the statuses.

2.11 How do I start a new term with the same students or create a second class with the same students?

Select the Add/View tab, press the Edit button, press the green + button at the bottom of your list of courses. Scroll past your Address Book Groups until you get to the "Duplicate Existing Course". Select the course you want to duplicate and a new course will be created with the same name and a suffix "-new". You can change the name of the course by selecting the course on the Add/View tab and pressing the "Options" button.

2.12 How do I sort the names by first or last name or reorder the names to match my seating order?

On the Add/View tab, select the course. Pressing the "Sort" button alternates between sorting by first name and last name. To manually reorder the names. Press the Edit button and drag the names using handle on the right side of the screen.

2.13 How do I import students in CSV format?

See the videos at


2.14 How do I take attendance multiple times per day for the same class.

Use the Attendance section of the iOS built-in Settings application to turn on that option.


2.15 How do I delete or drop students from a class.

To drop a student, on the Add/View tab, select the course, press the Edit button and then press the red minus button to drop the student. To delete a student, on the Add/View tab, select a course, select the student, and choose the option at the bottom to "Delete Student."



3. Report and backup questions

3.1 I want to backup all the data in case I lose my device or it breaks. How do I do this?

In the iPhone OS Settings application, select Attendance and turn on the option to "Email Database.". When you send the spreadsheet report, you will get two attachments: the CSV file for importing into a spreadsheet and an attend.db file which is the sqlite database for the app. This can be loaded back onto a device running the Attendance application by placing the file on a web server. On the Add/View tab, choose the "Get Database from URL" and enter the path to the attend.db file on your web server. See the videos for more information about setting up a local web server on your Mac or Windows PC. The attend.db file contains all the data except the photos. See the next question for exporting photos.

3.2 How do I export the photos?

On the Add/View tab, select a course, and press the "Photos" button. This will email the photos (ten photos per message).

3.3 How do I get the status totals for each student?

On the Report tab, choose "All Courses" or the one course you want the totals for. Next, select the summary report to get the totals.



New web site for Attendance iPhone/iPad app and future apps.

I've developed this new website to provide support information and promote my apps. I currently have one iPhone/iPad universal app (Attendance) and am developing a second app for a company. I have one or two more ideas for potential apps that I may develop later this year.

The site will contain information about the apps, answers to frequently asked questions, and occasionally I will post information for developers (marketing tips, Cocoa and Objective-C programming tips/techniques, etc.).

Initially I am going allow comments for 30 days after each blog post, but if I get spam or inappropriate comments, I will likely delete them and disable comments.

If you have questions about my app, please email them to me at: dave256apps (at) me (dot) com

And, if you like my apps, please give them a positive rating in the iTunes app store. It just takes a second to rate an app or if you would prefer to write a nice review, I would appreciate that.

Please do not post reviews in the comments here as reviews in the iTunes store are more likely to be seen by more people.



Page 1 ... 4 5 6 7 8