PDA

View Full Version : Android App



Jlee
June 19th, 2012, 06:14 AM
In the past I spent a huge amount of time designing and building a CCF for use on a notebook and PPC but my days of spending hours designing and coding stuff are long gone. Also I don't have time to read or keep up with a single 56 page thread about an Android Client. So I thought it easiest to just pose a few simple questions in a new thread...

Is there a functioning android app available which could run an existing CCF?

If a conversion of a CCF is needed how difficult would this be?

My CCF is just music based and uses quite a lot of GAC functionality in the CCF and Lua file. I'm pretty sure it will still be available in the downloads section if that still exists.

Any help much appreciated, cheers.

jwilson56
June 20th, 2012, 11:30 AM
The short answer is not that I can see. There are a couple methods being played with (a native android app that you can create something in and a webpage approach that is bypassing Netremote). For now I am using RDP to both my Droid 2 phone and my Kindle Fire and soon to my Asus Transformer T300 tablet. It is amazing how well it works. Very responsive and it lets you use your current CCF. There is a free RDP app for Android called 2X Client RDP that works very well.

Jlee
June 21st, 2012, 02:47 AM
That's a shame. Having done all the work in the past I have no desire to revisit the coding desk. I just want to be able to use my CCF on the latest devices. I guess this really means NR is dead in the water. Real shame but not that surprising as it was always a very niche product - great for the die hard supporters of it but I guess newbies were always going to use alternative products as they were usually easier to set up.

rkirmeier
June 23rd, 2012, 10:06 AM
I used the RDP option for a while and it worked OK. Never liked that there was no support for hard buttons and you couldn't hold you finger on a button otherwise I worked well enough to use my existing CCF. I have however been using Andre (Android app) for over a year now and really happy with it. Not at the level NetRemote was but tons of potential and some very unique features that NetRemote never had... For me, the ability to naively support Android was a must and it was obvious NR was acknowledging the need for native Android and IOS support.

yamy125
June 23rd, 2012, 04:33 PM
I suggest everyone takes a look at Andre if you are interested in native Android support. The app is advancing in leaps and bounds and Luke is really putting in some neat features that are so flexible and just plain awesome in all honesty :)

Over the last couple of weeks, Luke has developed tcp transport and has full 2-way feedback working with my TCP lighting system here (Clipsal C-Bus), which I'm so impressed with. This is outside of Girder and direct with system, but there is also all the Girder integration possibilities too. The app literally is that flexible that it opens a world or options here.

This app is the future for Android and home automation - get onboard and support Luke!

njsteele
October 26th, 2012, 07:58 AM
I tried to support Luke but there is no download link in sight... the link on the forum is broken, the website is barren, the wiki is empty, his forum is empty, and the only play store app is a $20 beta that says don't buy it unless you are already a beta member and there is no description on the app or site on how to partake in his beta... Any ideas on how to get this thing?

rkirmeier
October 26th, 2012, 12:56 PM
I've worked directly with Luke for over a year now and I must say he is one of the best developers I have ever worked with and I've worked for 2 companies now with a development department. He is currently working really hard to get samples and documentation available in addition to a free version. Once this is done he'll be back to adding new features and he is VERY supportive of suggestions and recommendations. The $20 for the beta was a no brainer for me when it came to the market. I think he checks in the on the main thread once in a while so try posting over there. I assure you his absents here is not a long term concern for the future of Andre. He really is an amazing developer and is dedicated to getting Andre to a public release with documentation then continuing to improve Andre.

HTLuke
October 26th, 2012, 02:31 PM
Hi NJ,

I've got a free trial version of Andre ready to go into the market, I'm only waiting to release it so I can get the demo/getting-started config finished and put the first round of documentation on the wiki. I'm a very conservative developer, not wanting to frustrate users with a half-finished product, and I tend to over-engineer and obsess about polish, which has drawn out my timeline considerably.

The trial will be fully functional in every respect, with only an occasional nag screen when buttons are actually used (meaning you can use it to create configurations and test things as much as you like).

I try to be extremely responsive via email (luke at andreapp dot com) to any questions, and I've recently configured and opened the forums at andreapp.com to begin handling support there. Considering the state of the current release (and more specifically the age of the included config.xml and documentation), it would probably be difficult and frustrating to join the beta at this point, so I would suggest keeping an eye out for the release of the free version so you can try it out without commitment or obligation. I'd very much like to release this as early as this weekend, but I've shot for and failed to do that several times now, and I don't want to get anyone's hopes up further. :)

I'll post here when it is available though.

njsteele
October 26th, 2012, 04:54 PM
Well that was a fast and good response :)

Thanks. I would really love to try it out, as I'm sure would many others. I look forward to it's release. :)

HTLuke
October 26th, 2012, 05:19 PM
I'm very excited to get it into more people's hands. Thanks in no small way to the beta testers who have suggested features and hammered on it now for well over a year, there's a healthy amount of flexibility and power available, and I'm very anxious to see what people can do with it!

My only concern now is to make sure all the flexibility is actually comprehensible by people other than myself. It doesn't do anyone any good if the power is there, but it's so convoluted or undocumented as to be impossible to figure out! :D

jwilson56
October 26th, 2012, 10:24 PM
Could you give a brief summery as to the capabilities for Andre. Does it support Mediabridge? Any screen shots?

HTLuke
October 27th, 2012, 01:41 AM
Sure.

To answer the Mediabridge question first, there's no native support right now, however I believe Andre's TCP capabilities would make it possible today if you had a good idea of the protocol communication syntax. Since I believe MB is pretty elaborate, I've considered adding direct support to avoid that necessity, if Promixis would be ok with it.

As for capabilities, Andre is best described as a universal control interface. At its core, it can communicate with anything that uses TCP or HTTP, and is capable of doing so in fairly advanced ways. I'm also working on native UPnP support so it can easily behave as a control point for UPnP devices.

The UI paradigm consists of one or more pages that contain any mix of half a dozen control types (buttons, sliders, lists, browsers, text, images) that can be arranged pretty much any way desired through alignment, grouping, and margins settings.

Buttons are where the majority of the functionality lies. They have five distinct actions (display, touch, held, repeat, release) to which any visual or control behavior can be set. They are also capable of being stateful, representing different look/behavior based on the state you set them to (of which you can have as many as you like).

Visually you have complete control of buttons with image backgrounds, tinting of images, labels with custom font support and an array of display options, animation (sprite animation or move/scale/rotate/alpha), and borders and fills. One common example is to have a typical button image set on display/release, and have that same button image tinted a color, perhaps scaled down to 90% on touch, held and repeat so as to appear 'pressed'. But you can do pretty much anything you wish, including trigger animations, change font/label, etc. Assets like images can either be referenced locally on the device or fetched from a remote web server on demand.

The list of functionality Buttons can trigger is pretty long. For server/software control purposes, there's calling web services or triggering TCP exchanges, which includes capturing responses into variables and doing things with the values. But there's also user interaction (dialogs, speak text, vibrate, prompts, play sound) and device control (launch system browser, searches, other apps, trigger Android intents).

The other controls (called 'entities' within Andre) have some pretty elaborate capabilities too but aren't nearly as sophisticated as Buttons.

In addition to the user interface itself, there are also the following capabilities:

- Advanced TCP automation scripts (including persistent connections)
- Javascript scripting
- Complex timers (countdown/scheduled)
- Large data set arrays (intended for things like IR code databases)
- Variables (store and manipulate data) & tokens (use variables directly in-line for Button parameter values)
- Locales (create any number of locations/rooms and (optionally) change Button behaviors depending on which locale you're in)

You can either choose to create your layout by hand-editing an XML file that gets loaded (fairly difficult right now, since the syntax documentation is ancient) or use on-device GUI editor tools, or a combination of each. The editor is pretty advanced, though there are still some elements that need polishing at this point (mostly around specific button parameter types to make them easy to configure). There's a concept of an Entity Gallery, where you can store any piece (or group of pieces) of layout, exactly configured the way you want, and then clone and recall that piece to create more of them. This gallery is also extended by an online community gallery accessed within the app; you can publish your layout components to it and/or fetch others' components for your own usage. For example, one of the things I threw in the online community gallery originally is a full number pad and a cursor control set of buttons, and I recently put in a single button that contains Girder event control built in; you just need to fill in your IP, device number and event string.

Ok, that wasn't even remotely close to brief, my appologies. :) There's a lot more there, too, like controlling Andre through the Google cloud (set variables or trigger buttons) over the internet which is really neat.

As for screenshots, for starters you can see the fairly old images associated with the Play store entry for Andre: https://play.google.com/store/apps/details?id=com.buriedalive.andre but I'll try to get something from the demo config up soon too. The images on the Play store page show the Button parameter editor, and one of my old test pages (for my own system at home) with an edit dialog popped up to change the color of a border or something.

If you have any functionality questions that I didn't cover here, please feel free to ask.

quixote
January 2nd, 2013, 04:02 PM
Luke,
Are you still around? I haven't seen any posts by you lately and there hasn't been any activity on your website recently.
I tried to reach you via the support email and it failed. I then posted a thread on the forum to let you know, but there has been no response.
I hope everything is going well and it would be great if you could let us know how development is progressing.
Thanks and happy new year.

-D

HTLuke
January 2nd, 2013, 05:06 PM
Hey, I'm still here. :) Apparently there's a problem with the mail setup for andreapp.com, which means not only have I missed support emails, but forum notification emails as well. :( My appologies for that. I will get it fixed right away.

I literally have one bug to resolve before I'm releasing 2.1.0. I have been working on docs and examples/demo configuration but as I worked on those, I found deficiencies with the app that made some real-world uses cumbersome. So over the last month or so I've added several very nice enhancements to address these issues. I'll have a detailed change-list on release, but here's a summary of what's been added:

- Revamped gestures, attached to Entity Groups instead of Buttons
This lets you create multiple gesture areas on the screen at once that call Buttons. So you can have, for example, a thin EntityGroup on the left side of the screen that catches a right-fling to slide out a panel from off-screen, another Group filling the top-half of the screen that catches a right-fling to do channel up, and another Group filling the bottom half of the screen that catches a right-fling to trigger a 'cursor right' command. Previously you could only create one fling per direction (up/down/left/right) per page which could be done anyhere on the screen. You can now, of course, create one group that is screen-sized to re-create how it used to work.

- Added an 'overlay' layer
Previously, there was a single view on the screen where you loaded a page into. If you wanted to have something common on multiple pages (navigation, a clock, a number pad, etc.) you had to literally clone the entity to all pages, which bloated memory and slowed down loading considerably. Now there's a single 'overlay' layer in addition to the existing page view. It functions very similarly to the normal layer, you simply create a normal page and assign it to the overlay layer, either by default in the Remote configuration settings, or via Parmeter call as a function of a button. This is great for navigation elements, common stuff like numeric keypads or cursor pads, pop-ups for notifications/status, Android widgets, etc.

- Enhanced 'linear' layout mode for EntityGroups
So there's always been EntityGroups which allow you to group children entities together. Originally, you'd lay out these children by aligning them against each other in various ways (e.g. Button2 is aligned to the right of Button1). Then I added the ability to turn on 'linear layout mode' which makes an Entity Group automatically just line children up in a row or column, which made it easier to create layout with rows of buttons. But it was very limited; if you wanted any space between children, you had to use the margins on each child, and if the items didn't fit, they just squeezed in at the end. I enhanced this greatly by enabling wrapping of the children, specifying a group-level horizontal/vertical spacing between items, the ability to force wrapping at a certain number of children per line, and more. This lets you very quickly create not only rows or columns of buttons, but entire grids too. On top of all that, you can use it at a higher level in your layout to more gracefully handle different screen sizes (either because of rotation, or using multiple devices). You can put normal Entity Groups inside a new linear entity group and let your layout flow based on the screen dimensions.


These enhancements should make it much less painful to do complex and flexible layouts, and get ramped up quickly. I'll be fixing the last known bug today, running it through some tests, and pushing 2.1.0 live to the market. Very shortly after I'll be pushing out the new demo config, the 'trial' version (works 100% with an occasional nag screen) and start rolling out documentation to the wiki.

quixote
January 2nd, 2013, 05:15 PM
Thanks! Glad to see that you are still enthusiastic about your product!
Will you be able to show us how to use Andre with Tasker as well? I'd like to send events to Girder based on Tasker events on my phone. Maybe a simple example as well as how to send the Caller ID from my phone to Girder as a payload?

HTLuke
January 2nd, 2013, 05:26 PM
Thanks! Glad to see that you are still enthusiastic about your product!
Will you be able to show us how to use Andre with Tasker as well? I'd like to send events to Girder based on Tasker events on my phone. Maybe a simple example as well as how to send the Caller ID from my phone to Girder as a payload?

Yes, this should be trivial. I'll cook up an appropriate example and put it in the wiki.

watch
July 30th, 2013, 01:52 AM
Hi Luke

Is documentation for your Andre project still "coming soon" - what's the ETA on the wiki?

Also, do you have an example Andre slider for volume changes via girder? Pre Andre, I had to use a modified sendevent to allow for 2 payloads - one to identify the Event (RcvrVol) and a second one for the volume value.

ylaviolette
April 27th, 2014, 12:45 PM
Hi HTluke, are you still around, any new release pending? I am also interested in an example of slider usage for Girder, thx

rkirmeier
January 27th, 2015, 06:44 PM
I had used Andre for a couple years but the developer is IMA and its a shame because he put a ton of work in Andre and I had a lot of work into my config. I had worked directly with him on alot of ideas for Andre. Although it worked good I had become bsessed with the idea that a remote interface should be an overlay instead a standard full screen app. I had been using tasker for years and decided to play around with tasker scenes which will overlay. As usual I became obsessed with the project and in just a couple months I built a complete remote in tasker scenes that is launched by a swipe or home button long press that overlays any app. I can be streaming video on my tablet and launch the remote without any interuption to the video. Having all the power of tasker under the hood is just a bonus. I can also control other android devices with tasker/autoremote. Overall very happy with this solution and have not touched Andre since I got the basic interface up and running. At first I missed being able to develop the interface on my pc but after a while I preferred doing it all on my tablet as I run it direct from tasker on the tablet so I just make simple fixes on the spot and don't even have "reload" all the time. I then export as a app via Tasker App Factory for my phone. The only major issue with tasker scenes is that there is a scaling option and its all based on coordinates so going to a device with a different resolution (minor differences are fine) its a mess. Luckly my tablet (Note 12.2) and phone (LG G3) have roughly the same resolution so thats not really an issue for me but worth noting...