Status of my apps

reDraw (iPad whiteboard/presentation app) continues active development with new features planned. If you have an iPad Pro with an Apple Pencil and teach in a classroom with a projector, I think you'll find it a great app.

Attendance2 continues to be supported. I spent part of my holiday break and part of mid-semester break updating it to work with the new Dropbox API. Dropbox is turning off the old API in June 2017 so versions prior to 5.0 of Attendance2 (in beta testing now and I plan to release in April 2017) will no longer work with Dropbox when Dropbox turns off the old API. You will need to update to version 5.0 of Attendance2. The new Dropbox API requires iOS 8 so version 5.0 of Attendance2 will require iOS 8 or newer. I know as of 2016 there were at least a handful of people using Attendance2 on iOS 7. Version 4.x of Attendance2 should continue to work on those devices other than Dropbox will not work. You will have to use the options to backup via Email and load .adz or .csv files by emailing them to yourself and tapping on the attachments in the Mail application and choosing to open in Attendance2.

Version 5.0 of Attendance2 includes a few new features and there are still a few features I may add in future versions.

The original Attendance app will no longer work with a future version of iOS (likely iOS 11, but possibly with a point release of iOS 10). Apple has indicate they will no longer support 32 bit apps and updating the original Attendance app (originally written for iOS 2 and supported through iOS 7) would require a complete rewrite of most of it. The App Store page has discouraged people from buying it since I released Attendance2 when iOS 5 was current. It will be removed from the store soon.

My Mac GradeA app was released with Mac 10.6. It cannot be updated with any new features in the Mac App Store as they require new feature updates to be sandboxed. The functionality of GradeA cannot meet Apple's sandboxing requirements (the emailing of grades features are incompatible with sandboxing). Apple has indicated they will allow bug updates (and I have released a bug update or two) so I hope to continue to make it run on future versions of macOS. 

TL;DR: the original Attendance app will stop working. Attendance2 version 5.0 will require iOS 8 or higher and if you are using Dropbox, you must update to that version by June 2017.


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.