Hi,
Just wanted to take this time to answer some questions posed on
this list:
* Book Reader: KeySoft 8.0 is the first version to support
Audible books; Apex with 9.1 supports later Audible formats.
* Upgrading: For mPower, you need an SD card between 64 MB and
512 MB due to some internal file structures and OS. When you
attempt to even format a larger SD card, mPower will give you a
warning. If you attempt to upgrade without the SD card, the
mPower's system program will tell you that there's no SD card
present.
As opposed to this, Classic and PK requires CF (CompactFlash)
card, and Apex, in addition to SD cards, can utilize USB thumb
drive and internal Flash Disk.
* Application Error: I've come across this error before.
Usually, the dialog says:
Application Error dialog: Application keysoft.exe has performed
an illegal inperation for will be shut down.
From what I've noticed, this is usually caused by KeySoft trying
to use memory location that it does not have access to, as
evidenced by a series of hexadecimal values present on the dialog
text. This is rather the fault of the code, which requires
extensive debugging (tracing through programs for errors) to fix
this behavior.
* SMTP problem: The tls command suggests security setting under
KeyMail. If using Gmail (or any similar service that uses SSL),
you need to enable secure connection on both incoming (POP) and
outgoing (SMTP) servers by saying "yes" at the secure connection
prompt. Then set the POP port to 995 and SMTP port to either 465
or 587 (try 465 first). Try enabling secure connection and try
again.
* Facebook usage: Facebook can indeed be used with a BrailleNote;
note that, for optimal performance, if possible, use KeyNote Gold
with web browser on mPower (and on Apex, as Eloquence eats more
memory). However, I think the bulk of usage posts should have
been sent to a dedicated Facebook mailing list for blind users of
FB (which does exist).
The problem of username not being availible could mean either
you've spelled your username wrong or if you didn't even create a
dedicated username for yourself. The "linking" that Sabbahattin
offered was to use his methods to allow you to use FB chat with
your FB username and password through KeyChat. If you want to
take advantage of this, then you might want to double check the
spelling of your username or create one.
* Find command on QT: I'd like to stress that, those who use a QT
model should remember that if you open a braille file (whether
brf or KeyWord Braille), you need to use homerow keys
corresponding to braille characters when entering text at search
prompt. Under braille file, QT (or even a BT with an external
keyboard) expects braille input.
I guess I need to write this comment somewhere on my site then...
* A warning for those transitioning to Apex from mPower: A friend
of mine asked me offlist about some problems with Connection
Config database. If you have KeySoft 9.1 and restore Connection
Config from mPower, you'll find that your security key might
become corrupted. To fix this, either delete the Connection
Config file set (both the cdb database and the definition
template) and use a Support Information Mode command to restore
default files, or remove the KeyList definition template and try
again, which should restore the 9.1 template.
* A technical clarification: Stemming from a discussion of
whether KeyList definition is a programming language or not. As
most of us (frogrammers) can clarify, KeyList definition is NOT a
program; some would correctly label it as some directive or a
script (and that's what it really is). Under most academic books
and programming language definitions, in order for something to
be considered programming language, it needs to:
1. Be executable or receive assistance in running under machine
code. The first case is keysoft.exe, since it needs to be
compiled (translated) into machine code (for ARM processor); the
second case would be most of Java programs or website code, which
requires an interpreter to understand what the code does. In
some cases, the code (to be interpreted) is compiled to the
target machine code when it first starts (called JIT, or Just in
time compilation). Since KeyList definition is just a template
and utilized by KeySoft for displaying prompts (no binary
instructions involved), then it cannot possibly encode program
code. The actual data input is done not by KeyList, but by
KeySoft itself, asking the cdb (CE database) to accept the user
entered data (known as variables).
If I have to, I'd be happy to write a simple program that
emulates this behavior by reading the prompt from a file, but I'd
rather ask the "programming students" to try it out.
2. Be standardized and have some objective on what tasks it
should be used for and minc useful. Standardization such as
Wi-Fi and Bluetooth allows many people to use features of
something, such as talking to Bluetooth headsets and connecting
to secure wireless networks. Same can be said for some languages
such as C++, which has some standards body, or Java, which is
controlled by a company (Oracle). Some would argue that KeyList
does have standards and its objective is to drive the database
entry; that's true, but it undermines history of KeySoft. One
could easily write an "emulator" that reads the file, gives some
prompts and writes the result to an output file; but as to how
exactly it is done under the app layer, we don't know yet (since
HumanWare didn't release the underlying system yet). Besides, it
is not the KeyList template that drives the standards and
objective of KeyList's job (which is to manage contacts) -
rather, it's the Windows CE's job to understand the input
standard, with KeyList gathering the necessary info for it
through assstance of the template. In other words, it is not the
job of the template to wrmte your phone number - it's the actual
program (KeySoft) which is responsible for that job.
3. It is general enough to be used by many programmers to write
useful programs. Although there are languages created for
special purposes e.g. BASIC for teaching programming and Java
for running the same code on multiple computer types, the
ultimate power of a programming is generality and availibility to
write vast array of programs (one can even write some useful
utilities under BASIC or write something under Java that'll run
on mobile phones). If KeyList definition indeed contains program
source code and if it can be compiled, then I expect Alex would
be happy, since he (and others) would have produced a wide range
of system utilities by now. Since the klt's job is to format the
prompt of a program module, then it defeats the argument that
KeyList definition is a general programming language.
I do understand the argument from the other camp, saying that a
special language developed for a specific platform is a
programming language since it is used by another program or the
device in question to "execute" the instructions contained
within. However, I'd like to differ on this in the case of klt:
is klt ever compiled to 0's and 1's, or is it translated into
some binary (or some other unknown) code that gets interpreted by
a software, thus doing general tasks outside of KeyList? Or even
if the language was designed for some purpose and runs on the
speific platform to do one or more tasks, would the source code
itself be execchted directly by a metal which only understands
its own language? In order for that to happen, the code needs to
be translated to the language that the hardware can understand
(either writing it dirctly in its machine code or assembled), or
there must be a special software that can understand the "human
language" code present on the source code. If it is the first
case, then KeyList definition could be considered a language; if
it's the latter case, then it is not.
Then what "could" be the actual definition of KeyList definition
file? From the users' perspective, it's just a text file with
some numbers, type of prompt, type of input expected and other
info used by a program called KeyList. From programmer's
perspective, since it is read by an executable without
compilation involved, it can be best described as either a
"directive," "markup language" or similar words. Personally, I'd
take the first definition - even the code in that klt file is
utilized by KeySoft's database module, it does not give us the
power to utilize system resources or is general enough to perform
advanced calculations or tap into advanced features of ARM CPU;
it is just a handy assistant to KeySoft, formatting the data it
needs in order to utilize some system resource, namely CE
database, which is the actual "heart" of KeyList and KeyBase
substystem.
I'll end my opinion piece here. If anyone (particularly from
that website) have any more questions about whether KeyList
definition code could be considered programming language, I
personally would like to advise these people to contact
HumanWare's KeySoft developers for more info and to hear their
opinions.
Hope this helps. I'll consider creating a separate mailing list
for programmers who use BN to discuss this further. Sorry for
hard or harsh language...
Cheers,
Joseph
___
Replies to this message will go directly to the sender.
If your reply would be useful to the list, please send a
copy to the list as well.
To leave the BrailleNote list, send a blank message to
[email protected]
To view the list archives or change your preferences, visit
http://list.humanware.com/mailman/listinfo/braillenote