PDA

View Full Version : NR needs iPhone and Android Support to Survive?



jwilson56
March 28th, 2010, 09:47 AM
Do you think Netremote needs to have iPhone and Android support to survive in the coming years?

jumbodogs
March 28th, 2010, 02:54 PM
I know I have said this in a few other post and I only keep saying it because I really think there are a lot of people out there that don't understand how much can be done in HA with Girder/NR setup. NR really needs to support both to get those people on board.

VicVonDoom
March 28th, 2010, 08:04 PM
Heres my 2 pence...

1. Keep Girder Girdering as is.

2. Keep NetRemote as is for windows/ppc/ce with the fantastic scripting/designing capabilities from NRD and comms to Girder.

3. Build new version "i-Netremote" with limited capabilities due apple's non negotiable no scripting policy and allow people to try it free for 30 days and then realise they need the scriptability and offer a reduced purchase on the windows version (see point 2) that they should have bought in the first place.


Sorted. Jim for president. I like beer. A lot.

jwilson56
March 28th, 2010, 08:10 PM
I have been trying to get an idea of how 'other' packages handles their iPhone and I am thinking it might be some version of a dedicated RDP into the server. If that is the case then you could have the scripting on the server and the iPhone would be a portal. Don't quote me on this as like I have said I am still trying to get some info on how it does it.

VicVonDoom
March 28th, 2010, 08:15 PM
Fair point.

Hows about this scenario...

I'm upstairs, she's downstairs & junior vicvondoom is in his room.
Who gets control? Do we all see the same? Do we need a £million video card to get sepaerate RDP screens just to see different stuff at the same time?

I can do that all with my netremote's...

Rob H
March 28th, 2010, 08:19 PM
Well, NetRemote could implement its own RDP server (or something similar) and render directly to that rather than to a normal window. That's rather how I would envisage it working.

VicVonDoom
March 28th, 2010, 08:24 PM
Just so i'm clear here...Are you suggesting that NR could (in future theory) run multiple instances on the server & each i-whatever would connect to its own 'private' instance..?

Kinda like a multiple NR monitor setup, But via RDPism..?

vitello
March 28th, 2010, 10:13 PM
I have to agree that NetRemote without support for iphone (or i-something), android, or
Windows Phone 7 is likely to be a dead end. Microsoft will continue to support windows ce for business use,
but I doubt that many people will use a business ce device for home automation use. Win 7
on tablets may have some NetRemote users, but there are going to be a lot more smart phones than tablets.

NetRemote is far in advance of other software for interface development as far as I'm concerned.
It would be a shame to have it stuck with an operating system that such
a small share of the mobile device market.

Peter

jwilson56
March 28th, 2010, 11:30 PM
Just so i'm clear here...Are you suggesting that NR could (in future theory) run multiple instances on the server & each i-whatever would connect to its own 'private' instance..?

Kinda like a multiple NR monitor setup, But via RDPism..?

I am getting the impression this is how some others are doing it. It would make sense to do somthing like that so that your could still keep a lot of the functionality we now have on a device that can't handle it.

Manser
March 29th, 2010, 02:25 AM
It works perfect with a rdp client on the IPhone, I don't see your problem!!!

Create as many rdp user as you need on your server and you can connect to your on private NR instance.

And if your client is crashing, reboot and reconnect and you are where you have leaved the application! If I think at all the reconnect problems on the ppc's!!

Rob H
March 29th, 2010, 08:27 AM
Just so i'm clear here...Are you suggesting that NR could (in future theory) run multiple instances on the server & each i-whatever would connect to its own 'private' instance..?

Kinda like a multiple NR monitor setup, But via RDPism..?

Yes, that's the theory.

NeoMorph
April 19th, 2010, 03:51 AM
The iPad seems the ultimate for a home system remote... I'm amazed that nobody has commented on this piece of kit for their home automation setup.

Downside with the iPad is... IT'S TOO DARNED EXPENSIVE (like all Apple stuff is these days). £400 for the 16gb model is waaaaayyyyyyy too much.

quixote
May 4th, 2010, 09:44 PM
I sprung for the Motorola Milestone (aka droid) and I think that I made the right decision. This thing is awesome! It's like a super-mini laptop with a mobile phone and wireless internet access anywhere as a bonus. I'm actually browsing the forum and responding from it right now.
I really, really hope that Netremote adapts to the times, because it would sadden me greatly to abandon it (and Girder, too, I guess, since NR is G's front-end).
Please implement Android operability! Google is poised to cut Apple down to size.

tmorten
May 4th, 2010, 10:06 PM
Right at this second, control pages served from Girder's webserver are the best way to get up and running on both iPhone and Android (or any other platform with a full-featured browser). There's a thread that scratches the surface of this a little bit here: http://www.promixis.com/forums/showthread.php?t=20529&page=3 -- down the road, hopefully platform support will only grow!

Best,
Tim

scriptx
May 24th, 2010, 01:32 PM
No iphone support has kept me a lurker (and non-purchaser) for... hrmmm... at least 6+ months... I recently started looking again because of divorce and the ex-wife got the house, with the alarm, home automation equipment, etc.... So, I am back in the market and looking for things on the cheap. I stopped by the forums first to see nothing has changed and then I checked the price and I am even more disappointed. There are full systems for the same price NR/Girder support that offer native iPhone/Driod clients. Promixis is going to die a slow death with systems like elve entering the market due to price and a general lack of supporting new technologies.

mpg732
May 24th, 2010, 04:21 PM
Have you taken a good look at Elve. The prices for the pro version is over 800.00. The other versions are some what limmited, IE how many touch screens you can have, limited support. I think we all agree, Ipod, ipad, suport is needed and is comming, but for the price I'm sticking with netremote

scriptx
May 24th, 2010, 06:29 PM
Yes, I looked at Elve. I don't think most people need distributed automation servers, unlimited touchscreens, I'd be happy with the $99 dollar license with 3 touch screens, one automation server and 15 device drivers (ELK, IR, Email, MCE, IP cameras for 4 drivers). However, I thought I could do it even cheaper and start off with girder and build up from there, e.g. when DVD inserted, stop playing whatever is on iTunes and work up to automation as I slowly buy everything. However, I figured the price would be cheaper given the competition.

justinm001
May 27th, 2010, 08:55 AM
Keep it with Windows mobile. All the apple and android support just causes more headaches since everything needs to be approved and everything from their stores.

mpg732
May 28th, 2010, 12:16 PM
The thing is right now every one is on this kick, because of the Ipad, every one wants Ipad and Iphone support. I understand why every one wants it, but to keep comming on the forums and saying Netremote is dead and or dieing because of no Iphone/Ipad, is just the wrong way to get you want.

tmorten
May 28th, 2010, 01:08 PM
There's a short tutorial on hooking up a button on a webpage to control an IR device here: http://www.promixis.com/forums/showthread.php?p=141330#post141330. Obviously this isn't a full setup, but it's a first step to help port your NetRemote layout to run in a web page.

Having gone through the transition from NetRemote to Girder webserver myself, this is a great way to get your setup running on iPhone/iPad/Android/Windows Phone 7. No new "app" needed, other than Girder of course. :)

Cheers,
Tim

Imagexx
July 23rd, 2010, 11:38 PM
I have to jump in on this one. I have 3 iphones in my house, I hope that they would provide support for it. I have not bought NR and wouldnt as is but would buy NR in a heart beat if it supported Iphone. I see 100's of iphones and droids in a weeks time and maybe 10 Blackberry's but I cant remeber ever even seeing anyone using a Windows mobile device in the last year. ATM I'm using hippo remote app.

Kaoh
July 25th, 2010, 07:27 AM
I could care less about iPhone, but since Android is making a killer attack on the embedded OS level for cheap tablet, picture frames and television sets I would like a version compatible for that.
Next I do hope this app will see a new version in the future and I believe iPhone popularity can give some income for the developer I do think it is wise to make these clients or iPhone and Android. But I also agree that the power of the windows version should be kept alive, there is a reason why I do not iPhone and Android, and that is the freedom for devs to build really cool apps and release them. And stripping the best features out to make it compatible with iPhone requirements for example would hurt ;).

Imagexx
July 28th, 2010, 11:38 AM
I agree 100% that they should keep the windows version whole but add support for the more current phones even if its limited on the iphone.

tmorten
July 28th, 2010, 01:32 PM
I'd really encourage everyone who is interested in iPhone and Android support to check out Girder's webserver.

1. Renders standard web pages that should work on any device
2. Also offers pages that have been formatted specifically for iPhone
3. Easy to create customized pages
4. Ability to use third-party HTML design tools
5. By its web-based nature, provides one centralized interface that can run on many different devices

Don't get me wrong - I love NetRemote, and I've spent more time than I care to admit crafting my NetRemote setup. However, I was able to move 100% of my NetRemote interface and functionality over to Girder's webserver, and I haven't looked back since.

Stability is rock-solid. Performance is great on devices with modern CPU's/modern browsers. Admittedly, my old-school Dell Axim's have gone in the junk drawer, but between all the Apple touch devices, all the Android touch devices, Windows tablets like the Samsung Q1, and all the forthcoming Windows Phone 7 devices, there's no shortage of good choices.

If you want a dedicated interface on a Windows device, NetRemote is great. For everything else, Girder's webserver is a fantastic solution.

Best,
Tim

tmorten
July 28th, 2010, 02:08 PM
Here are some shots of my NetRemote pages after I recreated them on the Girder webserver...

There's definitely a learning curve involved, but the results are great!

Cheers,
Tim

justinm001
July 29th, 2010, 10:10 AM
I'm very anti apple but have an ipad laying around, and can't seem to find a comparable windows tablet yet (should be a bunch next year).

Does the webserver act 100% the same as netremote does? I know you were able to bring all the functionality from netremote to the webserver but do you like it the same or better?

I don't want to spend countless hours setting up the webserver if its not going to be as good as netremote.

thanks for all your help

tmorten
July 29th, 2010, 11:31 AM
The short answer is that I have found the webserver capable of handling everything that I was using NetRemote for, and I don't feel like there are any compromises in my current setup versus my NetRemote setup. Stability is great, and I have no performance issues now that I have ditched my ancient Dell x51 PDA's.

For a more detailed answer, I'd say the following:

Webserver Pros
1. Works on any device with a modern CPU and browser
2. Able to control anything that can be controlled by Girder (my setup includes Insteon, Elk, GlobalCache, MediaBridge/W7 MediaCenter, etc).
3. Able to leverage 3rd party libraries (JQuery UI, or even Flash/Silverlight if desired)
4. Easy to incorporate other web content, including video
5. Provides one central source for interface - no more copying files to each client
6. Easy remote access/control

Webserver Cons:
1. There isn't currently an integrated GUI for authoring, so no equivalent to NRDesigner
2. If you want to customize, requires learning at least HTML, Javascript, and LUA
3. If you want to customize, requires learning how AJAX works, and understanding how to leverage LUA in conjunction
4. If you want album cover support, you'll need my experimental version of the MediaBridge component (available in this thread: http://www.promixis.com/forums/showthread.php?t=20675)
5. Cross-browser compatibility (IE, Firefox, Chrome, Safari, Opera, etc) takes extra work (but may not be important to you). This isn't unique to Girder's webserver, but an unfortunate fact of life for any web development.

Just as some client devices were underpowered for NetRemote, some mobile devices are underpowered for browsing, or have browsers whose presentation is not ideal for being used as a control surface. Test this on your device before you spend a lot of time developing a web interface only to discover your device or browser has caveats.

Some examples of browsers that probably are not good choices: The current implementation of IE on WinMo is not compliant with many web standards, and really isn't up to the task. Opera Mobile 10 seems to zoom every time a button is pressed... which is not great for this application.

Not to wax philisophical, but I believe that the browser is going to be the future home of all applications. Google is obviously already making a concerted push in that direction, but even Microsoft is now offering a web-hosted version of Office, and Adobe has a big web-hosted app push going on internally. I believe that dedicated "apps" are going to seem very "2010" in the not so distant future.

FWIW, all the work that Ron is doing on the new PEAC software is 100% browser hosted. :)

Best,
Tim

Kaoh
July 29th, 2010, 02:05 PM
I paid for Netremote, not Girder. I do not think that this discussion can be ended with an "use another program". Even if you guys make it.

Solosid
July 29th, 2010, 02:16 PM
3. Easy to create customized pages
4. Ability to use third-party HTML design tools



Tim,

3. any chance of releasing some generic pages?

4. can you elaborate on this?

I have no problem in using the iPhone or touch to control music and automation...I just dont know how to.

I think if Promixis realease some generic pages so people could alter and adapt
the wheel would start to turn....and people would gain interest in the G5 Webserver.

I know from controlling the webserver that comes with G5, with my iphone the response is instantanious....

So somebody start the momentum!

Cheers

Mark

tmorten
July 29th, 2010, 02:30 PM
3. any chance of releasing some generic pages?
The default installation of the webserver includes useful pages for controlling the Device Manager, and also includes pages that have been specifically formatted for iPhone. All the source for these pages (and some other examples) is in Girder's HTTPD directory and its subfolders. You can use these as the basis for your own custom designs, or just learn from the techniques these pages use and create your own from scratch.

There is a basic example of how to send an IR command here: http://www.promixis.com/forums/showthread.php?t=20636
There is a fairly extensive LHTML interface provided along with the custom MediaBridge example in this thread: http://www.promixis.com/forums/showthread.php?t=20675
There is a general overview on using AJAX in this thread: http://www.promixis.com/forums/showthread.php?p=140973#post140973


4. can you elaborate on [the ability to use 3rd party HTML design tools]?
There are a variety of 3rd party HTML editors that you can use to layout pages. These editors will not support Girder's unique feature of embedding LUA into your page, but you can still use them to do the layout before you add LUA calls. For instance, you could use Adobe Dreamweaver to create a graphically rich HTML layout, and then open up the HTML file that it generates and add your own LUA.

Best,
Tim

Solosid
July 29th, 2010, 02:59 PM
Hi Tim,

When you open the iphone index page in Frontpage it only shows the background image and header, basically the HTML stuff
this makes it difficult to learn the device stuff and how the code looks and behaves.

I learn by playing with examples and breaking them, so I can say 'thats how that does that'....not by 'if I do that will this do that'

so when I look at all the lua and js stuff it scares me....

cheers

Mark

tmorten
July 29th, 2010, 03:03 PM
Hi Tim,

When you open the iphone index page in Frontpage it only shows the background image and header, basically the HTML stuff
this makes it difficult to learn the device stuff and how the code looks and behaves.

I learn by playing with examples and breaking them, so I can say 'thats how that does that'....not by 'if I do that will this do that'

so when I look at all the lua and js stuff it scares me....

cheers

Mark

Tools like Frontpage are great for layout, but if you want to get into changing functionality, I'm afraid you'll have to dig in and check out the Javascript and LUA. :) But I totally understand where you're coming from!

I recommend Notepad++ (http://notepad-plus-plus.org/) - it's a great free editor that has built-in syntax highlighting.

Cheers,
Tim

Solosid
July 29th, 2010, 03:32 PM
Hi Tim,

is that similar to Scite?


Cheers

Mark

tmorten
July 29th, 2010, 03:37 PM
I'm not familiar with Scite, but from a quick surf of its homepage, Notepad++ looks like it serves a similar role.

Cheers,
Tim

justinm001
July 29th, 2010, 04:00 PM
it seems like it would take 10 times the work to recreate as a webserver. I know html but know minimal about lua.

Can you have girder change the page on the webserver like you can with netremote?

I know that web browsers might be the future for some stuff but for dedicated devices I can't really see this happening. My dream netremote would be a 10" or so tablet with netremote basically as the OS. I'd be able to create a homepage with weather, RSS news feeds, my calendar, google search box, and some other things. Then we'd be able to click on the weather and it'll pop up the weather then google something and it'll open google in a webpage. I'd then be able to close it and be back to my netremote homescreen. I think this would be better than a simple webpage that would be very easy for someone to exit out of. I expect netremote to be a remote and not a webpage to control stuff.

Having a webserver with girder is great if I'm away and want to makesure everythings turned off and okay but I can't see it being my main remote control.

tmorten
July 29th, 2010, 04:12 PM
it seems like it would take 10 times the work to recreate as a webserver. I know html but know minimal about lua.

Can you have girder change the page on the webserver like you can with netremote?

I know that web browsers might be the future for some stuff but for dedicated devices I can't really see this happening. My dream netremote would be a 10" or so tablet with netremote basically as the OS. I'd be able to create a homepage with weather, RSS news feeds, my calendar, google search box, and some other things. Then we'd be able to click on the weather and it'll pop up the weather then google something and it'll open google in a webpage. I'd then be able to close it and be back to my netremote homescreen. I think this would be better than a simple webpage that would be very easy for someone to exit out of. I expect netremote to be a remote and not a webpage to control stuff.

Having a webserver with girder is great if I'm away and want to makesure everythings turned off and okay but I can't see it being my main remote control.

To answer your first question, yes, changing pages is straight-forward in the webserver.

From a user perspective, there should be no material difference in functionality between a browser-hosted application and a native application. The way that you implement is different. Running in a browser has the inherent advantages of:
1. Being server-based
2. Being cross-platform
3. Being easy to integrate with other web content

Point number 3 is a big part of what you're describing in your idealized vision, so you are definitely a good candidate to explore the webserver!

When you say "dedicated devices", it's worth noting that although there's nothing to stop you from using iPhone as just a phone, one of the things that has made it ubiquitous is its ability to do many things. Webserver is similarly flexible: if you want to keep it running all the time and treat your device as a dedicated controller, you can. If you want to open another tab, or switch from the browser to something else entirely, that is also fine.

Bottom line: The centralization, portability, and integration with other web content that the webserver provides transcends native apps. There is definitely some work involved in creating customized pages, but the reward is well worth the effort in my opinion.

Cheers,
Tim

justinm001
July 29th, 2010, 04:51 PM
My question was can you change have girder change the page? Currently you can have girder change the page on a device using the netremote jump actions within girder. is this available with a webserver? This is nice because I can have it setup so when I come home and open the front door I can have it trigger the netremote change to lighting page so I can turn on the lights. But normally be on the "home" page. I can't see this happening with a webserver.

The problem with the webserver setup and maybe even netremote is if someone uses the remote then gets to google and closes out of the browser, they'll have to reopen the webserver or netremote. I wouldn't want netremote to be able to close on a device, only windows open inside of it. I can just see friends or family accidentally close it and i'd have to show them how to reopen it back up.

tmorten
July 29th, 2010, 04:54 PM
My question was can you change have girder change the page? Currently you can have girder change the page on a device using the netremote jump actions within girder. is this available with a webserver? This is nice because I can have it setup so when I come home and open the front door I can have it trigger the netremote change to lighting page so I can turn on the lights. But normally be on the "home" page. I can't see this happening with a webserver.

The problem with the webserver setup and maybe even netremote is if someone uses the remote then gets to google and closes out of the browser, they'll have to reopen the webserver or netremote. I wouldn't want netremote to be able to close on a device, only windows open inside of it. I can just see friends or family accidentally close it and i'd have to show them how to reopen it back up.

The webserver can jump to other pages when prompted by Girder; I do this extensively in my setup through the use of AJAX. For example: if a control page (let's say for a television) is open on one client, and that device is shut down using another client, Girder causes the open page on ALL clients to jump to the home page. This is accomplished by running a background timer in javascript which regularly sends an AJAX request to Girder to check status. If the status comes back indicating a shutdown, the jump is triggered. On the client there are only three steps: an AJAX call, and if statement to look at the result, and a jump when appropriate. The whole thing is less than 10 lines of javascript. On the server, it just blasts out a variable value that has been updated elsewhere; literally one line of LUA code. This same technique can be used for any "forced" jump that you want to trigger.

With regard to closing the browser, I run my browser in full-screen mode. If you want to have embedded elements, such as a Google search window, RSS feeds, etc, you can have these coexist in a single layout with your Girder controls, and eliminate the need for other tabs.

Cheers,
Tim

PS - If you decide to experiment with a webserver setup, and have implementation questions such as how to trigger jumps from Girder rather than from user input, feel free to PM me.

kwaugh
July 30th, 2010, 06:34 PM
After only a few hours, I've been able to create a few pages that duplicate the functionality of my netremote pages (not tackling the layout stuff yet, just the functionality).

Once you get the hang of AJAX, it's not too bad at all.

Of course, it's not as easy as using NRD, but you can definitely get the job done.

One area I'm puzzled by is how to get access to JRMC. The basic transport commands are easy, but how do you get access to the album covers? If anyone has any info, I'd appreciate it!

(PS - my progress was so quick that I went out and bought an iPad today!)

K

tmorten
July 30th, 2010, 07:34 PM
After only a few hours, I've been able to create a few pages that duplicate the functionality of my netremote pages (not tackling the layout stuff yet, just the functionality).

Once you get the hang of AJAX, it's not too bad at all.

Of course, it's not as easy as using NRD, but you can definitely get the job done.

One area I'm puzzled by is how to get access to JRMC. The basic transport commands are easy, but how do you get access to the album covers? If anyone has any info, I'd appreciate it!

(PS - my progress was so quick that I went out and bought an iPad today!)

K

Good work! I'm glad to hear that it's gone quickly - I was a bit of a slow learner, but now that I've gotten the hang of it, I'm really enjoying creating webserver pages. Album covers tripped me up as well - here's a thread that discusses it (in too much detail, so I apologize in advance): http://www.promixis.com/forums/showthread.php?t=20675)

The long and short of it is that I've posted an "experimental" version of the MediaBridge component in that thread which you can use to make GAC+ calls, providing the same album cover data that's available in NetRemote.

Cheers,
Tim

kwaugh
July 31st, 2010, 07:58 AM
...a nice example to work from!

One item that did take me a while to figure out from the example. Having the image button this way:

<a href='' OnClick='return SendIR("ON");' OnMouseDown='return SetImage("OnButton", "On_d.png");' OnMouseUp='return SetImageDelayed("OnButton", "On.png");' onmouseout='return SetImageDelayed("OnButton", "On.png");'>
<IMG src='On.png' border='0' id='OnButton' />
</a>

Caused the page to refresh when I clicked the button. I dropped the <a> tags and moved the OnClick into the image tag and all was good.

Thanks again!

tmorten
July 31st, 2010, 01:24 PM
...a nice example to work from!

One item that did take me a while to figure out from the example. Having the image button this way:

<a href='' OnClick='return SendIR("ON");' OnMouseDown='return SetImage("OnButton", "On_d.png");' OnMouseUp='return SetImageDelayed("OnButton", "On.png");' onmouseout='return SetImageDelayed("OnButton", "On.png");'>
<IMG src='On.png' border='0' id='OnButton' />
</a>

Caused the page to refresh when I clicked the button. I dropped the <a> tags and moved the OnClick into the image tag and all was good.

Thanks again!

Glad to hear it worked, and thanks for the heads-up on the <a> tag! Which browser are you using that was refreshing on the button press? Was that on iPad? I haven't picked one up yet, so I'm curious how it behaves.

Cheers,
Tim

kwaugh
August 1st, 2010, 08:03 AM
Yes, it was the same in all the browsers I tried:

IE8
Firefox
Safari (on PC)
Safari (on iPad)

I can't find the link, but while I was trying to figure it out, I found an article on this behavior, so I think it's 'standard'...

Thanks again!

K

HTLuke
August 18th, 2010, 03:34 PM
A con with utilizing the web server that I've not seen called out is the ability to use controls like held-down and sliding buttons, particularly on touch screen interfaces such as iPhone and Android.

For example, I've had a really nice multi-page web remote backed by Girder for my home theater for a couple of years now, but I had to implement volume, channel and directional-pad controls as multiple discrete touches. Holding down or dragging in iPhone or Android gets trapped by the UI and not sent to the browser (unless it's a Flash app on the latest Android, which I'm toying with using but that has obvious limits since most lite/mobile browsers don't offer Flash).

Has anyone done anything creative to get around this? I've been considering a lightweight Android app that is nothing more than an imbedded browser with the Android UI stuff turned off so held and/or dragged clicks get passed to the page properly.

Otherwise once you get past some of the mechanics of AJAX and web design, I agree that this is the way to go.

tmorten
August 18th, 2010, 06:36 PM
There are Javascript onMouseDown and onMouseUp events, so if you need to repeat a keypress, you should be able to pull that off either using an AJAX call to Girder LUA, or using an interval timer from Javascript in combination with those events. I understand there are some different functions such as onTouchStart and onTouchMove to use in the iPad browser.

If you need to send an absolute value, a slider (such as the one provided by JQueryUI) could be a good way to go. If you want to drag and drop elements, there is some support for that in JQuery UI as well.

Best,
Tim

HTLuke
August 18th, 2010, 07:13 PM
Yeah I've actually got infrastructure to handle repeating commands and sliders using javascript. They work great in desktop browsers but they're ineffectual on all the touch screen devices I've used as a remote (Nokia 900 internet tablet, iPhone, Android phone) because of the intercepted touch commands.

I just did some digging in the Android SDK to find out what I might be able to do with a little customized app wrapping around a standard web-view, and it looks promising. Might also build a small client-side API on the device too for connection checking and other utility functions to make things work a little more smoothly. If anything comes of it I'll post it up here for any that are interested.

tmorten
August 18th, 2010, 07:21 PM
Sounds good - any tips are appreciated! I had a chance to try an iPad this weekend, and the JQuery slider appeared to work, but I didn't get to do any extensive testing, so I haven't tried any of the touch-device-specific javascript calls as yet.

Cheers,
Tim

NeoMorph
September 28th, 2010, 03:43 AM
Well 2010 seems to be the year of the tablet for sure... some really nice ones coming out and as there is an Android Tablet Edition coming out soon it would be a good idea for Ron and co to think about sorting out a native NetRemote app.

Tablets are the ultimate in home automation control points imho. Apple's devices are too damned restrictive (no flash, no script, NO GOOD) while Android is more open.

It's a shame that Blackberry's tablet is a business (meaning expensive) tablet. The PlayBook sounds rather sexy.

I just want to find a new tablet that I can link to things like a centalised calendar, view my front door camera (to see who is calling on me), control my lighting and heating system and generally make my life easier... oh and it must fit in my pocket so must be a 6" screen. Oh and it shouldn't run like a dog either lol... Battery life must be good too.

I just wish that tablet makers could make one that has the battery life of my Kindle... Where are the colour screen e-ink displays already?

tmorten
September 29th, 2010, 10:20 AM
Well 2010 seems to be the year of the tablet for sure... [SNIP]It's a shame that Blackberry's tablet is a business (meaning expensive) tablet. The PlayBook sounds rather sexy.

I think you're right that 2010/2011 are really going to be HUGE for tablets. The number of operating systems is expanding rapidly:
- iOS from Apple (iPhone/iPad)
- Android from Google (Galaxy, Streak, and many many others)
- Chromium from Google (in the news today being shown on iPad ironically)
- RIM's QNX OS (PlayBook)
- Palm's WebOS (HP PalmPad)
- Windows CE is still out there
- Windows 7 Phone (totally different from Windows 7) is about to launch, and may appear on tablets in the future
- Windows 7 itself will be appearing (tablets from Dell, HP, Onkyo and others)
- XP and Vista are still out there (Samsung Q1's, TabletKiosk, etc.)
- Linux (older Nokia tablets)
- MeeGo (future Nokia tablets)
- Custom OS's (Kindle, etc)

Apple has an early lead, but Android is poised for massive growth. Don't count Microsoft out. Any of the others could also garner meaningful market share.

Covering this list with native NetRemote clients would be a huge challenge. It's tempting to think that only a few of these platforms matter, but that thinking is perilous. The one constant across all of these platforms? HTML/Javascript support.

To get back up on my soap box for a moment, I encourage NetRemote users to give the Girder webserver a try. It's a solution today that will let you build a cross-platform interface for any of the devices listed above. The gestural experience may not be quite as sexy as native apps at the outset, but gestural hooks are emerging in many browsers, and this will only get better.

The biggest hurdle with the Girder webserver is that web authoring itself isn't as easy as just using a GUI (NetRemote Designer), or even a GUI plus LUA (as the more advanced NetRemote users use). Web authoring involves HTML/CSS, Javascript/JQuery/AJAX, and LUA. That's a lot to master!

That said, there is some pretty useful default functionality in the Girder Webserver, which generates a control interface for Girder's device manager (including some custom interface elements for iPhone/iPod Touch/iPad). In addition, I've posted script examples in the Girder forum as a starting point for custom interfaces.

Still, I recognize that switching over to the Girder webserver is a daunting prospect. I'll see if I can't post a more integrated example (no scripting required) sometime soon.

(Stepping off soap-box...)

Cheers,
Tim

HTLuke
November 16th, 2010, 04:51 PM
I spent some time rewriting my girder web server based control to work as well on Android as possible, and then ran into a few browser limitations that were sub-optimal such as not being able to get rid of the Android status bar or the browser address bar (no easy full screen view).

So I started writing a custom Android app which is more or less a browser view object with all my preferred configurations set (full screen, no scroll bars, forced orientations, etc.) and added the ability in the preferences menu to set the url and to force a reconnect.

This works fairly well on multiple Android devices I've tried, but the browser click experience is too slow to be useful daily for me. I suspect the browser is still trying to watch for drag events and to debounce inadvertent screen taps. So I figured if I was already writing a custom app for the device anyway I might as well try for something a bit more useful.

I ended up leveraging the Android GUI layout scheme on top of a web service set of functions. I also subclassed the controls to pull the button images via http and cache them in memory and on SD card so the images don't have to be built into the app as a resource bundle. There are some other benefits too like hold-to-repeat, screen widgets like clocks or other Android UI goodies. The URLs and query parameter are attributes in the layout xml too so its easy to assign commands to call the ajax_sendevent service (or any service, not just girder) with only modifying xml. Finally theres some rudimentary graphical layout tools available (built in and apps like DroidDraw) which should help for designing layouts.

I am still experimenting but so far the results are very encouraging. The only real downside is that the layout xmls need to be compiled into the app, so you can't customize the remote without compiling it. Not a big deal for anyone already doing Android dev but a real bummer for anyone else. There are workarounds but they get complex fast depending on how much of the Android layout features you want to preserve.

Once I clean things up and use it for a bit in the real world I will update my findings.

tmorten
November 16th, 2010, 06:14 PM
Thanks - that sounds like it will be of interest to many! I'm curious: what hardware are you running on and what version of Android? I have seen tests which indicate a broad variation in browser speed across Android devices and OS versions. In particular, releases prior to 2.2 have been reported to be sluggish for browsing. On newer releases with newer CPU's, it sounds like performance is getting quite good. I'm certain that performance and browser choices will increase rapidly, given how quickly Android is evolving.

Cheers,
Tim

HTLuke
November 16th, 2010, 07:00 PM
I've been testing on an Evo and a Hero so far. My eventual intention is to replace my existing Nokia n800 tablets (which ironically have a more responsive browsing experience when it comes to quick taps) with either the Samsung Galaxy Tab or perhaps the new Barnes & Noble Nook eReader tablet which also runs Android, if it can be sufficiently hacked to run arbitrary software packages.

My Evos are running Android 2.2, and I believe the Hero is on 2.1. I wouldn't classify the response time as sluggish exactly (at least not due to inefficiency or slow hardware), it seems more of an intentional behavior. It takes a bit more than a light touch to trigger a link, and it blinks a hilight over the linked button and doesn't usually respond to multiple quick presses, as if it's blocking further interaction while the hilight renders.

The UI approach has been a completely different experience so far; the lightest touch triggers the button and I can click it five times in under a second and each one immediately registers visually, and all five commands get sent within a second or two. Very promising, if I can overcome the layout-at-compile-time sitution. :)

jumbodogs
November 16th, 2010, 10:24 PM
Looking forward to seeing this. I have a Hero and I am running 2.2 on it. I haven't had any problems running 2.2 after I changed a few settings on it. If you need any help testing this I would be more then happy to help.

NeoMorph
November 23rd, 2010, 09:24 PM
I have yet to play with the Girder Webserver... I wonder if I can get something working on a Kindle... can't get any worse internet hookups than that heh.

I really would like a tablet to run my living room systems. My living room touchscreen PC crashed and died this week so I really need to get something to replace it. You don't realise how much your automation helps until it goes byebye... Now I keep leaving stuff on that used to turn itself off automatically.

rickd
December 3rd, 2010, 02:37 AM
Heres a solution use this http://www.iruleathome.com/

all we need is a http gip driver and we can make this interate with girder...anyone keen to build one?

This thing supports an http gateway

http://www.iruleathome.com/tutorials/http-gateway.html

Nathan
December 26th, 2010, 06:28 PM
Hey guys. I was just reading this thread and had to register to let you guys know that there is an existing solution for interfacing Girder with a fully customizable native iPhone/iPad app.

The app is called Touch IR+ that allows you to fully customize the remote screen pages and it interfaces with Girder perfectly (including the ability to send data from Girder to the app). In fact, I found out about Girder through the use of Touch IR+.

The program is currently $5, and $2 more for the EventGhost/Girder upgrade.

I am new to Girder but I have been able to interface these programs together pretty effectively. I have never used NetRemote but it appears that most of the functionality could be replicated.

(Note: I am not affiliated with Touch IR+ in any way, although I would like to see more people use this solution so that there is a larger community to work with!)

jwilson56
December 26th, 2010, 11:00 PM
Although that might be a solution for some it does not replace Netremotes need for Android support so that we can interface to Mediabridge.

tmorten
December 27th, 2010, 01:09 PM
Although that might be a solution for some it does not replace Netremotes need for Android support so that we can interface to Mediabridge.

Actually, it does: the webserver is capable of displaying all the album data that Netremote does, so it is a complete replacement.

Cheers,
Tim

quixote
December 27th, 2010, 01:39 PM
Actually, it does: the webserver is capable of displaying all the album data that Netremote does, so it is a complete replacement.

Cheers,
Tim

I think that he was referring to Touch IR+.

jwilson56
December 27th, 2010, 01:56 PM
Actually, it does: the webserver is capable of displaying all the album data that Netremote does, so it is a complete replacement.

Cheers,
Tim

Tim

I was referring to Touch IR+. However post some screenshots of your HTML interface that lets you browse the JRMC library and drill up and down any artist, genre or playlist, create playlists and rearrange their order. I would love to see some examples along those lines.

tmorten
December 27th, 2010, 02:36 PM
You're right, Mediabridge is a hurdle for 3rd party products (though it has a clean interface which could be accessed). For the webserver, the GAC+ interface is the same as used by NR, so with some work you should be able to match any front end created by NR. I'll post some shots of my interface tomorrow...

Best,
Tim

jwilson56
December 27th, 2010, 03:45 PM
Well I will forward to seeing them.... this kind of misses the point that it is a shame that Promixis seems to be leaving Netremote in the past. Part of this seems to be the economy which has taken the attention off this kind of project. The other I suppose is the shift to devices like the Ipod in which the younger people seem to have accepted with the lower quality audio (which from hearing some of what they call music these days would probably not matter much). The other extreme is people buying multi zone systems like Nuvo and using keypads.

Judging by the low traffic on many of these type forums I am getting the impression that I am once again a dinosaur. Must be the price of getting old.

tmorten
December 27th, 2010, 05:46 PM
I totally understand where you're coming from - progress feels slow. Netremote is still an important part of Promixis' future though, but for cross-platform interfaces, browser based is currently the way to go.

Long live the dinosaurs! :)

Best,
Tim

mpg732
December 27th, 2010, 05:49 PM
I think that one of the reasons that traffic has been so low is the fact that nothing new has come out for a while. I would bet a new version with some new features would bring back traffic to the forums. Like stated above every one wants Iphone / Ipad and Android support. Now there are work arounds that work very nicely, IE remote desktop apps for Ipone and Ipad. The other problem that Netremote and other PC base home automation faces is that their are more and more apps cumming out for the above mentioned product. I have been looking at Ipone and Ipad remote apps and there are a few that are getting pretty close to doing what I need it to do. Its sad to say.....

tmorten
December 27th, 2010, 06:45 PM
I've been looking too. I can say with no qualifications that nothing out there comes close to what can be done through the Girder webserver. :) Easier to use you might find, but at the loss of power and flexibility.

I understand that Javascript sounds scary (though in truth it is only incrementally more complex than LUA). You will see some tools from me in 2011 to help with that...

Best,
Tim

tmorten
December 28th, 2010, 08:51 PM
Tim

I was referring to Touch IR+. However post some screenshots of your HTML interface that lets you browse the JRMC library and drill up and down any artist, genre or playlist, create playlists and rearrange their order. I would love to see some examples along those lines.

Below are screen grabs from my home setup, running through the Girder webserver in Chrome. Everything is drill-able, as you would expect. I know your own setup is more of a consolidated interface rather than a tabbed approach, but this should hopefully reassure you about what is possible.

Cheers,
Tim

http://threescape.com/pictures/mb1.png
http://threescape.com/pictures/mb3.png
http://threescape.com/pictures/mb4.png
http://threescape.com/pictures/mb5.png

WinoOutWest
December 31st, 2010, 11:04 AM
I stumbled across OpenRemote last night via a facebook ad of all things.

http://www.openremote.org/display/HOME/OpenRemote

it looks like it s got some potential if it can get some legs behind it. Already iPhone and Android clients out there and they are working on iPad and browser clients as well. It's open source and has a pretty cool online designer tool that dummys like me can customize the UI with without having to do code.

I'm assuming we could use the client to trigger the girder commands. Has any one else looked at this yet?

BTW: your pics look great Tim - I just don't have the programming skills to ramp up to that.

tmorten
January 1st, 2011, 08:51 PM
BTW: your pics look great Tim - I just don't have the programming skills to ramp up to that.

Per my earlier post, you will see some tools from me soon which simplify authoring for the webserver (no programming required). No "app" approach out there is going to give you the full power of Girder/NR/Mediabridge, or the wide platform support and centralized management that come from running in a browser.

Cheers,
Tim

jwilson56
January 8th, 2011, 05:18 PM
Tim for your playlists and such are you talking directly to JRMC or through Girder or is Mediabridge still involved? Also are you going to make those files available to others to learn from?

tmorten
January 8th, 2011, 07:12 PM
Tim for your playlists and such are you talking directly to JRMC or through Girder or is Mediabridge still involved? Also are you going to make those files available to others to learn from?

I interface through MediaBridge. The source is all posted in this thread from last summer: http://www.promixis.com/forums/showpost.php?p=141658&postcount=3

Visual tools coming soon for the code-averse, but these will be aimed at simple "press button, trigger event" applications, so if you want to use GAC+, writing some Javascript/LUA is the way to go.

Cheers,
Tim

Cocophone
January 9th, 2011, 08:51 PM
I have been using girder 3.3 and netremote 1.1 to control J River Media Center. My setup is similar to Jwilson56. I have my computer output the audio through a M-Audio Delta 410 to 2 audio receivers. The computer uses girder to control the audio receivers using usb-uirt blasters.

I now have an ipod touch that I would like to use as a remote for my setup.

J River Media Center 15 has a webremote that lets me control media center well enough, but I can't see how it would ever be able to control the usb-uirt blaster and control my audio receivers.

Will newer versions of Girder and netremote do what I want? For my limited needs the newer girder seems like overkill in features and price.

Or is there a way to get the J River media center's webremote to control my audio receivers?

jwilson56
January 10th, 2011, 10:19 AM
Well I appreciate people that use NR/G and have things setup like mine. I however get frustrated when people choose to use the free version of Girder and who never really put any money into Promixis. I believe this is one reason why they are not able to come out with new products. Simple economy... no money in it because people are too cheap. Do you realize that the cost of the Girder 5 Pro and NetRemote Whole Home Pro Bundle at $179 is less than the cost of Homseer's HSTouch addon alone? Let alone hundreds less than the cost of CQC, Elve or Mainlobby.

Promixis might not be able to say anything but I don't work for them. I have certainly worked hard to support them though so with that I will say it is time for people to put their money where there mouth is at and support Promixis.

Cocophone
January 10th, 2011, 11:05 AM
I realize that the amount I paid for my versions of girder and netremote (old but paid for) have been more than offset by the years of support I've gotten from this forum.

Both girder and netremote have done exactly what I've wanted them to do.

However, my hardware will need replacing sometime in the future (my Dell axiom died years ago, it was poorly made) and the new hardware will probably be either ipod touch, ipad, or android tablets. None of these devices run netremote natively.

So, I'm taking a good look at what my needs and wants are. I don't really do any home automation. I use netremote to control my music, which is played using J River Media Center. My videos are played using xbmc.

Girder and netremote are very good values compared to competing software products. But, girder and netremote might not be the right product for me in the future. This is what I'm trying to figure out.

Maybe I need the flexibility of girder/netremote or maybe I just need J River Media Center and a way to get it to connect to my USB-uirt to change the volume on my audio receiver.

harleydude
January 10th, 2011, 06:31 PM
This thread has gone on for quite some time now. There have been discussions about native support for the newer devices and utilizing Girder's Webserver to server up pages. John has done a fair amount of research on support for newer devices since starting this poll.

Here is a short list of some of the things that he has found, John correct me if I am wrong.
1. Other HA packages, ie HomeSeer, Elve, etc.. do not really have a application that runs on the device, however they are using some sort of RDP application to communicate with the backend server. That backend server is actually rendering the various screens and functionality the application is simply a portal to the backend server.

2. Other HA Packages that provide some kind of support for the newer devices are way behind in form and functionality than NetRemote. With NetRemote we take a lot for granted. John has a copy of HomeSeer and Elve, both are very behind when it comes to doing some of the things he and other users have done with NetRemote.

John also has started a thread in the NetRemote Showcase forum with pictures showing his newest incarnation of NowPlaying, running on a Droid phone.

http://www.promixis.com/forums/showthread.php?t=20986

I am sure the same type of setup could be used for the iPhone/iPad users as well.

I intend to get a Droid phone within the next couple of weeks, want to make sure it can handle the tasks I need for it. Running NetRemote with my Droid phone is on the list and with John's work has been marked as Achievable.

I hope that other users will take some time to look at what John has done with NR/Droid and maybe ask some questions about how they can do it as well, I know I will be asking.

My .02

sirbooker
January 10th, 2011, 08:19 PM
i have a iphone 3gs and i am doing something similar
on the iphone i am running ( iteleport ) on my pc i am using a older version
of TightVNC Server which allows me to select a display to share
(drag and drop onto the netremote screen )
i still use a dell axim 51v so my display for netremote 640 by 480 i think

now when i fire up iteleport to connect to the vnc server all i see is
the netremote screen and it works awsome for now....

paul.

jwilson56
January 12th, 2011, 06:21 PM
sirbooker would you mind detailing your VNC setup some? What version of VNC (a link) and how you set it up. Thanks

sirbooker
January 12th, 2011, 08:25 PM
sirbooker would you mind detailing your VNC setup some? What version of VNC (a link) and how you set it up. Thanks

John
nothing special that i know of it is version (tightvnc-1.3.10 )
they have a new version out but it does not allow me to select an area of the screen to share (that i found anyway)
in server setup i put in a password and change one of the ports to a port i forward to my machine the other i leave at 5800.
on the display tab i check window then drag and drop an icon on the window i want to share.
thats about it.....
in iteleport on the iphone it allow me to set it for touch screen mode
this works good but i just found out that when i want to turn down the volume on jrivers which is a slider i could not get it to work this to me is minori will do something different.
Regards
Paul.

sirbooker
January 12th, 2011, 08:27 PM
http://www.tightvnc.com/download-old.php

davidsetton
January 15th, 2011, 11:43 AM
I've been looking too. I can say with no qualifications that nothing out there comes close to what can be done through the Girder webserver. :) Easier to use you might find, but at the loss of power and flexibility.

I understand that Javascript sounds scary (though in truth it is only incrementally more complex than LUA). You will see some tools from me in 2011 to help with that...

Best,
Tim

Tim:

Can't wait to see some tools to help with creating a webserver based controller to use with my android phone to control Girder. I love your Insteon plugin!

Would you be able to upload your webserver based interface / GML for your android so that I can see how it works?

David

tmorten
January 15th, 2011, 12:36 PM
Tim:

Can't wait to see some tools to help with creating a webserver based controller to use with my android phone to control Girder. I love your Insteon plugin!

Would you be able to upload your webserver based interface / GML for your android so that I can see how it works?

David

I wish I could take credit for the Insteon plug-in, but Mike C wrote that -- he deserves big kudos for all the work he put in, and for sharing it with the community!

The web interface that I posted is available with source from this post (which discusses the custom version of the MediaBridge component that accompanies it): http://www.promixis.com/forums/showpost.php?p=141658&postcount=3

There are some meta tags that can be added to the HTML to automatically conform to browser size on Android and iOS (so you don't have to zoom after loading), but it should render successfully on any modern platform. I've tested on Windows (desktop and tablet), iOS (iPhone and iPad), WinMo (phone), and Android (phone and tablet).

The web interface above is "pre-rolled", though it can be customized by changing its HTML, javascript, and LUA. I'm working on some additional tools to generate graphically rich web interfaces for simple control pages, which I hope to be able to share soon.

Best,
Tim

jumbodogs
January 15th, 2011, 01:03 PM
http://www.promixis.com/forums/showp...58&postcount=3

Is that link working for anyone else?

tmorten
January 15th, 2011, 02:56 PM
Fixed:

http://www.promixis.com/forums/showpost.php?p=141658&postcount=3

HTLuke
February 6th, 2011, 10:02 AM
I know it has been some time since my original posts on the matter back in August, but I've been working hard for the last couple of months on the native Android app experiment. I'm at the point where it has become quite the monster product, now called 'Andre', the universal remote interface for Android.

My family and I have been using this app exclusively as it evolves for the last three months on an Evo, some Heros, and two rooted Nook 7" tablets, and the experience has been very positive. :)

The app itself is server-agnostic, sending http web service calls to anything that will listen, including Girder's web server. I'm just about at what I'd like to consider is a 1.0 "late beta". I know two of the bigger draws of NetRemote are its GUI layout tool and its integration with MediaBridge, neither of which are currently part of this app yet, unfortunately.

I am however aiming to provide some kind of on-device layout configuration tools down the road, and I've done a few things to bridge the gap (no pun intended) for media control. I am more than willing to look at what it would take to add real native MediaBridge support in the app too.

For now, here's the hilights of the feature set:

- Comprehensive and flexible layout in XML
- Customizable button look, feel and behavior, including animations
- Config XML and images loaded asyncronously over HTTP at runtime
and cached to SD card
- Multi-room/location aware
- Hard button support
- Gesture support
- Haptic feedback
- Embeddable browser windows
- Embeddable Android home screen widgets
- BasicAuth support
- Versatile support for varied screen sizes

I basically ended up writing a full interpreter that allows nearly all Android layout capabilities to be accessed from within the configuration XML file including sizing, alignment, nested grouping, margins/padding, and more. The syntax is actually not too scary however, especially if you look at a few examples.

To address the lack of MediaBridge support, you can define arbitrarily-sized browser windows as part of a page design. This way you can effectively benefit from the speed and functionality of the native Android app for general device control and still use the Girder web-based interfaces for media (or anything else).

What I'd like to ask for, provided Tim is amiable to such a solicitation, is two or three interested members of this thread that have Girder and an Android device (probably requires Android 2.x or higher) who would be willing to try out a fairly stable app who are also willing to monkey with XML configuration files directly. I've been writing a manual to help, but it isn't fully comprehensive yet; there are some clear examples though and I'm happy to answer questions.

Please post or PM your interest and I'll send the app out to the first couple of respondees.

Regards,
Luke

jumbodogs
February 6th, 2011, 10:53 AM
I would be very interested in giving the app a try. I just switched from a Hero to EVO and I also have 7" android tablet. What I am doing now for a solution is I have a NR screen that I RDP into with phone to control NR. I also am using eventghost to send commands to girder and have girder send events to eventghost which sends to my phone. This works pretty good but I would love to give the app a try.

tmorten
February 6th, 2011, 07:28 PM
Sounds great - more options is a good thing!

Cheers,
Tim

HTLuke
February 10th, 2011, 02:20 AM
Thanks Tim, and thanks Jumbodogs for volunteering. :)

I've finally cobbled together a 1.0 beta worthy release. There continues to be an endless list of features I'm working on, however there's enough functionality in this now I think to be useful to some.

This zip contains a fairly complete manual, a set of incremental example XML configurations (with detailed example notes inside the manual), and my own real-world layout which controls two DVRs and an XBox360 in three different locations in the house, so it represents a fairly complex config.

Please forgive the gaudy button and background colors, it was originally an experiment in usability (quickly identifiable button groups by color) for my kids and I've not had time to do any tangible graphic design.

Features I'm working on for the near term:

- Constant tokens in Config (for clearer/easier to update repetitious values)
- State variables and effects
- Two-way comm for various push/pull data (feeds, server state, etc)
- Re-enabling voice recognition control
- HTTPS
- Some form of tool to ease layout design, probably on-device

The file is available at (sorry for the cryptogram, I don't have enough posts yet to post links!):

buriedaliveinteractive dot com slash andre slash Andre1.0.0b.zip

I decided to post it so anyone else that comes through here can give it a try, but as I'm doing pretty frequent builds at this point I have the beta builds expiring after a month or so to encourage fetching the latest.

The manual has a "Getting Started" section that should help get files in their proper place. Mostly you'll just need to drop the contents of the 'http' folder on your Girder web server and configure the Settings on the device, and change up the web service query parameters to suit your Girder configuration.

Please let me know if you encounter any problems getting it running, errors or crashes or have any suggestions, and thanks again!

jumbodogs
February 10th, 2011, 01:03 PM
I got this up and running and I am playing with it at work for now. I just made a new skin for NR and I am going to try to get those graphics into this now. Do you have any suggestions on a good XML editor.

When I click the buttons shouldn't I see events in the girder log?

I would also think this should have its own thread.


Really looks like a nice app. Looking forward to getting some of my stuff setup with this.

Great Job!!

Thought I would post link make it easier on everyone else.
http://buriedaliveinteractive.com/andre/Andre1.0.0b.zip

jumbodogs
February 10th, 2011, 03:09 PM
I see the events now. I had copied the html file from the zip to girder but didn't add it to the correct folder. I'm guessing the ajax sendevent was missing but its working now.

HTLuke
February 10th, 2011, 06:27 PM
Cool! Great to hear it actually works for someone else, always a good sign. :)

As far as XML editors go, I personally lean toward a combination of my dev environment (Eclipse), an XML validator on the web (validator w3c org is a nice one with full DTD validation) and either XML Spy (a great XML editor in its own right with validation and a nice interface) which is a paid app, or Microsoft has a free XML editor which is worth just about what it costs, but is good for quick simple syntax testing.

Thanks for posting an actual link too. I'll start a new thread soon as a general announcement. Maybe once I reach 10 posts here so I can fully post stuff. :D

Since I've not used NetRemote (though I've read through some of the manual) I'm very interested in hearing what features you miss most when trying to use Andre with your setup.

quixote
February 11th, 2011, 10:18 PM
Hi,
Thought I'd give this a shot too. Sounds promising.
I can't get it working, though. I copied all files from the http directory to \httpd in Girder's directory structure. I have a couple of questions.
-Should I delete the existing web server files?
-In the setup of Andre, do I need to specify the entire path where the config file can be found, or does it default to the Girder web server dir?
Thanks.

jumbodogs
February 12th, 2011, 08:42 AM
I copied the files inside the HTML folder from the zip and pasted them into the Girder httpd folder. The path on my phone is /config.xml

Are you sure the webserver plugin is running?

Also don't delete the files in httpd. You need some of them to trigger the events in Girder.

quixote
February 12th, 2011, 04:39 PM
Thanks for your help.
I had done the same. I've configured everything in the top part of the configuration that seems to be required, except for "public service domain", which I have left as-is since I am using my wireless network and have not configured the router for any port forwarding, etc. with Girder for external access. I am able to access the default webserver pages from the machine that I am running Girder on by typing in the LAN address into my browser and logging in with my name and password.
Using "Andre", however, only yields a black screen after the splash screen disappears.

jumbodogs
February 12th, 2011, 04:46 PM
For Private Service Domain I have the IP address of my Girder machine. Try connecting to webserver from from you phone by typing in the IP address in a browser just to see if you need to open that port but I don't think you need have any ports open if everything is just local traffic.


Sorry misread your post. I didn't change anything for public service domain.

HTLuke
February 12th, 2011, 05:35 PM
Ack, posted the following and forgot I had URLs in it, which I can't post yet. I've obfuscated the URLs, I hope that doesn't make it too confusing...

EDIT: I think my last post brought me out of newbie-ville, so I've attempted to fix the URLs. :D

Jumbodogs' advice is exactly what I'd suggest, though it doesn't hurt to copy the IP of your machine into the 'Public Service Domain' just in case there's a problem with Andre detecting that you're on your named WiFi access point.

The logic there btw, is basically just "If the connected WiFi access point name equals <Private Service AP>, use <private domain>, otheriwse use <public domain>". So if there happens to be any problem determining your AP name or some other weirdness, the Public Service Domain gets used. It doesn't really know that you're using WiFi vs. cell or anything.

As for the other settings, here's a rundown of exactly what things should look like, assuming your Girder web server is configured out-of-the-box, and you have Girder4/httpd (or Girder5/httpd) directory as the web root:

../httpd/ajax_sendevent.lhtml (this came with Girder and is the service call destination, though you don't need it for the Andre UI to show up, just for sending commands)

../httpd/config.xml (assuming this is the config.xml that is part of the zip file, which represents my own current home config)

../httpd/buttons/remote_bg_br.jpg (& all other button images from the zip should be in this sub-directory)

if you can get the following URLs to work from a web browser on any machine in your network, then the server is configured properly (replace the 192.168.0.50 IP with your Girder machine IP):

http://192.168.0.50/config.xml
http://192.168.0.50/buttons/remote_bg_ht.jpg


Configure Andre as follows:

- Private Service AP: <your WiFi access point name>
- Private Service Domain: <your IP in format: http://192.168.0.50>
- Public Service Domain: <your IP in format: http://192.168.0.50>
- Assuming you don't have Authentication configured on Girder's web server, leave 'Use Basic Authentication' un-checked

The rest of Andre should be left default, which should be:

- Web Service API: /ajax_sendevent.lhtml
- Layout Conf Path/Name: /config.xml
- Image Path/Name Prefix: <blank>

That should be all you need. Open Andre, wait for the splash screen to disappear, press your device's 'Menu' button and tap 'Refresh'. It should load up the first screen. You can also turn on the Debug options to get more verbose messages. Check the 'Debug Mode' check box at the bottom of the Settings menu, then select the 'Debug Options' setting and check off the first option, 'Verbose Warnings'.

Which Android device are you using and do you know what version of the OS it's running?

HTLuke
February 12th, 2011, 05:38 PM
Oh and again Jumbodogs is right, there's no need to delete anything that already exists in the Girder httpd folder. ajax_sendevent.lhtml is required for Andre, and all the other stuff just gets ignored.

Theoretically one could develop web-based controls (like Tim's awesome media interfaces) and host them from the same place, and embed them into Andre as a 'Browser' component to get the best of both worlds.

mihooper
February 12th, 2011, 06:00 PM
HTLuke,

Congrats on this promising new app. I have been a Girder/Netremote user for years and am getting ready to start a new Andriod Tablet- based control system. I'll keep you posted on my progress. Looking forward to yours.....:)

quixote
February 12th, 2011, 06:55 PM
Thanks guys! I have a demo screen up.
I'm not sure it it was because I had left the Public Service Domain as the default setting originally, or because I had not tried refresh (though I could have sworn that I tried that!), but now it is working.
This is fantastic. I'm going to have to look at how to put together my own graphics and button layouts. The default skin makes me feel like I'm having an acid flashback. ;)

quixote
February 15th, 2011, 10:10 PM
Well, I've been testing Andre (why is it called that, BTW?), and it's quite responsive most of the time. I have Girder running on a laptop connected to the network wirelessly and can get next to instant events.

The main problem that I've noticed for now is that I am constantly getting the message "No Connection. No Network detected. Attempting to reconnect.", and the app tries to reestablish the connection. This happens everytime the screen goes off and I turn it on again. I'm not sure if this is a flaw with Android 2.1 or Andre, but I'm thinking that it is probably Android that is mis-managing my wireless connection in the attempt to save battery power. Is there a way for Andre to automatically try to establish the connection when the screen is turned on so that by the time I enter a command, it's already ready?

HTLuke
February 16th, 2011, 04:38 AM
Originally I had called it AndRem (Android Remote) but I didn't particularly like how that sounded, and I've been eternally conflicted on explicitly calling it a Remote, since it's technically only part of the equation. So somewhere along the line as it was evolving I dropped the 'm' and figured 'Andre' was short, still somewhat relevent, and cooincidentally still appeared at the top of my App drawer for easy launching. :)

I'm glad that for the most part it's working well for you. There's a few bugs I've been hammering out over the last few days, I'll have a new version available soon. One of the more annoying bugs, somewhat related to your WiFi issue, is that the 'Attempting to reconnect' dialog pops up and never goes away, you have to manually FC the app and re-start it. I'm also working hard on the on-device assisted layout functionality that will let you do a good portion of layout and button functionality assignment in the UI.

Regarding your WiFi issues specifically, I've had a lot of varying degrees of pain with WiFi connections. My Evo keeps a really persistent connection even when the screen has been turned off for hours. I'm guessing it never actually breaks the connection and just trickle/sleeps efficiently. On the other hand, my Nook tablet notoriously drops WiFi as soon as the screen is off just like you're experiencing, and it can be very frustrating.

What Android device are you using? There's actually some configuration options of the OS that you can tweak to change the WiFi sleep policies (search for 'android wifi sleep policy', and also free market apps (like SoftLock and others) to do some WiFi management too. Some of them literally lock the device in a partially awake state when the screen goes off, so there's definitely a battery trade-off to be concerned about too.

There's actually already a bit of code in there to attempt to revive the WiFi connection like you're asking for. Try checking the 'Force WiFi Reconnect' check-box in Settings. Any time Andre is 're-activated' (screen turned on, return to the app from another, etc.) it will attempt to re-associate with the last known access point. Unfortunately this doesn't seem to work perfectly every time, at least on the Nook, which occasionally gets stuck on 'obtaining IP address' and either takes forever to revive, or requires me to manually cycle the WiFi on the Nook to get it to connect again. That makes me wonder if I'd see better results by assigning a static IP. I should experiment with this further.

Anyway, I've been playing with this part of the code a lot, and could really stand to go back through it and give it some more attention, possibly putting more configurability into the user's hands, because it seems all devices act a bit differently. FWIW the Evo is on Android 2.2 and the Nook is 2.1 so it may very well be an issue that is handled better in 2.2 and beyond.

woniol
February 16th, 2011, 05:37 AM
I've been testing Andre for some time,
I works well for me.
I think of using Andre to control lights in my home automation system.
I think it would be great if Andre could have two way comunication with Girder web server. What i mean is to be able to get buttons status from server. Maybe some xml with button ID and status. This status file would be read from server on button press and every (config) seconds.

What do you think of such feature?

HTLuke
February 16th, 2011, 05:47 AM
The concept of bi-directional communication and/or queryable state is high on my list of features to add. I'm trying to do it in as server-agnostic a way as possible so it will be the most flexible without being too confusing to actually set up and use.

Right now I'm adding a few precursors to this feature, namely tokens, variables and the concept of state. Once that's in place, adding the ability for web service results to actually affect that state should be pretty easy. One tricky part is how Android apps behave when they're not the in-focus app (be that because the device is sleeping, or another app is launched), but I've got several ideas to try to get it to be a good balance between useful and conservative, battery-wise.

I hope to have the variables and states in place by next week or so, maybe also an alpha web-server response interpreter too, if I can squeeze it in. :)

I'll probably start a new dedicated thread when I do that, and will link to it from here.

woniol
February 16th, 2011, 06:08 AM
Great news.
Can't wait to test new builds.

quixote
February 16th, 2011, 01:37 PM
...
Regarding your WiFi issues specifically, I've had a lot of varying degrees of pain with WiFi connections. My Evo keeps a really persistent connection even when the screen has been turned off for hours. I'm guessing it never actually breaks the connection and just trickle/sleeps efficiently. On the other hand, my Nook tablet notoriously drops WiFi as soon as the screen is off just like you're experiencing, and it can be very frustrating.

What Android device are you using? There's actually some configuration options of the OS that you can tweak to change the WiFi sleep policies (search for 'android wifi sleep policy', and also free market apps (like SoftLock and others) to do some WiFi management too. Some of them literally lock the device in a partially awake state when the screen goes off, so there's definitely a battery trade-off to be concerned about too.

There's actually already a bit of code in there to attempt to revive the WiFi connection like you're asking for. Try checking the 'Force WiFi Reconnect' check-box in Settings. Any time Andre is 're-activated' (screen turned on, return to the app from another, etc.) it will attempt to re-associate with the last known access point. Unfortunately this doesn't seem to work perfectly every time, at least on the Nook, which occasionally gets stuck on 'obtaining IP address' and either takes forever to revive, or requires me to manually cycle the WiFi on the Nook to get it to connect again. That makes me wonder if I'd see better results by assigning a static IP. I should experiment with this further.




Hi Luke,
Thanks for your prompt reply. I'm looking forward to your latest version and any new features and bug-fixes that you've implemented.
I am using a Motorola Milestone (AKA Droid), on Android 2.1. Unfortunately, I live in Canada. Some third-world countries have better mobile phone infrastructure than we do. We're to be updated to 2.2 by next month, supposedly. Until then, my Wifi configuration options are very limited.
I've already tried using the "Force Wifi Reconnect", and it hasn't fixed my problem, but I haven't looked at the market for solutions yet.
I'm curious about your static IP address idea -- do you mean that we would configure this on our routers to associate the MAC of our phones to a certain network address? That is plausible, but I don't seem to have this trouble with another app that I use (and beta tested as well), which talks to another device I have on the network. Perhaps I can ask the developer how he dealt with the wifi shortcomings of outdated Android devices to see what he has to say.
I'd just like to make a couple of suggestions, if I may.
First, it would be nice to have an option to hide the splash-screen at the beginning. While it's well done, it's a little to "cute" for my tastes/setup. I would prefer to see a verbose breakdown of what is happening on the device, even if it's just telling me stuff like what address it's connecting to, what files it's loading, etc.
Second, I could be wrong, but I think that an editor should be on the PC rather than the phone or tablet since we would be able to use a mouse and keyboard. I find it a little infuriating trying to input large amounts of text on my phone, even though I have a slide-out keyboard. Plus, any graphics that I would put together would be on my PC where I design them. We would have a lot more control and precision if we could create our menus on the PC and export them somehow.
Thanks!

HTLuke
February 16th, 2011, 03:07 PM
I'm curious about your static IP address idea -- do you mean that we would configure this on our routers to associate the MAC of our phones to a certain network address? That is plausible, but I don't seem to have this trouble with another app that I use (and beta tested as well), which talks to another device I have on the network. Perhaps I can ask the developer how he dealt with the wifi shortcomings of outdated Android devices to see what he has to say.
I'd just like to make a couple of suggestions, if I may.
First, it would be nice to have an option to hide the splash-screen at the beginning. While it's well done, it's a little to "cute" for my tastes/setup. I would prefer to see a verbose breakdown of what is happening on the device, even if it's just telling me stuff like what address it's connecting to, what files it's loading, etc.
Second, I could be wrong, but I think that an editor should be on the PC rather than the phone or tablet since we would be able to use a mouse and keyboard. I find it a little infuriating trying to input large amounts of text on my phone, even though I have a slide-out keyboard. Plus, any graphics that I would put together would be on my PC where I design them. We would have a lot more control and precision if we could create our menus on the PC and export them somehow.
Thanks!

I'd love to hear what the other developer did to handle the WiFi issues. There are at least a half-dozen obvious (and probably a bunch that aren't so obvious) different ways to try to resurrect the connection and I have a feeling my only test bed for it, the Nook tablet, is intentionally doing unconventional things to save battery life. Most of my 'fixes' are shots in the dark for other phones/devices, sadly.

On a related note however, I assigned a static IP to the Nooks last night and things have improved dramatically. The hacked up OS on the Nook removed the 'Advanced' functionality for WiFi settings (where the static IP stuff is) so I had to use an app called "Static Wifi" in the market to do it, but if you've got a reasonably normal phone you should be able to go into Settings->Wi-Fi settings, click the menu button and select 'Advanced' and check 'Use Static IP' and fill in the fields. This shouldn't require any changes to your router/access point unless your entire IP range is set up for DHCP for some reason. You will need to know a safe (outside the DHCP range), available static IP on your network though, as well as your gateway address (usually the IP of the router) and DNS IP address(es).

I'm totally open to ideas and suggestions! I'll add a check-box to Andre's settings to not display the splash screen right now.

If you turn on Debug Mode and enable 'Verbose Warnings' in the Debug Options menu, you should see some extra info like the files that are getting loaded, but I'll see about streaming some of the init process out to the start-up screen too. Most of the work happening at the launch screen is loading/parsing of the config XML so there's not a lot of useful info to communicate, but I'll see what makes sense.

I know a good Windows/Mac editor would be a lot more desirable, and I'd love to get there eventually. I'm basically sitting on top of Android layout functionality in the XML, so to make a PC app that properly reflects all the myriad of layout options would basically mean fully re-implementing Android's layout engine from scratch, and I'm a bit wary of doing that just yet. I also have a historic frustration with layout tools for remotes like the Pronto, which always seem to have a lot of quirks, fonts that don't look the same between editor and device, etc.

The on-device functionality would be meant as a way to quickly prototype a layout and it would spit out the resulting XML. I've also thought that I could leverage the Android emulator that is part of the OS SDK, which would be the best of both worlds. It runs on Win/Mac/Linux, gives you the benefit of your desktop mouse and keyboard, and would guarantee WYSIWYG. I just have to see how hard it is to obtain/install/run the emulator for non-devs...

Perhaps as a short-term offering I could create a PC 'helper' app that doesn't do full visual alignment and positioning but rather allows you to safely create/edit a config through a visual tree interface, abstracting the user from having to touch the XML directly. It would let you select from all the legal options for Parameters, etc.

I'm really rambling now (not to mention creating a few more months of work for myself!) but maybe I can pull something satisfactory out of all this. :)

Thanks,
Luke

quixote
February 16th, 2011, 04:39 PM
Ramble away! ;) That's how you come up with great solutions, in my experience.

I found the static IP settings that you mentioned. I missed those because to get to them it involved hitting the settings button in the sub-menu of the wifi setting page. I configured my phone to use a static IP and I suppose I'll have to set that up on the router as well so that it doesn't have any conflicts when the router decides to refresh the network addresses. It didn't solve my problem, but I did notice that in the same settings page there is a way to set my phone to never turn off the wifi, even when the screen is off. I'm not sure how that would impact my battery life, but I'm not going to try that out just yet. I'll talk to my developer friend and see what he has to say about the app reconnecting after the wifi is re-initiated.

Having the option for the init process on the start-up screen instead of the splash would be great, even if there is not much being reported. It would be handy to see where in the loading process the app is; for the sake of my own impatience as well as for debugging purposes. The Verbose Warnings are useful as well, but they are a little too intrusive for regular day to day use. (I don't necessarily want to see the size of my finger-press each time I hit a button :))

I like your idea of using the Android emulator with your layout/customization tool and I'm anxious to put together some of my own layouts. I won't hold out for the editor though, since I know you probably have a lot on your plate right now. Are there guidelines for sizes of graphic elements in your .pdf manual?

Also, did you get my email? Thanks.

HTLuke
February 16th, 2011, 06:03 PM
I agree, pressing the menu button while in a sub-menu of a page arrived at by hitting a menu item in the first place is obscure. I had to look it up on the net to find it again, having stumbled on it by accident the first time months ago.

The WiFi sleep option you're referring to is one of the settings that I mentioned in my earlier post, but I forgot that you could change it here (I'm used to setting it on the Nook through a dev tool). I have had my Evo set to never sleep for months now and I have noticed almost no discernable impact. I'm sure a lot of it depends on what other services your phone has running in the background fetching data though.

There's a theory that using WiFi actually can help battery life because the WiFi radio uses less power than the cell radio, so if it can use WiFi instead of cell to fetch some periodic updates, it makes up for the fact that the WiFi radio is on all the time. I do know the WiFi spec has some very aggressive power-saving functionality, so this doesn't surprise me much, though I've never seen anyone do any true before/after comparisons.

I've added the splash-screen toggle. Turns out (on my Evo anyway, the Nooks are slower) most of the time spent viewing the splash screen came from loading and initializing the video, so now with the splash deactivated it starts up fast. :D In fact it starts so fast that I'm not sure that any diagnostic data would be useful here.

But! This actually gave me a rather neat idea for layout design tools. I've been looking into the emulator possibility and it is still a good candidate, but I need to find out what licensing issues would exist for distributing a bundled Android emulator. But because the config was loading so fast on the device after the splash screen was disabled, I started tinkering... I added an option to not purge the image cache on refresh, and on my Evo the config reloads, parses and re-draws the screen wicked-fast. So I'm going to create a setting that will repeatedly grab the config.xml on the server every couple of seconds and see if it has changed, and if so, re-parse and re-draw the screen.

My intention here is that I set the phone in front of me while I muck with the XML file on the PC. Every time I save the XML on the server, a second or two later the change should automatically happen on-screen. What I'm thinking as a longer-term alternative to my previous ideas was to build a Win/Mac tool that edits the XML like I said before, but couple it with this device-based behavior instead of running the Android emulator. You'd use the device itself as your visual feedback as you design.

Sure it's not nearly as optimal as a true drag-it-where-you-want-it tool, but given a decent enough PC editor UI I think it could be pretty functional. What I really love about this idea is it is OS and device agnostic; it will literally work well for every screen size, OS version and device hardware spec there is. I could even theoretically grab screenshots from the device to display real-time in the PC editor, but I'm getting ahead of myself...

Regarding the Verbose Warnings mode, perhaps I'll classify the types of warnings and let the user discretely select which ones they'd like to see.

Generally for graphic sizes you want to optimally target a 1:1 image-to-screen size so you don't have to mess with scaling on the device. What I've done for the Evo was just create a Photoshop doc that was 480 x 800 (matching my Evo screen dimensions) and design the interface there, then save out the background and buttons individually as PNGs or JPGs.

Sorry I didn't get your email, I had an issue with my email address used on these forums but I've fixed it now, if you could possibly re-send?

Thanks,
Luke

quixote
February 16th, 2011, 06:12 PM
Awesome idea of using the phone for visual cues while developing interfaces.

Can I get your latest version from the link that you provided in an earlier post?

I resent you my email.

jumbodogs
February 16th, 2011, 08:34 PM
Yeah I would like to get the newest version also .... maybe start new thread with updated version?

What about a landscape layout ... I did my last NR skin in landscape mode and I would like to copy most of that layout over anything I should know before I get started?

jumbodogs
February 16th, 2011, 09:55 PM
When I design layout for skin I use graphics program to get idea on the layout first. A quick way to see how everything will look is save your work in drop box folder then just use the dropbox app on your phone to load that png or whatever you are saving the layout as.

Thought I would mention as I do this a lot to get an idea on button size and feel.

HTLuke
February 17th, 2011, 01:30 PM
I've finished off a few new features and am in the processing of regression testing and packaging, which I hope to have done this afternoon or evening. I'll post that version up then to a new thread, and link to that thread from here.

Jumbodogs, there's no specific issues with designing landscape vs. portrait. You can set each page's orientation with an attribute in the XML and/or you can set the entire app's default orientation in Settings. There's no auto-rotation support because most screens are far from square and there would be few layouts that would seamlessly rotate well.

HTLuke
February 18th, 2011, 09:59 PM
I have created a new thread specifically for Andre here (http://www.promixis.com/forums/showthread.php?t=21079). Please check there for updates and stuff. :)

Thanks!

touch43
July 23rd, 2011, 02:22 PM
Several people are using Touch IR+ successfully with Girder. Includes two-way communication, completely custom remote control interfaces, and much, much more. w ww.touch-ir.c om

yonu
September 5th, 2011, 11:17 PM
I am going to ask a simple question as a user of girder and Netremote I would love to know when if ever should we expect official support for iphone/Android and/or A webserver designer.

Thanks,
Yonu

tmorten
September 6th, 2011, 06:37 PM
I am continuing development on my webserver based project, whose interface I have tested successfully on a variety of platforms including iOS and Android via browser. It is possible to enable web apps to run as native apps through a variety of tools such as Phonegap, so this is something that I also plan to explore in the future. Meanwhile, the PEAC platform also continues to mature.

Cheers,
Tim

pfeifer
September 7th, 2011, 03:57 AM
Tim helped me :-) and on my site http://www.sdomotica.com you can see what is possibile with Girder, Ajax, JQplot, and Jquery Mobile.

Next step is implement all with PhoneGap for improve the UI.

Bye
Sandro

yonu
September 10th, 2011, 11:50 PM
thanks for the update tim any ideas on a alpha/beta release?

pleifer that looks very good

tmorten
September 11th, 2011, 11:50 AM
No fixed plans, but I will continue to update this thread as I get closer.

Cheers,
Tim

rkirmeier
September 14th, 2011, 11:45 AM
Interesting article I stumbled across regarding native vs. HTML5 apps... http://www.infoworld.com/d/mobile-technology/why-native-mobile-apps-beat-html5-mobile-apps-171306

tmorten
September 14th, 2011, 04:40 PM
Lots of opinions on both sides of the debate. The author of that article is clearly not a developer, and has many misconceptions about HTML5. For instance, he says: "Gestures are also not supported, so navigating through rich HTML websites can be impossible." Browsers on multi-touch devices support various touch and swipe capabilities, and these features are commonly used in HTML5 apps. For instance, take a look at JQTouch (which features its own API for swipe detection): http://jqtouch.com/ You will see more and more HTML5 apps from many different vendors in the months to come, which are every bit as functional as native apps.

Best,
Tim