Entries in Attendance (23)

Sunday
Sep152013

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.

 

Tuesday
Sep182012

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.

 

Monday
Jul162012

Attendance2 available

Attendance2 is available in the App Store (App Store link for Attendance2). As announced, the introductory price for the first week is $3.99. It will move to the regular price of $4.99 on July 23rd.

There is more information about it here and the start of a FAQ. The main missing feature (compared to the original Attendance app) is the random functionality. I will be working on it soon but also need to start working on my fall classes so I don't know whether I will get it done by the end of August or will have to finish that feature on the weekends this fall.

I also am working on a few more videos showing how to use it and will post those along with the existing videos here.

I hope you find the new app both simpler and more configurable.

Tuesday
Jun052012

Update on new attendance app

I've been working on the new attendance app quite a bit now that my semester is over so here's an update. There are two major features remaining (spreadsheet report and the random features for individuals and random groups) that I was hoping to get into the initial release along with a bunch of finishing touches that must be completed. After spending about three months of full-time work on it, I think I want to make certain Apple will approve it before I invest too much more time in it so I will likely submit it to Apple in the second or third week of June whether or not those two features are completed by then. If they aren't completed, I'll plan to get those features in the first update. This will also allow me to see what Apple announces at WWDC so I'll know what changes I may need to make for the next major iOS release. The app will require iOS 5.x or higher.

I have not added the ability to import courses and attendance records from the existing Attendance app. You will be able to export your students (and their email, phone, etc.) from the existing Attendance app as a CSV file and then import that CSV file into the new app, but it won't import the existing attendance data for the students. I don't have time to get that feature implemented in the first release and I don't know how important it really is as I suspect most people that want to use the new app will be ok with doing it at the start of a new term/quarter/semester.

At least for now, the app will not support iCloud syncing as I'm very concerned about possible data corruption when data has been changed on multiple devices. There are two ways to copy, but not sync (i.e., you can't modify the data on a second device before copying the most recent version of the data to the device) the data in the new app. You can upload a data file to Dropbox from one device and then download the data file to another device or you can send the data file via email and then open it on the other device. After the initial release has been approved, I will look into iCloud support, but I don't want to promise it at this point.

As I announced in the previous post (that also has more information about the features), assuming Apple approves the app, I will have an introductory price of $3.99 for a week or so and then the app will be $4.99. I'll make a post both here and on Twitter (@davereed) when the app is released.

Monday
Jan232012

New attendance app

The current version of Attendance has reached some limits on features I can add given some of the original design decisions. The original app was developed when iOS 2.0 was current which limited some of the features that could be implemented and how I designed the original internal data structures. I also had no idea how many different ways people would want to use the app so I had to try to add new features and make them fit with the original user interface and without major changes to the internal data structures.

Because of this, I decided to do a complete rewrite and develop a new app from scratch using Apple's Core Data technology which was not available for iOS 2.0. Since the internal data structures are completely different, I cannot easily make it an update to the existing app and I've tried to redesign the user interface to be more intuitive and require fewer presses/touches for common tasks so the interface is completely different. Also, the new app will require iOS 5 or higher, while the current Attendance app will run on any iOS 4.0 or higher device. Apple doesn't provide a way to transition people to a new different app (i.e., there's no way to give discounts to the people who have bought one app in the last year). I don't make my apps free because there are no ads (ads are not a good fit for an attendance app), it takes a lot of my time to write, and there's the time to answer emails. In three years, I've answered a few thousand emails and obviously a free app would cause even more people to try it and email questions. So far I've been able to provide a personal response to everyone that has asked a question, but if the app ever sold more than a few copies a day, I'd never be able to keep up. Selling a few copies a day at $5 (USD) (of which I get $3.50) does not allow me to quit my day job and do this full time. And there are associated costs with the app (web site, annual developer fees, extra test device, etc.) so I need to charge enough to cover these costs and justify spending my limited free time on it. At this point, I've spent about five full-time weeks of working on the new app (mostly over the December break) and there's probably at least another five to eight weeks of full-time work to reach the point where version 1.0 can be released.

So given the options, here is the plan. I plan to release the new app in June or July of this year (2012 for anyone reading this much later) and will have an introductory price of $4 (USD) for two weeks for anyone who wants to purchase the new app before raising it to $5 or $6 depending on how many features I add in the original version. I will post an announcement on this blog and on Twitter (@davereed) when the app nears its release (along with screenshots and more information).

I plan to continue to support the existing Attendance app for at least one more major iOS revision. In other words, assuming Apple follows their pattern and releases one major iOS upgrade per year, I will make certain the current Attendance app still runs on iOS 6.0 without problems so anyone that has purchased the existing app should be able to use it at least through the summer of 2013. Obviously, if you haven't purchased Attendance already, and don't need it until this summer, you should wait and buy the new app when it is released. But this way, anyone who has spent $3-$5 on it in the past should get another 15-18 months use out of it. I'm certain some people will be upset, but there's no good option given the complete rewrite of the app and hopefully people will understand that $5 is reasonable for an app that you use frequently.

To continue allowing updates to the existing Attendance app, I will need to leave it for sale (so I can provide free updates for iOS 6 compatibility). Once I release the new app, I will probably raise the price of the current Attendance app to something like $100 so people don't accidentally buy it and have an occasional one-day $5 sale for people that have iOS 4 devices and want to purchase the old version. If anyone knows of a better way to be able to handle free updates without leaving the current version for sale, please let me know, but given the options Apple provides, I don't think there is.

The new app uses a separate file per course instead of one database file (the attend.db file) as is the case with Attendance. This will allow people to send their data to another person app and the person will be able to look at the data using the new app on their device, without overwriting their existing data on your app. So teachers could send their data to the administrative office, a professor's TA could make a separate class for their TA sessions and send that to the professor, etc.

Here is a list of the main improvements:


  • simpler GUI (course-based instead of tab-based)

  • improved CSV import (allows you to match the columns of a CSV file to the fields in the app)

  • 5 custom fields to store any data you want (instrument for band directors, etc.)

  • three lines per student while taking attendance

    • first line contains first name/nick name and optionally the middle name

    • second and third lines are customizable and can hold any of: middle name, last name, ID #, note, or any of the five custom fields



  • sort by first, middle, last identifier,note or any of the five custom fields (and secondary sort on these also)

  • specify which student fields to include in reports (i.e., you can include ID, email or phone or the 5 custom fields, etc.)

  • option to show only people who are present (in addition to the ability to hide those that are present) while taking attendance

  • optional second status to record values such as homework received, participation value, or check people out (useful for daycare situations)

  • each status has a "point" value

    • can use it to record values such as 0.5 for Late, 1.0 for Absent

    • or use the points to total participation points in the secondary status

    • can set name to display in red when a certain point value is reached

    • summary report can optionally show the point totals



  • optionally indicate what times your course meets so you can add the next date in one press

  • I probably will add an optional app pass code now that Apple provides the ability to encrypt data files


Most of the features in the current Attendance app will exist in the new app by this summer when I release it. Here are the features that exist in the current Attendance app but probably will NOT exist in the new version:

  • Likely will never add

    • import from Address Book

      • was the only way to import names in iOS 2.0 but better ways now with CSV files from email or Dropbox



    • device transfer to copy data to another device (Dropbox and email are better, simpler, and more reliable)



  • Possibly will add

    • Group texting

      • most carriers limit SMS group texts to 8-10 people so this has never worked well

      • I need to find out if there's a better way to support this and if so, will add it

      • sending an individual SMS to one person will continue to exist






I haven't yet decided if will add a way to import your existing Attendance data from the attend.db file. While this would probably increase sales, I don't know if I'll have time to get to it and want to make certain I release the app this summer so people can start using it in August (which is the time when many people start new terms/semesters/courses). It will be a fair amount of work to do the import and obviously is code that would only be used once so I don't know how much time I should devote to it over other features.

Another question I suspect I'll get is about iCloud support. At this point, I am not certain. iCloud makes automatic changes to your data so I'm very worried about this causing "corrupt data" and how conflicts are handled (i.e., what happens if one of your devices has someone marked absent and the other device has them marked present for a given date and how would this work when copying data files between multiple devices manually). My guess is the initial version released this summer will not have iCloud support, but I will try to look into it later in the summer. You'll still be able to copy (not sync) a course to another device by emailing (or using Dropbox) the course data file and opening it on the other device.

So, if you've read this far, you deserve the option to possibly help shape the new version. I've got enough features that I'm using it this semester after working on it for about five full weeks (most of which was done over the December holiday break) and double-entering data in the original Attendance app to check the data. So if you have comments, please send an email to me: dave256apps (at) me (dot) com with the subject "new app features" and I'll take a look. Try to be as exact/explicit about your feature request as possible. I won't guarantee I'll respond to these, but I will read all of them.

The main items I need to work on yet are:


  • random student feature

    • do I provide the option to save the random groups so you can record who was in the groups you created

      • for example, I might create groups of two for the first assignment and want to go back and see who was in those groups; right now you can email the group to yourself, but storing it in the app might be useful



    • do I provide the option to then drag and drop students between groups to adjust the group

    • anything else I haven't thought of for random groups



  • reports

    • the only report completed so far is the summary report

    • what other reports would be helpful and how should they be formatted

    • there are still options to email a report for a day to yourself or the school office (including a full report or just the absent students) and the ability to send a report for an individual student to yourself, the student, or someone else

    • because each "course" is a separate data file, the reports will initially be per course, but perhaps later I will try to add reports for a student across all courses




I think most people will find the new interface design simpler and that the new features make it well worth buying the new app, but again, you should be able to continue using the existing Attendance app for at least another year (or longer if you don't update the iOS version).