Hi Justin,<div><br></div><div>Thanks for your reply, and sorry for the delay in my response.<br><br><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<br>>Did you try to build the code as-is<br>Yes, I’m down from an original 8000 compilation errors in basic ImageJ to 3000 by writing wrappers to map Java AWT components to basic Android ones.</blockquote><div><br></div>

<div>Interesting. Did you see this project: <a href="http://code.google.com/p/sdf4j/">http://code.google.com/p/sdf4j/</a></div><div><br></div><div>It might be worthwhile to create an ImageJ2 SDF4J UI that would be compatible with both AWT-based JVMs and Android (since those are the two existing implementations so far).</div>

<div><br></div><div><p class="MsoNormal">Also, are you talking about ImageJ 1.x, or ImageJ2? With ImageJ2, no AWT wrappers should be necessary; rather, you can implement a different UI using the Android UI classes (or perhaps even SDF4J, mentioned above).</p>

</div><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"> </blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

They are very similar, but some incompatibilities makes totally as-is ImageJ difficult, and ImgLib impossible, so I have:</blockquote><div class="im"><p class="MsoNormal"><u></u></p></div><div class="im"><p class="MsoNormal">

<br></p><p class="MsoNormal">I am interested to hear why ImgLib on Android is impossible. Are there changes we can make to the library to fix that? If so, we should do it sooner rather than later. The longer we wait to make architectural or API changes to the code, the more difficult it will become, due to increasing usage in the wild. And once ImgLib2 and ImageJ2 come out of beta we will be committed to maintaining backwards API compatibility, which complicates things.</p>

<p class="MsoNormal"><br></p></div><div class="im"><p class="MsoNormal"><br></p><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

 <br>> Did you try the Maven Android plugin (<a href="https://github.com/jayway/maven-android-plugin" target="_blank">https://github.com/jayway/maven-android-plugin</a>)?<br>Yes, but I actually found that I had to substantially un-mavenize ImgLib to do the actual programming.  This is mostly because I like to use the Eclipse debugger, frequently going across dependencies in figuring out bugs.  Understanding how to get this to work better with Maven is probably a point where I would be interested in showing you what I’m doing and seeing ideas for improvement in workflow on my end.  Maybe we will have this chance at the conference.</blockquote>

<p class="MsoNormal"><u></u><u></u></p><p class="MsoNormal"><u></u></p></div><p class="MsoNormal"><u></u></p><div class="im"><p class="MsoNormal"><br></p><p class="MsoNormal">Definitely, I would be happy to help. You should certainly not have to un-Mavenize these projects. On the contrary, the M2E plugin is supposed to make dependency management in Eclipse better and more powerful. There are two ways of doing it: 1) import the actual Maven projects (in which case you can debug into and even change the source code on the fly), or 2) right-click the Maven JAR dependency and select "Maven > Download Sources" to download and link a source code JAR (in which case you can debug into, but not change, the linked source code).</p>

<p class="MsoNormal"><br></p><p class="MsoNormal"><br></p><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<br>> Did you think about creating an HTML5/Javascript frontend to an ImageJ server, for cross-platform mobile support?<br>This is something I saw a lot of people doing at a recent medical imaging conference, but not specifically for mobile support (but that is a reasonable next step).  Do you know of any examples of just general-purpose applications that have done this for cross-platform mobile use?</blockquote>

<p class="MsoNormal"><u></u></p><p class="MsoNormal"><u></u></p></div><p class="MsoNormal"><u></u></p><div class="im"><br><p class="MsoNormal">I have not done a lot of research, but some basic searches yield e.g. many YouTube videos talking about cross-platform mobile development using HTML5. From a cursory inspection, it looks quite doable, though there are surely many pitfalls (e.g., no position:fixed on iOS 4!).</p>

<p class="MsoNormal"><br></p><p class="MsoNormal">One video I saw (<a href="http://www.youtube.com/watch?v=Ij5YWGiGSMU#t=16m39s">http://www.youtube.com/watch?v=Ij5YWGiGSMU#t=16m39s</a>) goes into a fair amount of detail discussing cross-platform mobile HTML5 development, and comparison to native apps. But that video is already almost two years old, and given how fast HTML5 is growing, it's hard to say what the current state of affairs is without more extensive research and experimentation.</p>

<p class="MsoNormal"><br></p><p class="MsoNormal">In any case, I'm looking forward to hearing your talk at the conference. Hopefully we will have time to hack on some code. Note that I will be in Luxembourg until Sunday the 28th, to discuss and work on projects a little afterward.</p>

<p class="MsoNormal"><br></p><p class="MsoNormal">Regards,</p><p class="MsoNormal">Curtis</p><p class="MsoNormal"><br></p></div><div><br></div><div class="gmail_quote">On Fri, Sep 21, 2012 at 3:28 PM, Senseney, Justin (NIH/CIT) [E] <span dir="ltr"><<a href="mailto:senseneyj@mail.nih.gov" target="_blank">senseneyj@mail.nih.gov</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-US" link="blue" vlink="purple"><div><p class="MsoNormal">Hi Curtis,<u></u><u></u></p><p class="MsoNormal">

<u></u> <u></u></p><p class="MsoNormal">Great to hear from you, feel free to reply just to the list as I am already subscribed.  I made a page here: <a href="http://wiki.imagej.net/Android" target="_blank"><span style="color:windowtext">http://wiki.imagej.net/Android</span></a> where I will populate it in the future with some details.  Let me mention your specific good ideas:<u></u><u></u></p>

<div class="im"><p class="MsoNormal"><span style="color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal">>Did you try to build the code as-is<u></u><u></u></p></div><p class="MsoNormal">Yes, I’m down from an original 8000 compilation errors in basic ImageJ to 3000 by writing wrappers to map Java AWT components to basic Android ones.  They are very similar, but some incompatibilities makes totally as-is ImageJ difficult, and ImgLib impossible, so I have:<u></u><u></u></p>

<div class="im"><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">>(or minimally modified) for use with Dalvik?<u></u><u></u></p></div><p class="MsoNormal">Yes, to a limited extent it is working with ImgLib, making Maven very appealing because the extensive dependency use makes it easy to see what I have working.  So I have also tried: <u></u><u></u></p>

<div class="im"><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">> Did you try the Maven Android plugin (<a href="https://github.com/jayway/maven-android-plugin" target="_blank">https://github.com/jayway/maven-android-plugin</a>)?<u></u><u></u></p>

</div><p class="MsoNormal">Yes, but I actually found that I had to substantially un-mavenize ImgLib to do the actual programming.  This is mostly because I like to use the Eclipse debugger, frequently going across dependencies in figuring out bugs.  Understanding how to get this to work better with Maven is probably a point where I would be interested in showing you what I’m doing and seeing ideas for improvement in workflow on my end.  Maybe we will have this chance at the conference.<u></u><u></u></p>

<div class="im"><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">> Did you think about creating an HTML5/Javascript frontend to an ImageJ server, for cross-platform mobile support?<u></u><u></u></p></div><p class="MsoNormal">

This is something I saw a lot of people doing at a recent medical imaging conference, but not specifically for mobile support (but that is a reasonable next step).  Do you know of any examples of just general-purpose applications that have done this for cross-platform mobile use?<u></u><u></u></p>

<div class="im"><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">>Or compile from .class to .dex? <u></u><u></u></p></div><p class="MsoNormal">That is the goal, but I don’t think there is a way around it without resolving the problems I’ve mentioned above.  I’m happy to hear any ideas you have (off-list or on).<u></u><u></u></p>

<p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">-Justin<u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">

<div><div style="border:none;border-top:solid #b5c4df 1.0pt;padding:3.0pt 0in 0in 0in"><p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> <a href="mailto:ctrueden.wisc@gmail.com" target="_blank">ctrueden.wisc@gmail.com</a> [mailto:<a href="mailto:ctrueden.wisc@gmail.com" target="_blank">ctrueden.wisc@gmail.com</a>] <b>On Behalf Of </b>Curtis Rueden<br>

<b>Sent:</b> Friday, September 21, 2012 12:44 PM<br><b>To:</b> Senseney, Justin (NIH/CIT) [E]<br><b>Cc:</b> ImageJ Developers<br><b>Subject:</b> ImageJ on Android talk<u></u><u></u></span></p></div></div><div><div class="h5">

<p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Hi Justin,<u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">I hope things are going well with you. I am writing regarding your talk on porting ImageJ to the Android platform for the ImageJ conference next month. It is something I regret not having time to investigate more, so I am happy that you explored it.<u></u><u></u></p>

</div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">From your abstract (<a href="http://imagejconf.tudor.lu/program/doku.php?id=:program:presentations:justin_senseney1804285318" target="_blank">http://imagejconf.tudor.lu/program/doku.php?id=:program:presentations:justin_senseney1804285318</a>), it sounds like you encountered quite a few difficulties. Anything you would care to discuss prior to the conference? Leaving the door open for mobile support has been a major design goal of ImageJ2, so if there are roadblocks it would be good to hear about them, to make any corrections in the architecture sooner rather than later.<u></u><u></u></p>

</div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Moreover, in general, we would be very interested to hear details of your approach. Did you try to build the code as-is (or minimally modified) for use with Dalvik? Or compile from .class to .dex? Did you try the Maven Android plugin (<a href="https://github.com/jayway/maven-android-plugin" target="_blank">https://github.com/jayway/maven-android-plugin</a>)? Did you think about creating an HTML5/Javascript frontend to an ImageJ server, for cross-platform mobile support?<u></u><u></u></p>

</div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">These are all directions we would love to see explored. You are more than welcome to discuss your findings on this mailing list, and/or post technical details on the ImageJ2 wiki (<a href="http://wiki.imagej.net/ImageJ2" target="_blank">http://wiki.imagej.net/ImageJ2</a>).<u></u><u></u></p>

</div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Regards,<u></u><u></u></p></div><div><p class="MsoNormal">Curtis<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div>

</div></div></div></div></div></blockquote></div><br></div>