First off, thanks very much for creating a Java-powered IO board. For all 
my projects that need a lot of IO, I've ended up using the Phidgets 0/16/16 
board and while it works well, it's a whopping 100 bucks a board for just 
32 digital IO pins. Sparkfun's site showed the IOIO OTG and I ordered it 
immediately and had it wired up and working in just a few minutes after it 
arrived. I think it will be perfect for my next few planned projects. 
Combine it with a Raspberry PI and you have a powerful Java-based system 
that is cheap enough to leave embedded in the project which is especially 
nice!

Now, onto my question. My next project will need three IOIO boards and I'm 
trying to figure out the best way to address/sequence them. I see I get an 
"Object extra" on createIOIOLooper but after checking, it's just a string 
that says "COMx". As COM ports are assigned when things are plugged in and 
removed they are pretty fluid. This makes for a bit of a problem because 
when I move the display around I have to reconnect everything in a specific 
sequence as I can't ensure which IOIO board is which and their physical 
orientation is critical to the app working. In this specific project, I can 
get away with bringing one of the IO pins I'm not using low and check for 
it in code but that's a pretty sloppy solution. Is there a better way to 
physically identify a board rather than just the COM port? Ideally the API 
would expose some unique ID or allow us to assign an ID to a board. That 
would totally solve this problem.

Next, I have a couple of suggestions that might lower the barrier of entry 
for us desktop users based on my initial experience. 

   - Compiled jars - I was really surprised that I had to compile the 
   source for a project. It's been a long time that an open source API I used 
   didn't have already compiled jars. This isn't a big hurdle but it does make 
   it a bit of a hassle for new devs. It also makes it very unclear what 
   versions of the API code I have unless I set up a local repo for this and 
   such. Just not something I'm going to bother to do for a small project. 
   - Non-IDE specific tutorials - unfortunately the tutorials are based 
   around Eclipse. While that's obviously a popular IDE, it's really limiting 
   as many of us don't use Eclipse or are looking for actual details of the 
   API, not details on how to configure Eclipse. I would have been very happy 
   with a simple list of current jars to use and a quick HelloWorld snippet I 
   could cut and paste. The specific jars to use were the most unclear as they 
   are very nicely broken down into PC vs. Android and such but it's not 
   trivial to find which are needed in what context without some digging. 
   - What about using a build tool like Gradle? Obviously Google is going 
   this direction and it's a pretty superb tool all around (we use it on a 
   massive project at work with a huge number of dynamically version-ed 
   modules and its been rock solid). Sadly Eclipse has pretty mediocre support 
   for it (I'm not an Eclipse fan in general though, so I admit bias) but it 
   still works nicely and is completely environment agnostic. Even using it 
   purely command line is very easy with a Gradle wrapper setup. 
   - In the same vein, why not get the jars into the Central Maven repo? 
   That would make IOIO even easier to get started with as you just have a few 
   dependencies and let 'er rip. Overall, it just makes everything simpler.


Anyways, this project is great and I'm really excited to see a 
Java-language project take off. Is this group open to patches and 
enhancements to the Java api being submitted? I saw a few things I thought 
I could contribute if that's on interest. Thanks again for all the amazing 
work!

-Mike

-- 
You received this message because you are subscribed to the Google Groups 
"ioio-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/ioio-users.
For more options, visit https://groups.google.com/d/optout.

Reply via email to