<p><br>
On Sep 9, 2012 8:51 PM, &quot;Nick Rout&quot; &lt;<a href="mailto:nick.rout@gmail.com">nick.rout@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt; On Mon, Sep 10, 2012 at 12:08 PM, Jay Ashworth &lt;<a href="mailto:jra@baylink.com">jra@baylink.com</a>&gt; wrote:<br>
&gt; &gt; ----- Original Message -----<br>
&gt; &gt;&gt; From: &quot;Daniel Frey&quot; &lt;<a href="mailto:dmfrey@gmail.com">dmfrey@gmail.com</a>&gt;<br>
&gt; &gt;<br>
&gt; &gt;&gt; The reason for requiring the data is to provide a search function that will<br>
&gt; &gt;&gt; globally search the program guide so that you can manage your recordings<br>
&gt; &gt;&gt; much like you would from mythweb. Just because you may not use this<br>
&gt; &gt;&gt; functionality, does not mean someone else will not. Please keep in mind<br>
&gt; &gt;&gt; this app will be another front end, not just a viewer. Please bare with us<br>
&gt; &gt;&gt; while we work out this loading issue.<br>
&gt; &gt;<br>
&gt; &gt; Please let me call your attention to &quot;client-server application design&quot;,<br>
&gt; &gt; the thing which SQL was,very roughly, invented to support.<br>
&gt; &gt;<br>
&gt; &gt; If you&#39;re yanking *the entire recorded programs directory* over the wire<br>
&gt; &gt; to the client, you badly need to refactor that code.<br>
&gt;<br>
&gt; That was kinda the thought I had, but didn&#39;t want to appear rude or<br>
&gt; ignorant (not saying you did either!). Also they are using the<br>
&gt; services api to do as much as possible, not sure what search<br>
&gt; facilities that provides?<br>
&gt;<br>
&gt; Daniel, don&#39;t get us wrong, we appreciate what you are doing!<br>
&gt;<br>
&gt;<br>
&gt; &gt;<br>
&gt; &gt; My apologies if this seems peremptory; I rewrote it 3 or 4 times.<br>
&gt; _______________________________________________<br>
&gt; mythtv-users mailing list<br>
&gt; <a href="mailto:mythtv-users@mythtv.org">mythtv-users@mythtv.org</a><br>
&gt; <a href="http://www.mythtv.org/mailman/listinfo/mythtv-users">http://www.mythtv.org/mailman/listinfo/mythtv-users</a><br></p>
<p>Thanks Nick.  You are correct, we are using the services api in Android. It allows us to load the data in the background. Also, the design pattern we use aims to minimize network activity (thus saving battery) by loading the data locally to a database and most interactions with the data are through the local database. It would be far too slow from a UI/UX standpoint to always be loading data from the backend on demand, and it would drastically affect battery. Loading the data to a local db allows us to provide a faster user experience. Albeit, the db load does take a long time to load and we are working on that. </p>

<p>Searching through programs, recordings, videos, etc will come later, once we get the db load more efficient. In order to implement a global search (like the YouTube app) we not only need to load the data to a database, but provide access via a Content Provider. Android may relax this requirement in the future, but for now, that is what we are stuck with. </p>

<p>Jay, we are not loading the entire db every time the app starts, it is only done the first time, and then in day increments. We then check daily and only add what&#39;s missing since your last mythfilldatabase run. Believe me, I have refactored this code numerous times to try to get it. The reason I block other activities is I don&#39;t want you trying to update other entries (recorded or upcoming)  while the db is loading data. </p>

<p>I hope this gives a little more insight into our design and the reasons we did what we did. </p>
<p>I am open to suggestions if anyone sees issue with this. </p>
<p>Dan</p>