Slashdot Mirror


Programming Accessible Software on Java Phones?

LostSinner asks: "My mother, who is blind, called me recently and asked if I'd be up for a challenge. She is supremely fed up with trying to use her current cellphone (a StarTAC) and is looking for a new one. Recently, she has heard about the newer Java-enabled phones. She wants me to write a Java program which will allow her to navigate the menus, place calls, and generally use everything available to us sighted folks that she can't currently use. Though there are a few aftermarket pieces of software somewhat geared towards this, the price and the functionality (or lack thereof) are both sticking points... and what's the use of having a geek son if you don't get any benefits, right? I plan to release the code and either give the software away for free or charge a nominal fee for it. It's new ground for me, but I love a challenge. So, is a Java enabled phone the best way to go? Are there already phones out there with this functionality built in? If Java is the best way to go, what service provider and/or phones does Slashdot recommend? Thanks."

11 of 35 comments (clear)

  1. I'm not sure MIDP is the way to go. by Dr.+Bent · · Score: 2, Interesting

    Java has a very rigid security system, which works well on phones because users view them as a hardware device (a phone!) and not a software platform, and so they must be reliable and secure.

    However, I would think that this would prevent you from replacing all the menus with your own code. Instead, you might want to get her something like this

    1. Re:I'm not sure MIDP is the way to go. by mrlpz · · Score: 2, Informative

      Yes..but the software they're talking about are running on the 9200 communicators. Mind you, these units

      A) Are fast growing out of date with newer systems
      B) Aren't in implemented in Java, rather their OS is a flavor of the Symbian OS called Series 80.

      Personally, I think that a Symbian OS based phone would be the way to go. What you would have to do is record audio bits ( rather compressed I'm sure ), that would correspond to the most commonly used features of the particular phone that you're implementing this on. That way, when the user pressed a particular key, he or she would hear either something spoken to them that says what either the key means ( a number on the keypad ) or what the menu name they've just selected means.

      I think some of the newer series 60 phone "MIGHT" be ideal for this based on both feature set and price. A UIQ based phone is still in the $650+ range ( and 9200 communicators are in the $600 range as well ).

      Having your application run as a Symbian service would allow it to be "aware" of the state of the UI.

      Any way you slice it...it'd be a fair bit of work, and I'm sure that it must've cost Vodafone a pretty penny to get that software implemented even on that limited number of phones.

  2. Harder than it sounds by cybermace5 · · Score: 2, Informative

    For one, most Java implementations run entirely separate from the actual phone functions. You can't just replace the built-in OS.

    What, exactly, could you do that makes it easier for a blind person to use? Every phone function is already accessed with a sequence of button presses. Type a phone number, hit talk. Memorize the order of people in your phone directory. On my phone, I can access nearly every function in one to three button presses, and seldom actually look at the screen. I can't see how your Java software would be able to do better.

    --
    ...
    1. Re:Harder than it sounds by TMLink · · Score: 2, Interesting

      I have a co-worker that is blind, and his biggest problem is getting lost. If the wrong key is pressed on accident, it sometimes takes several keypresses before he realizes that he's in the wrong spot and then has to figure out his way back to square one (and hope nothing has been messed up). Having everything said aloud would give him the ability to navigate as anyone else would have.

      Basically this guy wants JAWS for his mother's cellphone. Which would be really usefull should anyone ever put something out like this.

      --
      Every time a guy gets a threesome, somewhere in heaven an angel gets his wings. --Cary Tennis
  3. I doubt it. by duffbeer703 · · Score: 3, Informative

    I think that level of processing is not available to any developer... think of the havoc that would occue when some idiot used a ringtone installation to overwrite your phonebook with an overseas sex number.

    That being said, if there is a way to do it, you'd want to look for documentation here:

    http://java.sun.com/j2me/docs/

    and here:

    http://java.sun.com/api/index.html#j2me

    --
    Conformity is the jailer of freedom and enemy of growth. -JFK
  4. Phone/PDA for the blind... by TMLink · · Score: 5, Informative

    While I don't have an answer for your exact question, I do have an alternative that might be an option. The Alva MPO is a phone/pda for the blind. You can navigate through it by either audio (JAWS like application) or through it's braille display. Takes input through an 8-key braille keyboard. I believe it is a WinCE device, though I'm not sure what version it is running.

    Again, this is just a tad bit overkill if all she needs is a phone. However, if she's looking for something more than a phone, this might be an option.

    --
    Every time a guy gets a threesome, somewhere in heaven an angel gets his wings. --Cary Tennis
  5. Try a Treo600 instead by Karl+J.+Smith · · Score: 3, Informative

    I'd try a Treo600 instead, as you're much more likely to be able to get useful programming information from Palm/Handspring than from other phone manufacturers. You'll also be able to insert a memory card to hold your app and all the sound samples you'll want for the spoken menus.

    It's not out yet, but will be "soon", and you can start writing code today....

    http://www.handspring.com/developers/index.jhtml

    Or rather, try this general advice - try to get developer information for a bunch of handsets. See which one gives you the most. Make sure you can do what you want (e.g. dial, which I don't think you can from java phones due to the security model) and then go with that phone.

  6. can't do with j2me, go with symbian. by gl4ss · · Score: 3, Interesting

    the subject pretty much says it, you can't access the phone on low enough level with the java implementations(the sandbox they work in isn't that free, so that you can run midlets without fear of them racking up your phone tab or sending information of your simcard&etc to some malicious hacker, kind of applets but with ability to connect where-ever the device allows, they even have their own seperate from other stuff store for storing information).

    however, symbian allows for much lower level access of the device. sure the developing is a bit harder but that's the price you have to pay(it's not _that_ hard if you're familiar with c++ and the community is building up nicely so help is available).

    symbian phones include series60 from nokia(7650,3650,6650&etc) and s-e p800 there may be others as well.

    of these i'd recommend the 3650(even though she might not have use for the mmc card), the 'weird' number pad isn't that hard to use, don't know how adapting it is for the blind(i would guess pretty well adapting, should she want to train on it few hours, actually it should go pretty well, and the buttons with different functions are laid away from each other)

    --
    world was created 5 seconds before this post as it is.
  7. Ask Sun by __past__ · · Score: 2, Informative
    Fankly, I would try to find someone at Sun who bothers about this. Not only are they responsible for Java, but they also care a lot about accessibility - there are many related features in Solaris and CDE, and it's one of the major areas where they contributed to Gnome, for example. (i.e. there wasn't any kind of accessibility in Gnome/Gtk before, now there is the pretty good atk, all due to them).

    There may well be someone who already thought about that. And even if not, your mothers case might just be what it takes to make them think about it.

    The trick is, of course, how to find the right person to contact. I don't really have a good idea about that. One approach would be to find a generic Sun accessibility person (for example on the related Gnome mailing list) that seems to be a nice guy, and politely ask them for a tip on who to contact.

  8. Short term solution by jtheory · · Score: 2, Informative

    You're definitely going to run into problems trying to program this in Java, for now...

    However, you can get pretty close to what you want in many current phones. They are designed to be used without requiring users to keep their eyes fixed on the screen -- since that tends to cause more car crashes.

    The features you want aren't far off, though. I currently have a Motorola V60. No camera, no multiphonic ringtones... but it has voice recognition for the numbers in my phone book. I just press a button on the side of the phone and say "home" or "Jim", it repeats it back to me, and dials.

    It takes one button press to get to the phone book, and as I scan through the names, it plays the audio for each one.

    I can also make changes to the navigation menus (reorder main menu, reprogram shortcut keys, etc.); no programming involved.

    It's not perfect, but she could definitely have a usable phone with minimal button pattern memorization. And if she gets lost, she just closes the cover and reopens it to start over.

    I think the V66 (an even cheaper phone) has the same features, but the buttons might be too small to use comfortably w/o looking.

    --
    There are only 10 types of people: those who understand decimal, those who don't, and, uh, 8 other types I forget.
  9. what does she want? by PapaZit · · Score: 4, Insightful

    You haven't really specified the problem. "She wants to do what all of us sighted people do." What, make calls? That's easy. Is there anything else? If she just wants to make phone calls, find out how she wants to do it.

    If she wants to dial the numbers, just get her a cheap Nokia "candy bar"-style phone and ensure that one or two of the keys are textured (I recommend "5" as one of them) for easy location.

    If she wants to "look up" numbers, see about one of the voice-activated phones. Sprint definitely offers them, and probably other companies. With these phones, you press a button and say "Call Bob", and it calls bob's number. Programming's a bit tricky, but that's what sons are for, right?

    Pay attention, too, to "handsfree" models. There's pressure on the cell phone companies to make models that are usable by drivers. That means simple, and usable without looking at the keypad. Sounds kind of like what you want.

    --
    Forward, retransmit, or republish anything I say here. Just don't misquote me.