Right now, I am doing most of the leJOS NXJ development. Brian Bagnall and Roger Glassey are also working on the Java parts of it. Charles Manning is our real expert on the ARM chip and device drivers in C and assembler. He has been working on other things for the last few months, but will hopefully be available again soon.
My priority list is:
1. Make the flash version of leJOS NXJ work on all NXTs. It currently works on some, but not others. I don't know why, as it works on mine.
2. Java PC Tools. Currently we have a prototype file explorer, and a program upload (and run) command line utility (nxjupload, that replaces lejosdl).
3. PC USB and Bluetooth comms to support the Java tools. I am currently working on comms drivers for Windows and Linux that use the Bluecove Bluetooth Java JSR-82 API implementation, libusb, the Lego Fantom driver, and the Linux Bluez stack.
4. Improved I2C comms including I2C writes (I am hoping Charles Manning will work on this). This is needed to support I2C devices such as multiplexers. We can add Java classes for a lot more third-party I2C devices when we have this.
5. Improved Lego Communications Protocol support for the PC tools, and iCommand.
6. StartUp Menu that supports Bluetooth and USB. The current one just supports USB program upload, and you have to run BTRespond for Bluetooth support.
7. User program comms support over Bluetooth and USB, including NXT to NXT Bluetooth comms, using streams.
8. More complete and robust file system. Brian has implemented the file system in Java. It currently has a few limitations, such as only one file open at a time.
9. Playing sound files, and volume control for sound.
10. Better, faster graphics support, including image files.
11. Performance improvements. Some things like the way the display is updated mean that leJOS NXJ could be much faster. Its currently a lot slower than RobotC.
12. Midlet for controlling lejos robots from mobile phones and other mobile devices over Bluetooth. I have a very simple one working.
13. PC comms proxy to allow control of robots running lejos from web sites, etc.
14. CompassPilot and CompassNavigator.
15. Garbage collection.
16. Java Runnable interface, without subclassing Thread.
17. More robust device drivers: AVR (for motors and sensors), USB, Bluetoooth could all do with some improvment.
18. High speed comms. Port 4 on the NXT has hardware support for high-speed NXT to NXT comms.
19. Running a subset of the MIDP J2ME API on lejos - i.e midlets. This is probably the best way to support a graphical menu system.
20. Eclipse plug-in. I don't have this as very high priority as I use clipse successfully for leJOS program development, without a plugin.
21. Visual programming for leJOS. I currently have a prototype of an equivalent of NXT-G that supports behavior programming, navigators, etc.
22. Remote debugging. I would like to have remote debugging in the style of RobotC.