As a recent iPad owner, I got to wondering what would be involved, or even is it technically possible, to develop a SWremote app. (Excuse this post if this has been addressed before.) I'm not necessarily suggesting that it be developed within the HB community. Rather, I'm just curious to know if it's technically feasible, development cost prohibitive, or if "possible" but not "practical". And if possible, but would not be "full featured", is it possible to know without further research how feature-limited it would be?
I'm currently using a remote desktop iPad app (Mocha RDP) to link to the HB server, which has an open/running Swremote. It works reasonably well. But the limitations are obvious, primarily, those needing/using more than one theme would need two SWremotes running on the same "SWremote server" (is that possible?), or two separate SWremote server boxes.
Clearly, this has the disadvantage of being hardware specific, i.e. Android tablet users need not apply. And it could be that it's possible or not possible from a purely technical standpoint for either platform. But, revenue from app sales questions aside, could a full featured iPad app be developed if software development money we're thrown at it?
iPad Software Remote?
-
- HouseBot Guru
- Posts: 757
- Joined: Wed Apr 02, 2003 8:10 pm
- Location: Pelham AL
iPad Software Remote?
Steve
Re: iPad Software Remote?
Technically it's possible, but.... It depends on 1) what you want it to look like and 2)How should it know what to display.
If you want a full on theme like in SWRemote, then you will need some form of designer for the iPad remote. So for that solution you now have an iPad app where you ca both design and control. Feasible and so far so good. For an app that has "stock" buttons, even though though you wouldn't need to design your layout, you would still need some method of listing the HB devices so you could select the ones you wanted in your app.
Once you get beyond the designer and what you see, is where it get's tricky. There would need to be a piece of software that talks to HB and provides all the necessary information to the ipad for designing, devices, values, + + +. There is limited functionality in HB to do this natively. To get all the info you need to go directly to the HB database. Feasible, but not ideal.
At the end of the day, someone writing an iPad app would have to write two pieces of software... One for the iPad and one for the HB server to talk to the iPad.
Tim
If you want a full on theme like in SWRemote, then you will need some form of designer for the iPad remote. So for that solution you now have an iPad app where you ca both design and control. Feasible and so far so good. For an app that has "stock" buttons, even though though you wouldn't need to design your layout, you would still need some method of listing the HB devices so you could select the ones you wanted in your app.
Once you get beyond the designer and what you see, is where it get's tricky. There would need to be a piece of software that talks to HB and provides all the necessary information to the ipad for designing, devices, values, + + +. There is limited functionality in HB to do this natively. To get all the info you need to go directly to the HB database. Feasible, but not ideal.
At the end of the day, someone writing an iPad app would have to write two pieces of software... One for the iPad and one for the HB server to talk to the iPad.
Tim
-
- HouseBot Guru
- Posts: 757
- Joined: Wed Apr 02, 2003 8:10 pm
- Location: Pelham AL
Re: iPad Software Remote?
So the relationship of the SWRemote client to the HB server is a lot more "unique", as opposed to generic, than I would have expected. Middleware would be required at the server box. And the way I understand it, the HB server would not even need to be running, for an iPad-only application. The middleware/HB server clone would access the back-end and communicate with the iPad app. (At that point, the middleware is really not middleware at all.) The HBserver software would only be used to develop themes and populate the back end... Or maybe not. The "iPad designer" would take on that role. It sound like you've replaced the HBserver with a designer and a iPad host interface, and the actual iPad app.
If that's correct or close, would the developer need any HB proprietary knowledge, aside from the back end's structure?
Not that anything would come of this conversation, but I think it's useful in the sense that it documents what would be required to implement and offer full iPad support.
Thanks Tim,
If that's correct or close, would the developer need any HB proprietary knowledge, aside from the back end's structure?
Not that anything would come of this conversation, but I think it's useful in the sense that it documents what would be required to implement and offer full iPad support.
Thanks Tim,
Steve
Re: iPad Software Remote?
The relationship between the SWRemote and HBserver is very unique. So unique there is next to nothing that would be of any use for designing an iPad app. Likewise for the HBserver itself, there is simply some stuff that it can't do for working with any other client such as an iPad app. This is where the middleware would come in.
Consider HB already a middleware that sits between the SWRemote and the database. An iPad middleware would be complimentary to the existing HB server, not a replacement. The ipad middleware would do the stuff the HB server can't do today for clients other than SWRemote. A perfect example of this would be something like generating a list of all devices for the client. HBserver can not do that today with what is exposed for developers to use. You need functionality like that so the designer knows what it has to work with.
Basic functionality for turning devices on, off, running tasks, etc would all remain with the HBserver. But again, the middleware app would be responsible for talking to the ipad app, receiving commands, and passing it to the HBserver to do it's thing.
One could write an ipad app with reduced fucntionality to reduce the amount of development required for the middleware, but it would be cumbersome to work with in my opinion. Imagine a designer that was "dumb" it knows nothing about devices or views. You would have to tell it *everything* about your HB setup... Create a button, enter in exactly the device name you want the button to work with, enter in exactly the value and the property you want to work with. It just opens up the can of worms to a lot of typos and extra effort. (Think current Theme Designer with no dropdowns!)
All that being said, if you want something really crude for viewing & setting values, you could look at the original external web control CGI plugin which requires a webserver to work, but has examples. Or you could use my HBwebserver plugin which has the ability to set & get device/property values. Maybe if I am inspired this weekend I'll write a couple of examples.
Tim
Consider HB already a middleware that sits between the SWRemote and the database. An iPad middleware would be complimentary to the existing HB server, not a replacement. The ipad middleware would do the stuff the HB server can't do today for clients other than SWRemote. A perfect example of this would be something like generating a list of all devices for the client. HBserver can not do that today with what is exposed for developers to use. You need functionality like that so the designer knows what it has to work with.
Basic functionality for turning devices on, off, running tasks, etc would all remain with the HBserver. But again, the middleware app would be responsible for talking to the ipad app, receiving commands, and passing it to the HBserver to do it's thing.
One could write an ipad app with reduced fucntionality to reduce the amount of development required for the middleware, but it would be cumbersome to work with in my opinion. Imagine a designer that was "dumb" it knows nothing about devices or views. You would have to tell it *everything* about your HB setup... Create a button, enter in exactly the device name you want the button to work with, enter in exactly the value and the property you want to work with. It just opens up the can of worms to a lot of typos and extra effort. (Think current Theme Designer with no dropdowns!)
All that being said, if you want something really crude for viewing & setting values, you could look at the original external web control CGI plugin which requires a webserver to work, but has examples. Or you could use my HBwebserver plugin which has the ability to set & get device/property values. Maybe if I am inspired this weekend I'll write a couple of examples.
Tim
-
- HouseBot Guru
- Posts: 757
- Joined: Wed Apr 02, 2003 8:10 pm
- Location: Pelham AL
Re: iPad Software Remote?
I thought it was concluded that the HB web server and its browser client were (was?) not the way to go - limited functionality and essentially more trouble than it was worth.
I'm not looking at developing an iPad remote or suggesting that anyone in the HB community do so. My question was basically is it technically possible if enough money was thrown at an outside iPad app developer. And, based on your explanation re the middleware's role, are there sufficient hooks in the HB Server executable for the iPad middleware to communicate with? And are they documented and/or is Scott or whoever willing to provide the necessary support for the developer?
If an iPad remote were to be developed I think that it would need to be full featured, at least ultimately. Same for any ipad theme designer.
Dont exspend any effort on this. This thread was more of a "what if". My intent was to ask what was possible to make HB attractive to the iPad community; maybe extend Housebot's life a few years. Thanks for the brainstorming.
I'm not looking at developing an iPad remote or suggesting that anyone in the HB community do so. My question was basically is it technically possible if enough money was thrown at an outside iPad app developer. And, based on your explanation re the middleware's role, are there sufficient hooks in the HB Server executable for the iPad middleware to communicate with? And are they documented and/or is Scott or whoever willing to provide the necessary support for the developer?
If an iPad remote were to be developed I think that it would need to be full featured, at least ultimately. Same for any ipad theme designer.
Dont exspend any effort on this. This thread was more of a "what if". My intent was to ask what was possible to make HB attractive to the iPad community; maybe extend Housebot's life a few years. Thanks for the brainstorming.
Steve
Re: iPad Software Remote?
The HBWebserver is fine for delivering web pages and using JSON to get & set properties. Anything beyond that, such as trying to interpret the theme XML and serve it as the webClient, is not the way to go.
More specific questions...
are there sufficient hooks in the HB Server executable for the iPad middleware to communicate with?
No. Hence the requirement/workaround to talk to the database directly.
And are they documented and/or is Scott or whoever willing to provide the necessary support for the developer?
Only the API for developing plugins is documented. The API is not adequate for developing clients.
Technically possible, but probably not worth it IMHO.
Tim
More specific questions...
are there sufficient hooks in the HB Server executable for the iPad middleware to communicate with?
No. Hence the requirement/workaround to talk to the database directly.
And are they documented and/or is Scott or whoever willing to provide the necessary support for the developer?
Only the API for developing plugins is documented. The API is not adequate for developing clients.
Technically possible, but probably not worth it IMHO.
Tim
-
- HouseBot Guru
- Posts: 757
- Joined: Wed Apr 02, 2003 8:10 pm
- Location: Pelham AL
Re: iPad Software Remote?
Thanks for the analysis Tim. At least now we know...Timoh wrote:...
Technically possible, but probably not worth it IMHO.
Tim
Steve