[jsword-devel] flashcards updates

Troy A. Griffitts scribe at crosswire.org
Wed Sep 22 17:35:10 MST 2004


DM and John,
 	Sorry for the confusion regarding the No Multiple Choice option. 
Thanks John!  With world rw perms on flashcards, we aren't prompted for a 
login when we commit, so it doesn't know who we are when sending the 
commit notification to the sword-devel list.  Maybe we could make it a 
habit of initialing our commit comments.  I'll try to remember.

> However, I am the culprit for the change in the number of columns. Only did 
> it for one reason. Some of the lessons have very long answers which were 
> getting truncated.....

Makes sense, after we stopped packing the windows, I noticed that some 
things were concatenated.  I usually just resized the window.  I still 
prefer the cat over the window resize (pack) for each work.  Thanks for 
making it easy to do the column changes.


> The change to the number of columns is in one place. So it is easy to change. 
> I'll put it back to 3. You can set it to something else if you like. I made 
> two symbolic constants NUM_COLUMNS and NUM_ANSWERS in QuizPane.java. It is 
> not necessary for NUM_ANSWERS to be a multiple of NUM_COLUMNs but it makes 
> the screen look more balanced. It might be nice to have these be preferences.
>
> It would be possible to add some sliders to manipulate these two values on 
> the setup panel.
>
> By the way, QuizPane now loads and shows in JBuilder. Took me a while to 
> figure out what JBuilder wanted. So you can do the changes via the builder.

Awesome!  Thank you!  You just wanted off the hook from owning those GUIs! 
:)  I really appreciate that.  Hope it wasn't too much work.  I don't feel 
helpless anymore.

>
>> 
>>     I don't mind using the common.jar file, if it isn't much of a size 
>> hike.  It was nice when the app was ~100K.  I don't mind it increasing 
>> because of lessons, as an instructor can choose which lessons to package 
>> the app with for his students, but I'm hesitant to let this small app get 
>> much larger than 200k.  Every time I run it and am online, it grabs a new 
>> version, and if I'm on a modem connections, that can get old if we're 
>> above 200K.  More functionality and features might make it worth it, but 
>> if it's just for our convenience, I'd opt to have a smart jar packager 
>> that only pulls the classes necessary from common.jar (or something like 
>> that).
>
>
> It is downloading daily because lessons are being added daily and because we 
> have been changing the code daily.
>
> The rule of thumb is that at start up, if the computer is online, it will 
> check all the jars in the program to see if any are newer. If they are then 
> they will download those. You can see this by running the program via 
> WebStart two times in a row. The first may download the program, the second 
> one won't.
>
> If we have three jars. One for the flashcard program, one for the lessons and 
> one for commons, then the daily download would be much smaller.
> The initial download would be slower since it would be three different jars. 
> But on the other days it would only download program changes if the program 
> changed or lessons if the lessons changed. Commons would only download very 
> infrequently (i.e. when a new version of JSword becomes available, or when 
> commons was changed to contain a feature that FlashCards wanted. That is, we 
> would only get a snapshot of it infrequently.)
>
> At this time commons is 300K.

Do we really use anything at all from commons?  Is it only the classloader 
stuff?  That's 3x our app size for a library I'm not sure what we do with.


>>     Regarding separate jars for lessons.  I think this is a great idea.  I 
>> had hoped we could have different jars for lesson sets.  Like mounce.jar 
>> black.jar, etc.  Of course it would merely be by convention; I would guess 
>> we would dynamically add all jars found in a particular location to the 
>> classpath.  Dunno what you had in mind.
>
> I was thinking one jar, because having multiple jars would require editing 
> the jnlp each time one was added (or figuring out how to automate its 
> construction). Also, I don't know if WebStart is smart enough to handle what 
> seems like a simple change.
>
> If we get to that point it may be better to add an installer and let people 
> download, install and uninstall lessons.

I like the idea to modularize the possibly updated components.  It does 
make sense to reduce what gets downloaded each time.


> It has been my pleasure to work on your program. I have devoted my time 
> between jobs to writing software to further God's kingdom.
>
> I may not have much more time to give. I am starting a new job on Monday (and 
> going on vacation until then). So I need to give that a lot of attention. I 
> also want to focus on getting JSword 1.0 out.
>
> I will make myself available to fix anything I may have broke or made tough 
> for someone else to change. So do ask if you want me to help.

I feel we're really pretty solid right now.  I'm hoping to add a more 
intuitive Hebrew keyboard, but other than that, I can't thin of much else 
I'd want right now (well, besides transliteration to visual IPA and 
optional audible play of the word) :)  Thanks for donating your time.  I'm 
sure many people have been and will be blessed by your efforts.  I know I 
have been.  Blessing at your new post and hope you have a wonderful 
vacation.


 	-Troy.




>
>> 
>> 
>> On Tue, 21 Sep 2004, DM Smith wrote:
>> 
>>> Troy,
>>>   I'm thinking of making a few more changes:
>>> 1) put the lessons in a separate jar.
>>> 2) Have two jnlp files, one with the jar and one without. (I want my 
>>> daughter to be able to use this for her English class)
>>> 3) Cleanup the unused code (e.g. the separate EditorFrame)
>>> 4) Use java.util.logging for debugging.
>>> 5) Use common.jar from jsword instead of copies of the classes. (This is 
>>> selfish of me. I only want to maintain one set of code) I am in the 
>>> process of removing most of the dependencies that common.jar has. So ist 
>>> deployment size should be pretty lightweight.
>>> 
>>> Let me know if there are any other changes that you would like. I 
>>> realize that I have changed the code so much that it probably won't be 
>>> maintainable in JBuilder. So, I will try to be available to make the 
>>> changes.
>>> 
>>> See below for response to your response.
>>> 
>>> Troy A. Griffitts wrote:
>>> 
>>>> DM,
>>>> 
>>>> DM Smith wrote:
>>>> 
>>>>> Made the following changes:
>>>>> Fixed all the Hebrew vowel point clipping problems I could find.
>>>> 
>>>> 
>>>> 
>>>> It looks like my version of java and font (not specifying a font, just 
>>>> using the default) might be the problem.  I'm upgrading java now. 
>>>> Every place Hebrew is displayed, it clips the bottom of the vowels. 
>>>> It looks like it's only clipping like the last 2 pixels, but that's 
>>>> enough to turn a segol into a sere-- actually, if I look close, I can 
>>>> see maybe the top pixel of the bottom dot of a segol.
>>> 
>>> 
>>> Let me know if it is still a problem. I think I provided enough extra 
>>> space in the status bar on the quiz window, the displaying of the Hebrew 
>>> word either as a "Challenge" or as an "Answer" on the quiz window, in 
>>> the list of FlashCards on the Edit screen.
>>> 
>>> I did not change the height of the "front" editor on the Edit screen.
>>> 
>>> I am wondering whether you are actually specifying a font. I think 
>>> (meaning I have not tested it) that Java using the Windows Look And Feel 
>>> under WinXP will pick up the font that is set in Windows. In FlashCard, 
>>> it is using font names like "Dialog" in a couple of places. So I am 
>>> wondering whether it is picking up the Windows choice for a dialog font.
>>> 
>>>> 
>>>> 
>>>>> Fixed save. It was not hooked up.
>>>>> Put the Flash Card Editor on the edit tab.
>>>> 
>>>> 
>>>> 
>>>> I really like this.  The only feedback I would give is maybe make the 
>>>> 'Front' text edit box bigger or CENTER, so it grows on resize, instead 
>>>> of 'Back'.
>>> 
>>> 
>>> Will do.
>>> 
>>>> 
>>>>> Fixed the ant build to not croak on ImportLesson.java (the build now 
>>>>> ignores everything in the migrate package/directory)
>>>> 
>>>> 
>>>> 
>>>> Awesome, thank you.  I was thinking of maybe adding a 'utils' 
>>>> directory at the root, at the same level as 'app'.  David submitted a 
>>>> c tool to convert BibleWorks hebrew font encoded 2 column CSV files to 
>>>> flashcard files, and was wondering where to put this.  What do you 
>>>> think?
>>> 
>>> 
>>> I think utils would be a fine place for the C code. The program needs a 
>>> few changes to make it produce valid *.flash files. It needs to do the 
>>> following:
>>> a) output wordCount=
>>> b) number the pairs. Currently they are like this:
>>> word=...
>>> answers=...
>>> word=...
>>> answers=...
>>> But they need to be:
>>> word0=...
>>> answers0=...
>>> word1=...
>>> answers1=...
>>> 
>>> It would also be useful if the program took an option to provide a 
>>> friendly name and put that into the *.flash as:
>>> lessonTitle=friendly name
>>> But it is easy enough to add it manually.
>>> 
>>> I'd make the change, but I am only set up to do java. I don't have a 
>>> C/C++ build environment and have not set up Eclipse to build it.
>>> 
>>>> 
>>>>> 
>>>>> Please provide feedback.
>>>> 
>>>> 
>>>> 
>>>> Great work.  I'm really happy with the editor now-- it's the same idea 
>>>> as the old one, which I was familiar with, but yours is MUCH prettier 
>>>> and way more functional.  I'm really excited.
>>>> 
>>>> My Hebrew prof thinks it's really cool too! :)
>>> 
>>> 
>>> If I have time, I think I will be trying to import the list of 800 
>>> Hebrew words that Anthony provided.
>>> 
>>>> 
>>>>     -Troy.
>>>> 
>>>> 
>>> 
>>> _______________________________________________
>>> jsword-devel mailing list
>>> jsword-devel at crosswire.org
>>> http://www.crosswire.org/mailman/listinfo/jsword-devel
>>> 
>> _______________________________________________
>> jsword-devel mailing list
>> jsword-devel at crosswire.org
>> http://www.crosswire.org/mailman/listinfo/jsword-devel
>> 
>
> _______________________________________________
> jsword-devel mailing list
> jsword-devel at crosswire.org
> http://www.crosswire.org/mailman/listinfo/jsword-devel
>


More information about the jsword-devel mailing list