[brailleblaster] Re: Some Thoughts

  • From: Michael Whapples <mwhapples@xxxxxxx>
  • To: brailleblaster@xxxxxxxxxxxxx
  • Date: Wed, 02 Feb 2011 23:56:27 +0000

My short answer is, "get over your problems with Java, it can interface with native system libraries if you want to do that". So others would be equally as able to enhance BrailleBlaster if it is written in Java or any other language, probably what matters more for customisation is the quality of the design. The arguments of what happens if Oracle were to ditch Java and so JRE's were hard to come by (an unlikely case I think, Oracle has a number of there software packages in Java and others could continue development of the JDK now Java is opensource in the form of the OpenJDK), well that applies as much to other programming languages, what if Apple feel that Python isn't worth supporting (they are behind the latest Python version by a bit), Ruby needs an interpreter, ocaml needs a compiler, what if Apple decided they could do better than objective-c as their main development language, etc. Java has a number of large companies behind it, including Apple (they are contributing to the Mac port of OpenJDK), so where's the evidence of death of Java?


I will just add, actually python got some consideration near the beginning. I certainly like python, its great for quickly getting things done. The problem in python is the GUI support, it probably would have required separate GUI modules for each platform and this very well could have eaten back the advantages of python being really easy to work in.

Michael Whapples
On 02/02/11 23:45, Alex Jurgensen wrote:
Hi,

What about C++, C, Rubie, or any of the other "First Class" languages.

If we as a project built the generic UI and then left the door open to third 
parties to create their own UI's, who knows, we may end up with hands-free 
Braille translation software or a version of BB that only embosses for certain 
people, using facial recognition.

I know these are far fetched ideas, but there is a lot of potential to go above 
and beyond the specification.

For instance, what if a third-party made a mobile version of BB that could sync 
with a modified desktop version for embossing?

This is what we gain by making an engine that is robust and is written in 
something that is easy to integrate with other programming languages through 
wrappers or natively.

Regards,
Alex,


On 2011-02-02, at 3:30 PM, qubit wrote:

Hi Alex --
you want to component out a braille translation engine separate from the
UI -- I believe that is already the case as braille translation and
back-translation is being handled almost completely by JohnB's C libraries.
Your arguments are compelling (you almost had me convinced about objective
C), but I think that it is not used nearly as widely as java, and its future
depends on Apple's projections to take over the world as we know it *smile*
I also think that separating out a language-independent way of expressing
the UI is awkward and prone to bias.
I think that some work could be done to produce a layer of code between the
liblouis* libraries and the UI to flesh out whatever is put in the
requirements, but I'm still not convinced that ditching java is the best
approach.
Just my $0.02.
--le



----- Original Message -----
From: "Alex Jurgensen"<asquared21@xxxxxxxxx>
To:<brailleblaster@xxxxxxxxxxxxx>
Sent: Wednesday, February 02, 2011 4:42 PM
Subject: [brailleblaster] Re: Some Thoughts


Hi,

To answer your questions, I don't dislike Java in any way.

I am just looking into the future. With Microsoft roomered to launch an apps
store with Windows 8, and Apple having successfully launched two so far, I
think that we must look at the direction the market is heading and not just
at what would work right now.

I started my development in Java and continue to have plans for some
projects in Java, but I think that Java has its place, as does any
programming language.

As to Macs representing a very small number of users, I would have to agree
over all, but disagree that we can afford to ignore the platform.

It is gaining in popularity among blind users.

Let's say that tomorrow all desktops disappeared. What would run BB, a
handful of tablets?

As computers evolve, we can't live in the desktop paridyme. We must flow
with the market.

My suggestion of using a natively compiled language would allow us to secure
against changes in the UI that we can't predict today.

I suggest that we component out BB into a Braille translation engine with a
UI as a separate component.

Then, if Viewplus drops support for a platform, it would be straight forward
for another group to pick it up.

I know the same can be said for writing the logic in Java, but I think that
Java is a weakness in the structure of BB.

There are two main reasons for this.

Embedded distros may not support Linux and although they form a very small
percent of the market today, may form a bigger percentage tomorrow.

Secondly, it relies on a JVM, which not only can use more resources, but,
even if the issue of efficiency could be worked around, would rely on JRE's
being maintained.

Just my thoughts.

Regards,
Alex,

Alex Jurgensen,
VoiceOver Trainer,

Visit us on the web at: http://www.vipbc.org/


On 2011-02-02, at 1:56 PM, Michael Whapples wrote:

I am going to be direct, you keep bringing it up and honesty may be the
only way to get to the bottom of it.

I am getting the feeling your issue is not really with SWT but rather with
Java. What is it about Java you don't like?

As an example to why I draw the conclusion above, you say use
C/C++/objective-c for logic code but possibly use SWT for the UI. The
rationale you give for this is to have the possibility of being able to
develop a native GUI for the Mac. Well having the logic code in Java also
would allow for that as I have pointed out in the past. Java can access
native code and so use the platform's native GUI libraries directly. The
example I have given before is cyberduck http://www.cyberduck.ch, which in
fact Apple have put in their list of applications accessible with
voiceover http://www.apple.com/accessibility/voiceover/applications.html,
look under utilities.

I won't say my views on the app store again, other than to mention, Macs
only represent a small number of users, as Linux probably does, and so
technologies of one platform, particularly optional ones which the app
store seems to be, should not drive the direction of the project.

I guess the last say on all this could and probably does fall back to
ViewPlus, who are the ones wanting this project. How important is the Mac
to ViewPlus? What is the minimum acceptable standard of support for the
Mac? Oh, and I am not getting at the Macs here,the same questions should
be asked for the other platforms.

Michael Whapples
On 02/02/11 17:49, Alex Jurgensen wrote:
Hi,

If we use the web approach, we can style the applcations to look like
native Mac apps.

These are the headaches that just kill me about cross-platform stuff.

If we only wrote hte main logic in something like C, Objective-C or C++
and then did our UI's in SWT, that would at least give us the possibility
to write an alternative UI down the road for the Mac.

Regards,
Alex,


On 2011-02-02, at 9:41 AM, Chris von See wrote:

Highly unlikely - rule 2.24
ofhttp://stadium.weblogsinc.com/engadget/files/mac-app-review.pdf  seems
pretty clear:

2.24 Apps that use deprecated or optionally installed technologies
(e.g., Java, Rosetta) will be rejected

You *may* be able to get around the rules regarding deprecated
technologies by bundling a JRE (it would almost certainly need to be
SoyLatte since you can't include anything with a third-party installer
such as an Oracle JRE for Mac).  You almost certainly will not be able
to get around the requirement that the UI adhere to the Mac Human
Interface Guidelines - Java apps that don't use Apple's enhanced JRE
look nothing like native Mac apps.




On Feb 2, 2011, at 9:29 AM, Alex Jurgensen wrote:

Hi,

I realize that.

However, I think that including a JDK might solve this.

Regards,
Alex,


On 2011-02-02, at 9:28 AM, Chris von See wrote:

Java applications cannot be included in the Mac App Store.  Java is
now considered to be an "optional" technology on the Mac, according to
Apple.




On Feb 2, 2011, at 9:21 AM, Alex Jurgensen wrote:

Hi John,

I was refering more to Chris' message about using STW's browser
control as a UI. That would get us half way to having a web app,
would it not.

Now, that depends on how we end up doing the UI.

About the auto updater, I am working on it because this is where I
feel the most confident, creating a boot loader.

Here is my question.

How far along are we in the 2 year development cycle? The website
does not list a date that the project was started on.

I have also been investigating the rules for submitting the
application through Apple's Mac App Store.

I know it is a little early for this, but I have read about
developers who wrote entire applications that got rejected because of
something that was too difficult to change at the time of submission.

Regards,
Alex,


On 2011-02-02, at 9:13 AM, John J. Boyer wrote:

Alex,

Sorry about the need to modify your application bundle, but
BrailleBlaster has always been written as one word.

I think you are getting ahead of us. It is too early to include
auto-updatre, and a web application is a whold divverent project. We
have to stick to what we are doing. After BrailleBlaster is working
as a
desktop  application we can consider a Web application.

John

On Wed, Feb 02, 2011 at 08:52:17AM -0800, Alex Jurgensen wrote:
Hi,

I suppose that the Mac issues should be resolved in any case. This
would help the Mac community as a whole.

I've built my boot loader now, but I can't test it yet.

Did you get a chance to look at my mock up yet?

What do you think of it?

Regards,
Alex,

Alex Jurgensen,
VoiceOver Trainer,

Visit me on the web at:http://www.vipbc.org/


On 2011-02-02, at 12:19 AM, John J. Boyer wrote:

I've read through all these messages, and I'm convinced we should
stick
with SWT. By the time BrailleBlaster is ready for use by anybody
other
than a developer the problems on the Mac may be resolved. We can
add a
little pressure to the Eclipse developers to help things along.
The idea
of using the SWT browser to present GUI content is interesting.

The classpaths specified in the ant build.xml file go iknto the
manifest
of the BrailleBlaster jar file. This makes callinng BrailleBlaster
very
convenient on my flavor of Linux and on Windows. We could make
different
versions of BrailleBlaster for different distros, but I think that
is
something for the early adapters who use these distros to worry
about.
They will know their own flavors. And many of them won't care
about the
standard locations.

Let's learn from Alex's experience in proting BrailleBlaster to
the Mac.
Concern about various Linux flavors at this time is a distraction.

As for me, I'm concentrating on getting BrailleBlaster to work
with at
least generic embossers. Then I'll make a simple text editor using
a
GUI. the experience in doing this will be necessary to make the
real
GUI. The text editor will remain as a BrailleBlaster feature to be
used
by advanced users.

Incidentally, BrailleBlaster is a single word.  It should not have
a
space.

John

--
John J. Boyer; President, Chief Software Developer
Abilitiessoft, Inc.
http://www.abilitiessoft.com
Madison, Wisconsin USA
Developing software for people with disabilities


----- End forwarded message -----

--
John J. Boyer; President, Chief Software Developer
Abilitiessoft, Inc.
http://www.abilitiessoft.com
Madison, Wisconsin USA
Developing software for people with disabilities


--
John J. Boyer; President, Chief Software Developer
Abilitiessoft, Inc.
http://www.abilitiessoft.com
Madison, Wisconsin USA
Developing software for people with disabilities









Other related posts: