Page 1 of 60 1231151 ... LastLast
Results 1 to 10 of 591

Thread: Native Android control client

  1. #1
    Join Date
    Mar 2007
    Posts
    277

    Default Native Android control client

    I'm starting a new thread instead of continuing to hijack the iPhone/Android NetRemote discussion.

    Several years ago I put a Girder web interface together for a Nokia n800 tablet which worked nicely for simple home control. I became a fan of Android devices when I bought Hero and Evo phones, but my web interface didn't port as well as I would like. The experience was slow, the browser's own features get in the way, and I was frustrated that cool stuff like physical buttons, gestures, voice recognition, etc. would be hard if not impossible to leverage.

    So I started writing a native Android app called "Andre". It's a server-agnostic client control interface that works with anything addressable through a web service (my focus being on Girder). I'd like to share what I've got so far and get some feedback from other Girder/Android users.

    Here's some highlights:
    - Totally customizable interface with advanced layout capabilities
    - Works over WiFi or Cell network (with appropriate port forwarding)
    - Fast, responsive control
    - Physical button support
    - Gestures
    - Page & Button animation (transparency, scale & movement)
    - Flexible screen size support
    - Embeddable browser windows & Android widgets
    - Haptic & audio/visual feedback
    - Server-hosted, device-cached config and image files

    Coming soon:
    - Voice recognition
    - HTTPS/secure communication
    - Sprite animations
    - State variables & tokens
    - Two-way data communication
    - Expanded control options (sliders, toggles, multi-choice)
    - PC-assisted layout tools


    A few things to know:

    For the time being, layout is done by editing an XML file. There are some good examples packaged with the app and a fairly comprehensive reference manual. There's also a feature called Layout Mode that uses the device itself to display changes in real-time (edit the XML on your server and it instantly appears on the device screen). Mac/Win based config/layout editing tools are in progress. The XML format is pretty easy to understand, and there's a DTD included so if you use a decent XML editor (XML Spy is nice), it'll warn you if the syntax is wrong.

    Also there are no media management capabilities built-in. There are two-way data capabilities coming but probably not to the extent of full media catalog browsing (a la MediaBridge). Instead, Andre can embed browser windows into any of its pages. This way, any of the really cool media interfaces people (Tim in particular) have been writing can be seamlessly included right in a layout.



    This is a beta, so there will be bugs and rough edges. I've run it on four different types of Android devices and none of them have started smoking or anything, nevertheless use at your own risk, etc.

    Check the included manual for quick-start instructions and a guide to some good example/tutorial layouts that are also included. Also check for tips in the original thread above (though please post any new questions there, I don't want to further pollute that thread) or ask questions in this thread.

    The file can be downloaded here: Andre 1.0.3b

    Thanks for giving Andre a try! I welcome any comments and suggestions. I'm adding features and fixing bugs pretty fast, and will update this post as they're available.

    Luke

  2. #2
    Join Date
    Jul 2005
    Location
    Gliwice,Poland
    Posts
    120

    Default

    Hi,
    after a short play with Andre 1.03b on my Xperia X8 i would like to report some problems with:

    1. Layout refresh has some problems refreshing LocaleDefs defined in the config.xml.
    When i edit this file (add new <LocaleDef id) and then hit Menu->Refresh on my device, no new locations are available under Change Room menu option.
    2. 'Back' button on my device doesn't close Andre - nothing happens when i press it.
    3. New 'Layout Refresh Delay' setting doesn't seem to work. Every time i change my config.xml, i need to refresh layout manualy by 'Refresh' menu button.
    Maciej Wąchalski

  3. #3
    Join Date
    Mar 2007
    Posts
    277

    Default

    Thanks for the report. I'll take a look at the LocalDef issue.

    The back and search buttons are intentionally not mapped to any default function so they can be used as hard-buttons for remote functionality. You can however define a behavior (either on a button on the screen or assigned to the hard-buttons) that does trigger the system home/back/menu functionality using the 'keyTrigger' Parameter. By default the Home button is still mapped to return to the Android home screen as a way to exit the app (though you can override the home hard-button too if you wish).

    The Layout Refresh Delay is only in effect when you click Menu->More->Layout Mode, are you enabling this? I know it's not labelled well and it isn't in the manual; that was the last big feature I started adding before I cut the 1.0.3 release and need to polish it a bit and document it.

    Quote Originally Posted by woniol View Post
    Hi,
    after a short play with Andre 1.03b on my Xperia X8 i would like to report some problems with:

    1. Layout refresh has some problems refreshing LocaleDefs defined in the config.xml.
    When i edit this file (add new <LocaleDef id) and then hit Menu->Refresh on my device, no new locations are available under Change Room menu option.
    2. 'Back' button on my device doesn't close Andre - nothing happens when i press it.
    3. New 'Layout Refresh Delay' setting doesn't seem to work. Every time i change my config.xml, i need to refresh layout manualy by 'Refresh' menu button.

  4. #4
    Join Date
    Jul 2005
    Location
    Gliwice,Poland
    Posts
    120

    Default

    Quote Originally Posted by HTLuke View Post
    Thanks for the report. I'll take a look at the LocalDef issue.

    The back and search buttons are intentionally not mapped to any default function so they can be used as hard-buttons for remote functionality. You can however define a behavior (either on a button on the screen or assigned to the hard-buttons) that does trigger the system home/back/menu functionality using the 'keyTrigger' Parameter. By default the Home button is still mapped to return to the Android home screen as a way to exit the app (though you can override the home hard-button too if you wish).

    The Layout Refresh Delay is only in effect when you click Menu->More->Layout Mode, are you enabling this? I know it's not labelled well and it isn't in the manual; that was the last big feature I started adding before I cut the 1.0.3 release and need to polish it a bit and document it.
    Thanks for Your reply.
    I tried 'keyTrigger' Parameter - 'home' and 'menu' values work well for me, but 'back' value causes Andre to close with en error. I defined it like this:
    <Button id="hard_back" hardButton="back">
    <Locale id="default">
    <Parameter name="keyTrigger">back</Parameter>
    </Locale>
    </Button>

    Layout Mode works well i can see config.xml request in Girder every 500ms or so.
    Maciej Wąchalski

  5. #5
    Join Date
    Mar 2007
    Posts
    277

    Default

    Quote Originally Posted by woniol View Post
    Thanks for Your reply.
    I tried 'keyTrigger' Parameter - 'home' and 'menu' values work well for me, but 'back' value causes Andre to close with en error. I defined it like this:
    <Button id="hard_back" hardButton="back">
    <Locale id="default">
    <Parameter name="keyTrigger">back</Parameter>
    </Locale>
    </Button>

    Layout Mode works well i can see config.xml request in Girder every 500ms or so.
    It may be that 'back' isn't defined by default for the app type Andre is (a singular task), but perhaps I can enable it. I assume you'd want it to return to the app/launcher from which you launched Andre?

    Glad to hear Layout mode is working for you. I was really surprised how useful it was for tweaking designs. My intention is to create a simple tree-style editor for the PC/Mac to edit the config.xml in (so all the Parameters, attributes and syntax are are handled for you), and I think that plus Layout Mode will make for a pretty capable editing solution.

    I'm thinking of exporting screenshots from the device up to this PC/Mac app so you don't have to stare at the device while editing. This way you get close to PC-based WYSIWYG editing that is guaranteed to look *exactly* like it will on your particular device without me having to basically re-implement all of Android's layout functionality on the PC and deal with different screen sizes, densities, OS anomalies, etc.

  6. #6
    Join Date
    May 2004
    Location
    France
    Posts
    250

    Smile

    Great project ! I used Netremote on my winmo phone since several years, but since a few weeks, I played with Android and I prefer it to Winmo.
    As no port of Netremote on Android was expected, I start created HTML with Girder webserver but as you notice it, it was not as good as netremote.

    I just discover your project. I will start to use it but I need to know If it will be possible in the future to display values from Girder variables ?

    Thanks for this answer

    Edit : I read your last posts and I saw that it will be possible in the near future ... Sorry for this bad question.
    Last edited by rgouyet; February 21st, 2011 at 05:22 PM.

  7. #7
    Join Date
    Mar 2007
    Posts
    277

    Default

    Quote Originally Posted by rgouyet View Post
    Great project ! I used Netremote on my winmo phone since several years, but since a few weeks, I played with Android and I prefer it to Winmo.
    As no port of Netremote on Android was expected, I start created HTML with Girder webserver but as you notice it, it was not as good as netremote.

    I just discover your project. I will start to use it but I need to know If it will be possible in the future to display values from Girder variables ?

    Thanks for this answer

    Edit : I read your last posts and I saw that it will be possible in the near future ... Sorry for this bad question.

    No Worries, there's a lot of scattered info around. To be thorough anyway, yes you will absolutely be able to interpret, evaluate and display any values from the web service results.

    This feature is the next big chunk I'm working on, and integrating it tightly and effectively is taking time, and I keep getting distracted by other shiny features (just enabled Live Wallpapers (Thanks Quixote for the suggestion!) as a background and am almost finished with a really flexible sprite-animation implementation for Button images). Hopefully within the next couple of weeks pieces of the variable/data display component will start trickling out.

  8. #8
    Join Date
    May 2004
    Location
    France
    Posts
    250

    Lightbulb Enhancement (several API)

    Hi,

    I'm using Girder as backend for Andre.
    I will love to be able to mix several API behind my buttons.

    I'm using the Device Manager functionality.
    For example, sometimes I want to use the ajax_set_control.lhtml file instead of the ajax_sendevent.lhtml.

    Could it be possible to add a "ServiceAPI" parameter to be able to set an other API file (like the serviceUrl )?

    Thanks,

    Romain

  9. #9
    Join Date
    Mar 2007
    Posts
    277

    Default

    Quote Originally Posted by rgouyet View Post
    Hi,

    I'm using Girder as backend for Andre.
    I will love to be able to mix several API behind my buttons.

    I'm using the Device Manager functionality.
    For example, sometimes I want to use the ajax_set_control.lhtml file instead of the ajax_sendevent.lhtml.

    Could it be possible to add a "ServiceAPI" parameter to be able to set an other API file (like the serviceUrl )?

    Thanks,

    Romain
    Excellent suggestion, I'll add that immediately and roll it into the next beta release, which I should have by the end of the weekend provided I don't get sidetracked.

    Funny, I've had serviceUrl as an optional parameter from the start; how useless is that without an accompanying serviceApi parameter! I guess you could be calling more than one Girder server with the same API entry point...

    Luke

  10. #10
    Join Date
    May 2008
    Posts
    119

    Default

    I was editing an example config file today. When I went to load it I kept getting forced closed when I run the app. I tried putting the original back but still kept getting forced closed. I uninstall app and then put back in but I am still getting force closed when I try to start up. I get the splash screen now and I can get to the settings screen but I don't have enough time to change anything before I get a force closed message.

Page 1 of 60 1231151 ... LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •