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."
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
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.
...
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
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
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.
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.
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.
Programming can be fun again. Film at 11.
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.
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.