Entries in Attendance2 (6)


iOS 7 and Attendance2/Attendance

I spent a number of days this summer working on iOS 7 updates for Attendance2. The main work was to make a copy of the entire user interface storyboard and update it for iOS 7 so it looks like iOS 7 (i.e., buttons do not have borders, etc.) and to better support multiple screen resolutions (in case Apple releases a new device with a different screen aspect ratio and/or size). Version 3.4 of Attendance2 that Apple approved a few days ago (September 12th or 13th) has all these changes and I've been testing it on an old phone and my 3rd gen iPad throughout the summer with the various iOS 7 betas including the gold master seed (which should be what is released to the public on Wednesday September 18th). Previous versions of Attendance2 may have saw UI quirks on iOS 7 so I recommend you update to version 3.4. The only minor bug I am aware of is that if you turn on one of the person fields for the reports but manually added a student (i.e., not by importing from a CSV file) and didn't set that field  (that you turned on in the report) to some value, generating a report may crash (this happens on iOS 6 or iOS 7). I'll submit a bug fix update in the next week or so that will fix this (prevent the crash and report will be generated correctly) after I make certain there aren't any other minor issues that people have. So the summary is if you use Attendance2 and plan to update to iOS 7 this week, just make certain you've updated to the latest version of Attendance2 in the App Store.

As far as Attendance, I have no plans to update it since there aren't any bugs I'm aware of (and certainly no significant ones since I haven't heard from any one about them). Since January 2012, the description of Attendance has said I was working on Attendance2 and it was released in July 2012. I stated I would support Attendance through iOS 6. I've encouraged people to buy the new app as I think it's better and the only one I have plans to update. It would be a huge amount of work to update Attendance for the larger iPhone 5 screen and still maintain compatibility with iOS 4 so I've left Attendance in the store in case people are still using old devices, but discouraged its purchase. It does still typically sell one or two copies a day but I have no idea if those are people with old devices or newer devices. 

I have not done extensive testing (as I did with Attendance2) of Attendance on iOS 7, but it does still run without crashing for basic operations such as adding dates, taking attendance, generating reports, etc. so I suspect it will continue to run ok on iOS 7. Since I did not update it, it still looks the same rather than having a new iOS 7 style look. The one thing that will not work on iOS 7 is the TextExpander support (separate app available from Smile Inc.). TextExpander provided an SDK other app developers could use in their apps and it made use of a share copy/paste pasteboard. Apple removed the ability to use a shared pasteboard from iOS 7 so TextExpander is now using a completed "Reminders" item to store the TextExpander data and apps can request access to the Reminders. The app does not crash - the snippets just don't expand. Apple did add their own text snippet functionality (not quite as powerful as TextExpander), but will work for most uses. In summary, based on my limited testing, I expect Attendance will work on iOS 7 (other than TextExpander). I will certainly update this blog post if I hear from people with issues. Please do email me - my email address is in the Instructions/Help of both apps - if you run into bugs with Attendance on iOS 7.

While I do not want to force people to upgrade to Attendance2, it is way too much work for so little income to maintain the 5 year old code base of Attendance that was originally written for iOS 2. I can't justify spending my limited time on it. So I stand by what I said a year ago -- that I would support it through iOS 6, but not make any promises after that. As I said it does still seem to run on iOS 7 so feel free to continue using it but I will not be updating it. Attendance2 has not sold nearly as well as Attendance (there were no competitors to Attendance for a while when it was first released, but there are other apps out there now) so it's difficult to justify spending lots of time on the app, but I do use it every day at my teaching job so I do plan to continue to maintain it. I realize these are relatively niche apps so I'm not expecting to make lots of money, but I do need to make enough to justify the cost of the web site, Apple's annual developer fees, and a few other expenses plus spending my free time supporting the app. 

Based on reviews and email feedback, most people seem to think Attendance2 is a significant improvement over Attendance but there is a small learning curve to use it and it does not import data from Attendance since the internal file formats are completely different. I recommend making the switch to Attendance2 at the beginning of a new term/semester. I was hopeful that the QR functionality would bring in a decent number of users, but so far it seems only a handful of people are using that functionality.



Attendance2 News (Contacts importing and other new features)

I was able to find some time after my fall semester completed to work on the app and submitted version 2.0 today (Friday 12/28/12). I've added basic ability to import from your Contacts/AddressBook. It's not as customizable as the CSV import as far as matching fields to be imported, but I think it should make the handful of people that wanted this functionality happy. If there's enough interest, I'll try to add more features to make the import more customizable. I also added URL support so Attendance2 can be used with the Launch Center Pro app. With one action from the Launch Center Pro app, you'll be able to open Attendance2 for a given course, add the next date and begin taking attendance for the date. Other improvements include the ability to view reports within the app in table form, totals for each person on the spreadsheet report, and the ability to swipe left/right on the take attendance screen to move to a later/earlier date.

Here is how the URL support works in version 2.0 and higher.

attendance2:// (launches attendance2)

attendance2://course-name  (opens course-name)

attendance2://course-name?take=yes  (open course-name and selects default date to take attendance)

attendance2://course-name?add=yes   (open course-name and add next date)

attendance2://course-name?add=yes&take=yes  (open course-name, add next date, and take attendance for default date)

Here is an update about the bug that 1-2% of people encountered back in September. Version 1.2.1 appears to have fixed it as I have no reports of the problem from anyone running version 1.2.1 or later. It is clear Apple definitely had some bugs for the new features they added to Core Data in iOS 5 (which Attendance2 was using). For those with some programming background and interested in the details, here is a blog post by someone listing some of the issues. Unfortunately, I did not find that until October (and never ran into the problems during my 6 months of testing the app), but the workarounds I used in version 1.2.1 match some of the workarounds listed there. I have also heard other developers confirm the problems in various podcasts this fall. So at this point, I feel fairly confident the problem is solved, but I still recommend people backup their data every day as you never know if your device will break, get lost, or stolen.


Using Attendance2 to track participation

Here is the promised blog post about using Attendance2 to track participation. You can continue to use the Status1 values to track (Absent, Present, Excused, etc.) and then use the Status2 values to track participation. There are options in the Report Settings to include the Status2 values in the various reports.

Here is what I did for one class where I expected each student to participate at least 20 times during the semester, but wanted to limit them to a maximum of five participation points per day. I added Status2 values of: P0 (with a Points value of 0), P1 (with a Points value of 1), P2 (with a Points value of 2), P3 (with 3), P4 (with 4), and P5 (with 5). P0 should be the first one so it is the default value for Status2.

After taking attendance using the Status1 values, scroll left in the buttons (first one says "Show All") until you see the "Show Present" button and press it so you only see the list of people who are present that day. Continue scrolling the buttons, until you see the "Use Status2" button and press it. Now you should see the list of people present that day and each person should have a "P0" status (assuming you added the Status2 values before adding this date to take attendance; if not, you'll have to press the status button for each person one to get to P0). Each time a person participates that day, you tap his/her status button to move to the next status (e.g., from P0 to P1). Once someone reaches P5, I would not tap on them again that day. You can use different colors for the statuses to make it easy to see. I made P0 black, P1-P4 green, and P5 red. In the Take Settings, I set the Status2 point total for Red Name to 20 so once a person has participated 20 times during the semester, his/her name will be shown in red when viewing the Status2 values on the Take attendance screen. The Start Date/End Date in the Report Settings control which dates are used for the Red Name so you can use a subset of the semester if you want. Also turn on the "Status 2" and "Point Total" settings in the Report Settings to view these in the reports. 

Someone requested a way to see which people haven't participated much recently by having their name turn red. Here are the Status2 values and the corresponding point values I would use for this: Silent = 1, C1 = 0, C2 = -1, C3 = -2 where C1 with value 0 is the level of participation you want each day. Remember, what's happening is you're adding the values up and the name appears red when it reaches a certain value such as 3 (default). So if someone contributes exactly the amount you want (C1) each day, they have a value of 0 and their name will not be red. But at the start, if someone hasn't contributed at all, after three days with "Silent", they have a total of 3 and they will appear red. If someone contributes a lot for a few days they'll have a bunch of negative one values so they can be silent for a few days before their name would turn red. You can obviously adjust the values a bit, but the idea is to use 0 for the amount of participation you want each day from a person and positive values for no contribution and negative values for participation with them being more negative the more they contribute. There is a minor bug in version 1.3 and earlier that prevents the name from changing to red/black correctly for the Status2 values, but this is fixed in the new update I submitted to Apple today (Friday 12/28/12).

You can download sample Attendance2 course files that you can place in your Dropbox/Apps/Attendance2 folder and import using the "Restore from Dropbox" option. Participation1.adz uses the P0-P5 described above and Participation2.adz uses the Slient, C1-C3 values. After loading them on your device, you can open your own course, choose "Import from Existing course", select the Participation1 or Participation2 course, and then select "Statuses" and press the Copy button to import its Status1 and Status2 values into your course.


Attendance apps on iOS 6 and iPhone 5


The current versions of the original Attendance app and the new Attendance2 app both run fine on iOS 6 as far as I can tell with my testing. Both should also run fine on the new iPhone 5 and new iPod Touch, but will have the black letterbox at the top and bottom of the screen. I have submitted a new version of Attendance2 (version 1.2.2) to Apple that should expand to use the entire screen. I want the original Attendance app to continue to run on iOS 4 so I am not certain if I will be able to update it so that it can use the entire screen of the new devices with taller screens. I need to read more about this so at least for now the original Attendance app will run letter boxed on the taller screens.

So far, I do not have any reports of of the data bug occurring in a file that was opened successfully at least once with version 1.2.1 of the Attendance2 app. While I cannot be certain it is fixed, if I do not receive any new reports in the next few weeks, that will be a good sign that version 1.2.1 seemed to fix the problem.



Attendance2 data bug

Although I still have not reproduced this problem, I do not have any reports of it in version 1.2.1 or higher so it appears to be fixed. I recommend you continue to backup your data regularly.

I have heard from a few people (about 1% of the people who purchased Attendance2) that after using Attendance2 for a few days, they can no longer open their data file (it hangs with the semi-transparent message that it is opening the file). When they back up the file to Dropbox, the data file is essentially empty (it seems to be 22 bytes which is just enough to indicate the directory structure of the data, but no actual data). So it appears the app is not correctly saving their data.

I have been using the app since January in my classes and have never had this happen so I'm having trouble tracking down the problem. I certainly wouldn't have released the app if I was aware of this since it's not worth the stress for the small amount of money I make from the app. So until I get this figured out, I have temporarily pulled the app from the store. I will be using one of my two "support tickets" with Apple to try to get a number of questions answered to see if those answers can help me track it down.

I am using a new feature in iOS 5 to store/save the data so it's possible the bug is in Apple's code (which would mean there's nothing I can do to fix it until they do) or perhaps I'm not using the code correctly (which is the more likely case) or perhaps the people that are having the problem are doing some combination of steps I had never tried and is leading to the error.

In the meantime, if you are using Attendance2, please backup your data every day. When you are done with your class, use the option to Backup to Dropbox or Backup via email to backup your course. When you are back at your computer, check to see the size of the file. If it's 22 bytes or less than 1KB, something went wrong and you will want to access the backup from the previous day. If you're backing up to Dropbox, you can login to their website (dropbox.com) and restore an earlier version of the file to Dropbox and then import that back into Attendance2.

Unfortunately I have no way to contacting people who purchased the app unless they have contacted me so if your colleagues are using the app, please let them know and tell them to backup the data every day.

If anyone knows of steps that make his happen consistently (i.e., you can take a file, do certain tasks with the app, and it happens - and then if you restore the previous data file and do the same steps, and it immediately happens again, please let me know).

I apologize for this, but since it never happened in seven months of testing, I had no idea there was a problem.

I will post an update when I figure this out and when the update is approved by Apple.