droid app for apex?

I'll wait for gopherspidey to comment more but here are my thoughts...

The refresh button was just a simple way to ask the app for new data. You don't want it polling non-stop. You could argue whether is should be on the top or bottom or a menu item but its basic functionality is hard to argue with.

I really like the suggestions made many times to make outlets change immediately upon changing the selection (ie not having to go to the bottom and hit the 'change' button). I simply followed the original web page model when I did the first app and never got around to changing to the way the iPhone app works. No argument there. It is much better the way the iPhone app works. Time and prioritization are the only obstacles.

Other things like changing the background image have been on the suggestion list for a while as well.

Spidey did a great job with bug fixes in the latest release. The market reports have been showing many crashes over time and to date since spidey has uploaded his latest version there has been a grand total of "1" crash report. One, total! Great job.

I think the bug fixes may have taken its toll, I haven't heard from him in a while. Then again, it is vacation season.
 
Tabbed Layout

Tabbed Layout

Sorry for the lack of responses/lack of updates. Work has been hell lately. Darn hobbies are put on the back burner.

Separating the Probes, the outlets and the feeds to different screens would make some of the code easier. I have already played with a tabbed layout with the probes and the outlets on separate tabs. What do you guys think of a tabbed layout with the probes and outlet on separate tabs?

The feeds I was thinking about changing it to a popup from the menu.

As for the reload button, it is needed for forced updates. I need to work on the backend architecture of filling the internal database from the apex controller. Currently the database is somewhat filled by the GUI thread and somewhat polled at intervals. I need to change it so that it does not try to do anything in the GUI thread and move it all to a service thread. That is the source of most of the application crashes.

I hope to have sometime soon to work on the updates.
 
I think a tabbed interface would be fine. If you see Googles new web page from an android browser it uses tabs nicely. That would allow you to organize the data and pages to simplify your coding. Too much on one page makes the coding a mess (have seen this first hand).

It will also give you the ability to extend the interface and add other stuff like program editing, etc.

I think the reload function is necessary, but again maybe does not need to be right at the top of the page.

I do also like the idea of the outlets changing immediatly rather than having to press another button.

Currently I still use my mobile web page for my ACIII because I can do almost everything from it that could be done from the standard web pages. The one thing I was missing was a widget. I would love to have all the functionallity in one application.

Keep in mind that since you do need a connection to the apex it may be an easier idea to build some simple web pages and just display them directly through the interface rather than re-building everything in the app, especially for things that are not used all the time.

I am a big proponent of HTML5 where you can make your web pages look like they are apps on android, iphones and ipads.

Once I get my Apex setup I am going to update my mobile web page and then see if I can make it look like an android app using HTML5.

John
 
When you say, "update my mobile web page" what do you mean? The web server in the Apex/ACiii serves up the web content.

Would you modify the content serving on the controller? I know the ACiii web pages were a lot simpler to edit than the Apex web pages.
 
I love the app... but it doesn't work when my phone is on my home network (works great when using the external IP address). It's not that big a deal with the phone... but I"d like to use the app with my tablet (rooted nook color).

Is there something simple I'm missing to make it work when the device is on the same network as the apex?
 
I love the app... but it doesn't work when my phone is on my home network (works great when using the external IP address). It's not that big a deal with the phone... but I"d like to use the app with my tablet (rooted nook color).

Is there something simple I'm missing to make it work when the device is on the same network as the apex?
Some home routers have trouble with using external references when the devices is actually internal. Network gurus can explain better but is something like reverse NAT or similar.

Android does allow apps to detect whether they are on particular WiFi SSIDs so it would be possible to add an option for a second URL when connected to SSID = x but that development would need to get prioritized.

Maybe a network/router guru can give advice for fixing it in the router. A question posted in a new thread might get there attention better.
 
Thanks Henry... It's not that big a deal. I could also stand up and walk over to the tank while on my home network.
 
I love the app... but it doesn't work when my phone is on my home network (works great when using the external IP address). It's not that big a deal with the phone... but I"d like to use the app with my tablet (rooted nook color).

Is there something simple I'm missing to make it work when the device is on the same network as the apex?
As Henery stated, the issue you are having is due to your router. Some routers support a capability called NAT loopback, some don't. In your NC, just use the actual IP address and port of the Apex instead of the dyndns hostname and external forwarded port.

Which method/package did you use to root the NC? I did mine a while back, and the result was barely usable. I went back to factory load. I've been wanting to try rooting it again though.
 
Some routers have an options to turn this on, it may be called different things for each router, if they do not then it is not easy to do.

I accomplish it by using an internal DNS server that overrides my DNS entries using internal IP addreses (This is very complicated but it solves the problem, although its not totally fool proof).

The other solution which I have used is when I want to access an app that has this issue I just turn off WiFi and go throught the 3G network. Its a bit of a pain but also works.

John
 
Android does allow apps to detect whether they are on particular WiFi SSIDs so it would be possible to add an option for a second URL when connected to SSID = x but that development would need to get prioritized.
This would be a nice addition. I wouldn't base it solely on whether the device is on WiFi or 3G - if the the app is designed to use a local URL when on WiFi and an external URL when on 3G and the user connects to a foreign (not at home) WiFi network, the connection would fail. The iPhone app has support for multiple controllers... many of us just define 2 controllers in the iPhone app... one using the local IP address of the Apex, and the other definition using our DDNS hostname. When at home on WiFi, the local profile works; when on 3G or foreign WiFi, the other profile works.
 
Which method/package did you use to root the NC? I did mine a while back, and the result was barely usable. I went back to factory load. I've been wanting to try rooting it again though.

[begin aside]
I used Autonooter 3.0, which is an unofficial rooting method (i.e. non-AutoNooter team). It's been a while since I did it and there was an issue with being stuck in recovery (although there is a workaround).

I've since loaded a dual boot menu option that allows me pick to boot the stock ROM (eclair) from internal memory or Cyanogen from the SD card (gingerbread). I haven't really done much for a while with the Nook because I got it running how I like (at one point I was loading CM7 nightlies to the SDcard).

If you can live without the B&N reader and other stock apps (I can't, because children's books that read aloud won't work on anything but the stock reader, last time I checked), you can load cyanogen right onto the internal memory without rooting it first.
[/aside]

droid app:
I've turned off wifi on my phone while at home and have used it over 3g. Two problems specific to me: cell phone coverage is crappy in my town, and my Nook doesn't have 3g. I'm not really motivated that much to get it to work at home, plus the browser interface (via laptop) is more functional for what I'd be doing with and to the Apex at home anyway.
 
I wouldn't base it solely on whether the device is on WiFi or 3G - if the the app is designed to use a local URL when on WiFi and an external URL when on 3G and the user connects to a foreign (not at home) WiFi network, the connection would fail.
That is why I said WiFi SSID. Am I using the right acronym? I meant when connected to a specific wifi network. There are android APIs to tell you which network you are connected to.
 
I looked into the remote hosting for a bit but couldn't figure out how to check in/out or seed the rev-0 of the code from Eclipse.
 
code.google.com uses subversion as a source control system. You can either install the command line version and check in the initial code version or you can load the eclipse plugin to do it.

If you would like a hand getting things started I am more than willing to do it, because I think it would be better to have multiple people working on this.

Feel free to PM and I will give you my cell # so we can talk.

John
 
Back
Top