This blog is now updated at http://www.burtonvision.com/blog/
This blog is now updated at http://www.burtonvision.com/blog/
It's time to rebuild our application from scratch. This won't effect any customers, of course; updates are always free. So why rebuild?
Apple announced they're abandoning Java support on Macs.
As it happens, Burton Vision is written in Java. So to support the upcoming OS X 10.7 and further, it will be necessary to rebuild the program from scratch in C++.
C++ meets all specifications, and there are no 3rd party Java runtimes for Mac that are appropriate for consumer grade desktop programs, especially not with multimedia.
There will be a few more bug fix releases of the current version 1.3 series, and exactly one feature last feature I plan to add.
Before I took over, the last developer (Jason) who wrote the app in Java was replacing yet an older application that was written in C++.
At some point there was a version in Hypercard, I'm told. With something called a "laser disc". Whatever the case, we've come full circle.
To new beginnings.
Bug fix release. I fixed a whole bunch – crashes and more.
We still have ideas we’d like to add, but for now we’re going to have a “feature freeze”.
The program grew a lot between 1.3.7 and 1.3.8, from about 21,100 thousand lines of Java to about 40,900 plus 3,000 of C++.
So a few bugs crept in here and there. Kinda like Starship Troopers.
I squashed 9 of them with this update, and removed from junk code and junk features. There was a setting to change how the spelling practice orders words – why? It’s one of those things that people won’t even know exists. In the software biz we call that there “feature creep”; when there are features that aren’t used because nobody knows them.
Still, there’s one more feature I need to hammer in.
As it stands, teachers can make custom spelling assignments (and translation assignments).
It’s necessary for a student to be able to practice just the words on the assignment. A “Practice” button next to the “Take Assignment” button. Simple, obvious, useful.
I’ll smelt it and weld it on in the near future.
The software has been updated to add a student import which I will describe here so I can refer people to this page before I’m done revising the manual.
This feature lets you use a CSV (comma separated values) file to automatically import a large number of students into a student database.
This is only relevant if you are using a student database.
Here’s how to use it.
As an administrator, on a system with a student database, go to the Students panel. Under the students list, there is now an “Import” button.
You’re presented with a dialog that lets you tell the system what fields are in your CSV value and in what order.
A few notes.
So we need a CSV file.
Here is the CSV file I’m using for this example:
It has four fields; First Name, Last Name, Teacher, Class Name. Just like the screenshot before it where we configure the CSV file. Don’t put extra spaces into the CSV file.
The teacher field is only marked as “true” for John Smith. They all have the same class name. So these five users will be put into the same class together with John Smith as the teacher.
Now we have a preview of what the computer will put into the database.
Note that the username, password and ID fields are marked in blue. This means that the computer made them up because they were not given.
If you give the computer a bad username, password or ID, it will make one up and mark it in blue so you can easily spot it.
Save this document before continuing so that you have a reference for the usernames and passwords.
If all looks good, click OK.
The computer will now try to write this all into the database.
If any failed, for example if usernames are taken, you’ll be given another list showing persons rejected by the database. You can enter them manually.
Here we can see the class panel after the import is done. The import tool created a class and correctly filed the students into it.
I’d like to take a moment now to explain why passwords are generated the way they are.
At first I was going to string words together like “starpower59”, because these sorts of passwords are easy for me to remember.
However, our main focus is on deaf students who are learning English.
“starpower59” isn’t easier to memorize if you don’t know the word star, don’t know the word power, or don’t know how to spell them. A code like “sj4gr3” is equally meaningful, shorter and is a stronger password. To an illiterate student, “starpower59” is only a longer string of random glyphs.
When my family first got the internet, we had a connection through Prodigy and our login ID was ZGUP27A. None of us small children had any hint of trouble remembering it and I still remember it now.
So for now, the password generator will produce 6-glyph strings of letters and numbers.
Passwords can of course be changed later or specified in the CSV.
Version 1385 is out, Narrated Stories collection is up, its time for something new.
I’m going to build a proper LAN server.
Right now we use a system based on file sharing. There are database files in a folder, and clients can access these folders over basic file sharing.
This is a major headache for a number of reasons. I have no idea why it was done this way originally. Its difficult to explain how to set it up and of course there’s any number of reasons a share can fail to mount. Tech-savvy students can get at the files directly.
We have a system where classroom features can be done online with our servers, where we host the data, and it is very simple to setup and use. But some schools understandably don’t want data stored off site.
So I’m going to sit down and write a proper LAN server.
The main advantage will be no more per-client configuration at all. Clients can find a server on launch and figure this out autonomously.
It will be a huge time saver especially for larger customers.
You can now play the video for a sign-word pair in the grading tool so that you can see what the student was looking at when they wrote whatever they wrote.
That may not be so useful in the spelling test shown above but it is critical for translation assignments.
This update is now ready for download through the updater.
I am adding an alternate version of the game prototype. This one is configured for deaf students who are learning written words. (The rationale for having different versions is explained in the previous post.)
Download here (for Windows, for deaf students)
Download here (for Windows, for hearing students)
I’d also like to add this graph because it looks cool. Charts and graphs are always fun:
The input x is the average difficulty level of signs you used in a round. The result is used to set the game’s difficulty level in the next round. This is how the game tries to assess how advanced a player is, and adapt the game to them so that less advanced students can beat it without already knowing all the harder words\signs.
I tried building a game around drilling signs to see if it could be any fun.
Forgive the programmer’s art; its only a prototype. The player controls the characters on the right to fight the characters on the left. There are six stages and it can be downloaded here (for Windows).
To play, one clicks on “Sign Magic” when it lights up. Then you’re shown a grid of spells like this:
The blue column are the “easy” spells. The yellow is “medium” and the red is “hard”. The white column mixes all three, and the black column is hard with no partial credit. (Definition of “easy” and “hard” below.)
After you choose a spell, you’re shown an English word and three buttons (for three signs). You choose which sign goes with the word!
It gives you three words (you must choose three signs) and then the spell is cast. The strength depends on how well you scored in the signing mini-game. Again, the black column gives no partial credit.
The definition of “easy” and “hard” here is of course subjective. In this version, the difficulty level of each sign-word pair was decided with the assumption that the player is not a native speaker of ASL.
There are only three hundred words configured in the dictionary.
I may, later this week, expand it to the full 1500 words and reassess the “difficulty” of each sign-word pair for deaf students learning English.
A few side notes if you wish to try playing it.
I do not know if we will make anything more like this. This is just a prototype to see if its any fun or not, and to see if it actually works for study purposes.
This prototype was written in three days in just 2700 lines of Java code!
The first edition of the manual for versions 1.3.8 is online here!
This covers all the features added since 1.3.7, such as custom assignments and progress reports, and also covers upgrading your database.
Coming up next: I’m getting together a collection of twelve stories with support for our new writing assignments feature.
Here’s one of the stories on Youtube without captioning or writing assignments or anything. Midas and the Golden Touch: