<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p> Hey Shaan,</p>
    <p>Thanks for your suggestions. I have also quite felt that. Working
      on a simpler theme right now!!</p>
    <p>I were having the plan of adding three themes :</p>
    <ul>
      <li>classic (extremely less css; looks like 1995)</li>
      <li>simple (moderate css; looks simple: white/black)<br>
      </li>
      <li>colorful (too much css; looks special) <br>
      </li>
    </ul>
    <p>:D</p>
    <p><i>> Cool lava lamp toggle :P</i></p>
    <p>That was actually a feature that turned into a bug, and now back
      into a feature. I liked the moving gradient animation which makes
      it stand out from other popular websites, and I did not want to
      get lose of it. Recently, Manish found out that the CPU usage
      becomes near to 90% while using a Chromium Browser. On Firefox,
      (Gecko Engine), it did not make a noticeable usage. So, the hack
      was to use GPU by tricking Chromium to think it actually needs
      some GPU computation, hence reducing the stress on CPU.</p>
    <pre>.fun-gradient-animation-bg {
    /* Add some fun here */
    background: linear-gradient(270deg, #246655, #0086d2, #d100d2);
    background-size: 600% 600%;
    -webkit-animation: GradientFun 30s ease infinite;
    -moz-animation: GradientFun 30s ease infinite;
    -o-animation: GradientFun 30s ease infinite;
    animation: GradientFun 30s ease infinite;
    /*
    Optimize CPU usage on Chromium
    <a class="moz-txt-link-freetext" href="https://stackoverflow.com/questions/33313180/css-background-image-animation-high-cpu-usage">https://stackoverflow.com/questions/33313180/css-background-image-animation-high-cpu-usage</a>
    */
    translate: translate3d(0, 0, 0)  /* THIS LINE */
}
</pre>
    <p>So, I did not want to make users leave this page because of a CPU
      usage, even though its fixed. So I added a toggle. Creative users
      are likely to press the lab button and enable the transitional
      gradient. Its actually called Easter Eggs in programming. It
      brings a intimacy between a developer and a user; (you may like to
      read this
      <a class="moz-txt-link-freetext" href="https://en.wikipedia.org/wiki/Easter_egg_(media)#Software)">https://en.wikipedia.org/wiki/Easter_egg_(media)#Software)</a>. Its
      actually cool how some famous software uses Easter Eggs.<br>
    </p>
    <p><i>> Pagination might also be a good addition.</i></p>
    <p>Yea, Pagination might significantly reduce load time. It would be
      a great feature / addition!!  I am trying to learn how to
      implement it here.</p>
    <p> I started working on this so that I could get some hands on
      experience on Javascript / HTML and CSS. :D. Learning little by
      little :D<br>
    </p>
    <p>Thanks again for your suggestions. Lets hope for a soon release
      0.1.alpha</p>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 16/06/2020 19:26,
      <a class="moz-txt-link-abbreviated" href="mailto:shaansubbaiah.cs18@bmsce.ac.in">shaansubbaiah.cs18@bmsce.ac.in</a> wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:441596213.1721244.1592324780461@mail.yahoo.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div class="ydp9eb72449yahoo-style-wrap"
        style="font-family:Helvetica Neue, Helvetica, Arial,
        sans-serif;font-size:13px;">
        <div dir="ltr" data-setdir="false">Hey Srevin,</div>
        <div dir="ltr" data-setdir="false"><br>
        </div>
        <div dir="ltr" data-setdir="false">This looks really good! Page
          load times, search was fast. Haven't tried downloading any
          Activities though.</div>
        <div dir="ltr" data-setdir="false"><br>
        </div>
        <div dir="ltr" data-setdir="false">It may just be me but the
          page has a little too much contrast with the colors.</div>
        <div dir="ltr" data-setdir="false">Pagination might also be a
          good addition. Cool lava lamp toggle :P<br>
        </div>
        <div dir="ltr" data-setdir="false"><br>
        </div>
        <div dir="ltr" data-setdir="false">
          <div>Will be waiting for a full release <span>😃</span></div>
          <div><br>
          </div>
          <div dir="ltr" data-setdir="false">
            <div>Best,</div>
            <div dir="ltr" data-setdir="false">Shaan<br>
            </div>
            <span></span><span></span></div>
          <div><br>
          </div>
        </div>
        <div dir="ltr" data-setdir="false"><br>
        </div>
      </div>
      <div id="yahoo_quoted_2779799498" class="yahoo_quoted">
        <div style="font-family:'Helvetica Neue', Helvetica, Arial,
          sans-serif;font-size:13px;color:#26282a;">
          <div> On Tuesday, June 16, 2020, 9:24:53 PM GMT+5:30, Srevin
            Saju <a class="moz-txt-link-rfc2396E" href="mailto:srevinsaju@sugarlabs.org"><srevinsaju@sugarlabs.org></a> wrote: </div>
          <div><br>
          </div>
          <div><br>
          </div>
          <div>
            <div id="yiv8200096267">
              <div>
                <p>Hello, <br>
                </p>
                <p>Hope all are having a safe week amid nCoV.</p>
                <p>I and Manish (<a rel="nofollow"
                    class="yiv8200096267moz-txt-link-abbreviated"
                    ymailto="mailto:sugar@radii.dev" target="_blank"
                    href="mailto:sugar@radii.dev" moz-do-not-send="true">sugar@radii.dev</a>)
                  had been working on the GSoC project which did not get
                  a slot (Python3 app store aslov4), and I guess we have
                  made good progress in it. <i>We decided to
                    collaborate on the project because a frontend and
                    backend developer combo helps to get the best
                    features of both ends :D.</i></p>
                <p><font size="-1"><i>To avoid misconceptions and
                      misinterpretations, please read the entire email
                      before replying. Thanks!   :P</i></font><br>
                </p>
                <p><b>Need Statement</b>:<br>
                </p>
                <p>In short, the most important points</p>
                <ul>
                  <li><i>Create the simplest possible app store for
                      Sugar activities, where each activity included has
                      been (a) ported to Python 3 and released, and (b)
                      tested on Sugar Live Build.</i></li>
                  <li><i>We used to have an app store for Sugar
                      activities, but because we can't seem to attract
                      any PHP developers the app store has failed to
                      keep up with development.</i></li>
                  <li><i>We now use activities.sugarlabs.org for Python
                      2 activities only.</i></li>
                  <li><i>We have tried to make a replacement for <a
                        rel="nofollow" target="_blank"
                        href="https://activities.sugarlabs.org"
                        moz-do-not-send="true"> activities.sugarlabs.org</a>
                      three times, and each time the features we need
                      were not finished. These projects have been too
                      ambitious and have not been supported collectively
                      by the Sugar Labs community.</i></li>
                </ul>
                <p><i>~ from </i><i><a rel="nofollow"
                      class="yiv8200096267moz-txt-link-freetext"
                      target="_blank"
href="https://github.com/sugarlabs/GSoC/blob/master/Ideas-2020.md#sugar-app-store-for-python-3-activities-aslov4"
                      moz-do-not-send="true">https://github.com/sugarlabs/GSoC/blob/master/Ideas-2020.md#sugar-app-store-for-python-3-activities-aslov4</a></i></p>
                <p>This made us rethink the idea of a redesigned app
                  store for sugarlabs. This, would be a collection of
                  all the activities in sugarlabs organization which can
                  be <i><b>successfully</b> built</i> without <i>errors</i>.</p>
                <p>The <b>new app store </b>is special in a lot of
                  ways, let me bring out the<i> most important points:</i><br>
                </p>
                <ol start="1">
                  <li>The appstore is built in <u>pure static HTML</u>,
                    <a rel="nofollow" target="_blank"
                      href="https://developer.mozilla.org/en-US/docs/Web/JavaScript"
                      moz-do-not-send="true">Vanilla Javascript</a> and
                    <a rel="nofollow" target="_blank"
                      href="https://jquery.com/" moz-do-not-send="true">JQuery</a>.
                    Anyone with <i>basic Javascript knowledge</i> can
                    easily add features. Theming and customization are
                    provided by <a rel="nofollow" target="_blank"
                      href="https://getbootstrap.com"
                      moz-do-not-send="true">Bootstrap4</a>. The theme,
                    scripts are completely <u>independent</u> of each
                    other. Changes to the <i>will not </i>affect the
                    generation of the appstore. <br>
                  </li>
                  <li><b>Search function</b> is provided by a powerful
                    Javascript library called <a rel="nofollow"
                      target="_blank"
                      href="https://github.com/lucaong/minisearch"
                      moz-do-not-send="true">minisearch</a> which is an
                    open source search indexer. All processing is
                    therefore done on client side. The benefits of using
                    an external library are many, as you know, <br>
                  </li>
                  <li>The App Store is based on <b>JSON</b> (<i>Javascript
                      Object Notation</i>). an "<font face="Courier New,
                      Courier, monospace">index.json</font>" is produced
                    by the generator helper script so that search
                    indexing, activity filtering can be easily done on
                    the client side.<br>
                  </li>
                  <li><a rel="nofollow" target="_blank"
                      href="https://github.com/sugarlabs-appstore/sugarappstore"
                      moz-do-not-send="true">Python scripts</a> are used
                    to generate static HTML files of the app bundles and
                    <b>index.json</b>. The activity's unique HTML
                    document is produced without style / css, and are
                    externally loaded, so that it can be customized /
                    removed whenever necessary (for example on very low
                    bandwidth connections, or for adding another theme)</li>
                  <li>Sugar Appstore depends on <b>static HTML</b>s
                    also because, it can be useful for SEOs, and to
                    provide an external link to the activity from a
                    third party website. Dynamically filtered search
                    results might not be static. Providing a correct
                    link to the bundle helps another user to share a
                    specific activity bundle with another</li>
                  <li>All the activities on <a rel="nofollow"
                      target="_blank"
                      href="https://github.com/sugarlabs"
                      moz-do-not-send="true">https://github.com/sugarlabs
                    </a>are<b> indexed automatically </b><<i>see </i><b>(</b><b>9</b><b>)</b>><i>
                    </i>and built using <b>Continuous Integration</b>
                    (GitHub Actions) over <a rel="nofollow"
                      target="_blank"
                      href="https://github.com/srevisaju/sugar-activity-build"
                      moz-do-not-send="true">here</a>. Out of 300+
                    bundles, <b>199</b> and <i>still counting </i>have
                    successfully built a <font face="Courier New,
                      Courier, monospace">*.xo</font> bundle and are
                    continuously uploaded to CDN. <br>
                  </li>
                  <li>The<b> appstore could be downloaded for Offline
                      use</b>, or can be hosted on a local server if a
                    user would not like to use the online one. This is
                    specifically useful, if a school would host, the
                    sugar appstore on its local server, so students
                    could download activities without accessing the
                    internet. The entire app store (<i>batteries</i> and
                    <i>bundles</i> included) weighs approximately 613
                    MB. See <i><a rel="nofollow" target="_blank"
href="https://github.com/srevinsaju/sugar-activity-build/releases/tag/latest"
                        moz-do-not-send="true">this</a></i> for a
                    detailed idea.</li>
                  <li>In case a user would like to add<u> another bundle
                    </u>to the sugar appstore, previously he/she had to
                    have a SugarLabs shell account (AFAIK, and <i>as
                      far as I understand</i>). This might limit the
                    accessibility to some users. This is hence solved by
                    a new system of adding bundles to the activity. <u><b>Pull
                        Request to Add Applications </b> </u>is system
                    which I adopted from the AppImage Hub (<a
                      rel="nofollow" target="_blank"
                      href="https://github.com/appimage/appimage.github.io"
                      moz-do-not-send="true">https://github.com/appimage/appimage.github.io</a>)
                    where a <a rel="nofollow" target="_blank"
                      href="https://appimage.github.io"
                      moz-do-not-send="true">similar app store</a> is
                    built based on the same concept. Every PR is tested
                    by continuous integration, and then all successfully
                    merged PRs are added to the website, and the static
                    website rebuild is triggered on each commit. A
                    similar idea is implemented in Sugarlabs Appstore.
                    This ensures that a .xo can be built on another host
                    also using the same commands. Improving the quality
                    of the bundles. For information regarding how to add
                    a bundle, see <a rel="nofollow" target="_blank"
href="https://github.com/srevinsaju/sugar-activity-build#adding-your-bundles-xo"
                      moz-do-not-send="true">this</a>. For a sample PR
                    which intends to add a bundle, see <a
                      rel="nofollow" target="_blank"
                      href="https://github.com/srevinsaju/sugar-activity-build/pull/6"
                      moz-do-not-send="true">PR#6</a> which intends to
                    add Jupyter Activity. All <i>urls</i> which can be
                    cloned using <a rel="nofollow" target="_blank"
                      href="https://git-scm.com/" moz-do-not-send="true"><i>git</i></a>
                    are accepted. You may look into how the build script
                    works here <a rel="nofollow" target="_blank"
href="https://github.com/srevinsaju/sugar-activity-build/blob/master/.github/workflows/bundle_test.yml"
                      moz-do-not-send="true">https://github.com/srevinsaju/sugar-activity-build/blob/master/.github/workflows/bundle_test.yml</a>.
                    <i>For those users who are not interested in GitHub,
                      its recommended if Sugarlabs would host a GitLab
                      which also supports CI; As this issue has been
                      discussed previously, I am not putting too much
                      insight into the same; :D</i></li>
                  <li>Builds are refreshed <b>every 5th minute </b>of
                    a day; (<font face="Courier New, Courier, monospace"><span
                        class="yiv8200096267pl-ent">cron</span>: <span
                        class="yiv8200096267pl-s"><span
                          class="yiv8200096267pl-pds">"</span>5 * * * *<span
                          class="yiv8200096267pl-pds">"</span></span></font>).
                    There is no specific reason why 5th minute is
                    chosen, mostly because I can finish pushing changes
                    between 0th minute and 5th minute (normally because
                    my school classes finish at the 0th minute; LOL; )</li>
                  <li><b>Builds are hosted to netlify CDN</b>. <b>Netlify</b>
                    CDN is chosen because its free for open source, and
                    it also has a capability to get form submissions
                    without a server. This is a cheap implementation
                    without a server. There is no other reason why
                    netlify chosen. Netlify has a very permissive quota.
                    Other static site hosting as such as github.io will
                    make the repo huge; or will require payment.
                    Moreover. build on netlify takes only 1minute and 5
                    seconds to complete, with older fast network speed.</li>
                  <li><b>Responsive HTML design</b>. Makes it adaptable
                    on all screen sizes, on small android phones to
                    1080p screens and much more. This is better for SEO,
                    as well as accessibility.<br>
                  </li>
                  <li><b>Lighthouse speed testing</b> shows better <i>cumulative</i>
                    speed score than activities.sugarlabs.org. On
                    Desktop, the score for ASLOv4 is 94/100; on mobile
                    its 76/100 for ASLOv4. For activities.sugarlabs.org,
                    its 89/100 on Desktop, 76/100 on mobile. Results may
                    vary slightly from time to time; Repeat tests to get
                    concurrent values. Results provided by <a
                      rel="nofollow" target="_blank"
                      href="https://github.com/googlechrome/lighthouse"
                      moz-do-not-send="true">Lighthouse</a> powered by
                    Google. Result details for sugarstore.netlify.app :
                    <a rel="nofollow"
                      class="yiv8200096267moz-txt-link-freetext"
                      target="_blank"
href="https://developers.google.com/speed/pagespeed/insights/?url=https%3A%2F%2Fsugarstore.netlify.app%2F&tab=desktop"
                      moz-do-not-send="true">https://developers.google.com/speed/pagespeed/insights/?url=https%3A%2F%2Fsugarstore.netlify.app%2F&tab=desktop</a>;
                    Result details for activities.sugarlabs.org: <a
                      rel="nofollow"
                      class="yiv8200096267moz-txt-link-freetext"
                      target="_blank"
href="https://developers.google.com/speed/pagespeed/insights/?url=https%3A%2F%2Factivities.sugarlabs.org&tab=desktop"
                      moz-do-not-send="true">https://developers.google.com/speed/pagespeed/insights/?url=https%3A%2F%2Factivities.sugarlabs.org&tab=desktop</a></li>
                  <li>Its possible to embed (keeping a local copy of) <i>JQuery</i>
                    and <i>Bootstrap</i> for offline use, but I
                    personally prefer to keep the cdn (i.e
                    <script>), this is because; modern browsers
                    automatically cache commonly used script files. So
                    this would increase the performance with caching.
                    This will not require the user to download the libs
                    again. Moreover, if the user has visited any other
                    site which uses the same library, it would be
                    actually better.</li>
                  <li>It looks sophisticated to keep a download count on
                    static websites, but that does not mean its
                    impossible. Its nevertheless, not possible (afaik)
                    to get download files with only static files (i.e
                    without a server to depend on). I could</li>
                  <ol>
                    <li>send a POST request to another server, which
                      would increment the download count on every click
                      of the download button; along with a GET request
                      from the server to get the download count. This
                      would imply, for every activity; a GET request
                      will be emitted, or preferably, a single GET
                      request to get all the download counts and update
                      each of the activity shown for display with the
                      new <br>
                    </li>
                    <li>Use Firebase Library to create a firebase server
                      where I could use Cloud Firestore and send and
                      receive download stats. However, this has a few
                      cons: i.e increase the page load time from 1.1s to
                      2.3 seconds; as well as make it complex to protect
                      the server from user manipulation of the download
                      count. I have tried this, I will enable it, if
                      necessary</li>
                    <li>Add a download analytics with a one way download
                      count (send only - no receive). By using Google
                      Analytics, I can send custom event trigger, and
                      administrators can analyze and filter data / sort
                      data by download counts. I, however, did not find
                      a direct method to get data from Google Analytics.</li>
                  </ol>
                </ol>
                <ol start="15">
                  <li>Future Additions:</li>
                  <ol>
                    <li><b>Add Featured Activities</b>: Activities which
                      are most worked on: i.e <b>MusicBlocks</b>, <b>TurtleArt</b>,
                      <b>Physics</b> Activities, <b>Fructose</b> Set of
                      Activities could get a wide card along with a
                      feature image. This will act as a showcase to the
                      developer and the activity; mostly based on GitHub
                      Stargazers. <i>I would like to follow <a
                          rel="nofollow"
                          class="yiv8200096267moz-txt-link-freetext"
                          target="_blank" href="https://snapcraft.io"
                          moz-do-not-send="true">https://snapcraft.io</a>
                        as a reference from which Ubuntu Software is
                        built.</i><br>
                    </li>
                    <li><b>Add a link to </b><b>Flatpak</b><b> Package</b>:
                      this aslov4 could be the <i>final</i> activity
                      store for sugarlabs. Recently many contributions
                      have diverged. Its important to unify them
                      together. Some users might prefer flatpak over a
                      .xo file. Activities that are packaged as Flatpaks
                      are good because some users, follow a modern
                      desktop system, or might not be interested to
                      install Sugar OS to run sugar desktop. For those
                      corner cases, providing Flatpak as an alternative
                      would not let users turn away from using Sugar
                      Activities. Primarily Sugar Activities are meant
                      for improving a child's skills or understanding;
                      which ever mode, an activity is distributed; i.e.,
                      the most accessible package.</li>
                    <li>Add information to other packages of sugar
                      activity bundle. This includes Ubuntu Packages.
                      Fedora RPMs, and the Arch Linux Community
                      Packages; I will need a way to identify each of
                      them; But at the present, I would like to leave it
                      as is. If any developers at sugar is interested to
                      change some structure of Sugar Repository, this
                      would make things faster. <br>
                    </li>
                    <li><b>Add a screenshot, description tag in
                        activity.info</b>: Screenshots of the working
                      activity on the appstore will probably give a
                      clearer idea on how the activity works. The <a
                        rel="nofollow"
                        class="yiv8200096267moz-txt-link-freetext"
                        target="_blank"
                        href="https://help.sugarlabs.org"
                        moz-do-not-send="true">https://help.sugarlabs.org</a>
                      is not frequently updated with changes on
                      activity's repository. If we could add another tag
                      called screenshots (following the convention given
                      by Martin on <a rel="nofollow"
                        class="yiv8200096267moz-txt-link-freetext"
                        target="_blank"
                        href="https://github.com/tchx84/sugarapp"
                        moz-do-not-send="true">https://github.com/tchx84/sugarapp</a>.
                      See <a rel="nofollow"
                        class="yiv8200096267moz-txt-link-freetext"
                        target="_blank"
href="https://github.com/tchx84/sugarapp/blob/master/flatpak-guide.md#porting-an-application-with-sugarapp"
                        moz-do-not-send="true">https://github.com/tchx84/sugarapp/blob/master/flatpak-guide.md#porting-an-application-with-sugarapp</a>
                      (point 7) on how an ideal <font face="Courier
                        New, Courier, monospace">"activity.inf</font>o"
                      could be created. This would help me out in
                      creating a better appstore (faster). The new<font
                        face="Courier New, Courier, monospace">
                        "activity.info" </font>could include '<font
                        face="Courier New, Courier, monospace">screenshot</font>'
                      and '<font face="Courier New, Courier, monospace">description</font>'
                      tag which is not currently used. Martin has also
                      mentioned of the source of the new data in the
                      link given below.<br>
                    </li>
                    <li>Create a<b> Python3 minimal activity </b>which
                      does not need to load the entire website for
                      downloading an activity. The activity will just
                      pull index.json, and parse it. As the extra HTML,
                      CSS, and JS are unnecessary for a GTK3 based
                      sugar-activity, it would help to save a lot of
                      data, especially on countries where internet
                      connection is extremely slow (<i>50kbps</i> ?)<br>
                    </li>
                  </ol>
                </ol>
                <p>I would like to convey my thanks to Manish for
                  providing me frequent suggestions and always pointing
                  out important flaws ( High CPU usage bug in <i>Chromium/Chrome</i>
                  Browser: <a rel="nofollow" target="_blank"
href="https://github.com/sugarlabs-appstore/sugarappstore-static/commit/65a7b8f3ea2593976ef21df7a2592b030501c6d8"
                    moz-do-not-send="true">65a7b8f3ea2593976ef21df7a2592b030501c6d8</a>
                  , Accessibility ), and also the base repository, i.e.,
                  <a rel="nofollow"
                    class="yiv8200096267moz-txt-link-freetext"
                    target="_blank"
                    href="https://github.com/free-libre-software/sugarappstore"
                    moz-do-not-send="true">https://github.com/free-libre-software/sugarappstore</a>
                  as a template and idea provider for the <i>sugarlabs
                    app store</i> to take this shape. <br>
                </p>
                <p>________________________________________________<br>
                </p>
                <p><b>Logo</b>:</p>
                <p>The logo is designed under Creative Commons License
                  Attribution Share Alike 4.0. You may get the source
                  code of the logo here: <br>
                </p>
                <p><i><b>source</b></i>: <a rel="nofollow"
                    class="yiv8200096267moz-txt-link-freetext"
                    target="_blank"
                    href="https://github.com/sugarlabs-appstore/appstore-assets"
                    moz-do-not-send="true">https://github.com/sugarlabs-appstore/appstore-assets</a></p>
                <p>The logo has been designed with modern conventions of
                  app design - symmetry and vibrance. Maybe its similar
                  to the colorful icon design proposal for GSoC : <i><a
                      rel="nofollow"
                      class="yiv8200096267moz-txt-link-freetext"
                      target="_blank"
href="https://github.com/sugarlabs/GSoC/blob/master/Ideas-2020.md#colored-desktop-and-activity-icons"
                      moz-do-not-send="true">https://github.com/sugarlabs/GSoC/blob/master/Ideas-2020.md#colored-desktop-and-activity-icons</a></i><br>
                </p>
                <p>________________________________________________</p>
                <p><b>Generator</b> (tool used to generate static
                  webpages):</p>
                <p>The generator is script which automates build process
                  of bundles and writes static HTML files. Primarily
                  written on Python Programming Language, can be
                  customized with alternative script files which are
                  supported on Linux. Generator, aka (internally
                  called), SaaSBuild (Build tool for Sugarlabs Activity
                  App Store), is designed to be multi platform
                  supported, although tested on Linux only. Its possible
                  to run it on other OSes too.</p>
                <p><i><b>source</b></i>: <a rel="nofollow"
                    class="yiv8200096267moz-txt-link-freetext"
                    target="_blank"
                    href="https://github.com/sugarlabs-appstore/sugarappstore"
                    moz-do-not-send="true">https://github.com/sugarlabs-appstore/sugarappstore</a></p>
                <p><b>NOTE</b> [IMPORTANT]: Current development goes on
                  in PR#4 (<i><a rel="nofollow"
                      class="yiv8200096267moz-txt-link-freetext"
                      target="_blank"
                      href="https://github.com/sugarlabs-appstore/sugarappstore/pull/4"
                      moz-do-not-send="true">https://github.com/sugarlabs-appstore/sugarappstore/pull/4</a></i>).
                  You might need to checkout <b>oop-ss</b> if you want
                  to test out the latest features. The <b>master</b>
                  branch contains the work by Manish before the official
                  start of GSoC. <i>The PR is waiting for a review.</i><br>
                </p>
                <p>________________________________________________</p>
                <ol start="1">
                </ol>
                <p><b>Static HTML, CSS, JS</b></p>
                <p>These are files which can be run without the need of
                  the generated index.json. Using JQuery, the data is
                  dynamically read, and updated on the index.html.</p>
                <p><i>Q) Why was Static parts of the website not merged
                    with the generator (SaaSBuild)?</i></p>
                <p>Its because of yet another few reasons</p>
                <ul>
                  <li>Another developer could manually add his own
                    themes / html styleset with, maybe another JS
                    Framework, for example React, Angular or Vue.js
                    later. He/She would not have to rewrite the
                    Generator class again for changing the frontend
                    part.</li>
                  <li>Developers who are willing to contribute to HTML /
                    Web design / Js can only work on the "static"
                    repository. This will help to (probably) increase
                    contributors. A developer who is only good at JS
                    would not be hence be discouraged to contribute to
                    the current repository, if Python is also involved.</li>
                </ul>
                <p><b><i>source</i>: </b><a rel="nofollow"
                    class="yiv8200096267moz-txt-link-freetext"
                    target="_blank"
                    href="https://github.com/sugarlabs-appstore/sugarappstore-static"
                    moz-do-not-send="true">https://github.com/sugarlabs-appstore/sugarappstore-static</a></p>
                <p>________________________________________________</p>
                <p><b>Continuous Integration</b></p>
                <p>Continuous Integration Downloads and sets up Sugar
                  desktop, i.e <i>sugar-toolkit-gtk3</i>, <i>sugar</i>,<i>
                    sugar-datastore</i>, <i>sugar-artwork</i> and
                  creates bundles and packages it for publish to CDN<br>
                </p>
                <p><i><b>source</b></i>: <a rel="nofollow"
                    class="yiv8200096267moz-txt-link-freetext"
                    target="_blank"
                    href="https://github.com/srevinsaju/sugar-activity-build"
                    moz-do-not-send="true">https://github.com/srevinsaju/sugar-activity-build</a></p>
                <p>________________________________________________</p>
                <p>The <b>DEPLOYED WEBSITE:</b></p>
                <p>The <u>best</u> part, check it out here: <b><a
                      rel="nofollow"
                      class="yiv8200096267moz-txt-link-freetext"
                      target="_blank"
                      href="https://sugarstore.netlify.app"
                      moz-do-not-send="true">https://sugarstore.netlify.app</a></b></p>
                <p>For a list of indexed apps in a portable format: <br>
                </p>
                <ul>
                  <li><b><a rel="nofollow"
                        class="yiv8200096267moz-txt-link-freetext"
                        target="_blank"
                        href="https://sugarstore.netlify.app/index.json"
                        moz-do-not-send="true">https://sugarstore.netlify.app/index.json</a></b></li>
                  <li><b><a rel="nofollow"
                        class="yiv8200096267moz-txt-link-freetext"
                        target="_blank"
href="https://github.com/srevinsaju/sugar-activity-build/releases/download/latest/index.json"
                        moz-do-not-send="true">https://github.com/srevinsaju/sugar-activity-build/releases/download/latest/index.json</a></b></li>
                  <li><b><a rel="nofollow"
                        class="yiv8200096267moz-txt-link-freetext"
                        target="_blank"
href="https://github.com/srevinsaju/sugar-activity-build/releases/download/latest/sitemap.xml"
                        moz-do-not-send="true">https://github.com/srevinsaju/sugar-activity-build/releases/download/latest/sitemap.xml</a></b></li>
                </ul>
                <p>For bundles app store (portable - except cdn), see</p>
                <p><b><a rel="nofollow"
                      class="yiv8200096267moz-txt-link-freetext"
                      target="_blank"
                      href="https://github.com/srevinsaju/sugar-activity-build/releases"
                      moz-do-not-send="true">https://github.com/srevinsaju/sugar-activity-build/releases</a></b></p>
                <p>________________________________________________</p>
                <p><b><i>Q) How to run the appstore?</i></b></p>
                <p>Use any static hosting server; for testing I use:</p>
                <ul>
                  <li><font face="Courier New, Courier, monospace">python3
                      -m http.server 3000</font></li>
                  <font face="Courier New, Courier, monospace"> </font>
                  <li><font face="Courier New, Courier, monospace">gunicorn</font></li>
                  <font face="Courier New, Courier, monospace"> </font>
                  <li><font face="Courier New, Courier, monospace">php</font></li>
                  <font face="Courier New, Courier, monospace"> </font>
                  <li><font face="Courier New, Courier, monospace">npm
                      install -g http-server; http-server</font></li>
                  <font face="Courier New, Courier, monospace"> </font>
                  <li><font face="Courier New, Courier, monospace">apache</font></li>
                  <font face="Courier New, Courier, monospace"> </font>
                  <li><font face="Courier New, Courier, monospace">ngrok</font></li>
                  <font face="Courier New, Courier, monospace"> </font>
                  <li><font face="Courier New, Courier, monospace">serveo</font><br>
                  </li>
                </ul>
                <p><b>Regarding whom to approach:</b></p>
                <p>We are working on two different things. <a
                    rel="nofollow" ymailto="mailto:sugar@radii.dev"
                    target="_blank" href="mailto:sugar@radii.dev"
                    moz-do-not-send="true">Manish</a> knows a way lot
                  more than me regarding HTTP Headers, Sphinx, CORS,
                  User-Agent, and other web server related stuff.<a
                    rel="nofollow"
                    ymailto="mailto:srevinsaju@sugarlabs.org"
                    target="_blank"
                    href="mailto:srevinsaju@sugarlabs.org"
                    moz-do-not-send="true"> I </a>am working on design
                  (css, html, js) and the generator script (python), and
                  those related to sugar GTK shell, sugar activities. We
                  both collaborate on working with the generator script.<br>
                </p>
                <p>=====================================</p>
                Hope everyone like this. All questions are welcome.
                Please note that the App Store has<i> not yet released
                  v0.1,</i> so its basically in <i>alpha</i>. 
                <p>PS: If anyone is interested to contribute, PRs are
                  welcome. Please reply me on this thread if you require
                  access to <a rel="nofollow"
                    class="yiv8200096267moz-txt-link-freetext"
                    target="_blank"
                    href="https://github.com/sugarlabs-appstore/"
                    moz-do-not-send="true">https://github.com/sugarlabs-appstore/</a>
                  organization. It was created so that Manish and I
                  could collaborate. And also so that, development won't
                  freeze in the absence of one. <br>
                </p>
                <p>PS: If you have some other <i>sweet</i> suggestions
                  for Sugarlabs App Store (name), please let me know.
                  Just as <i>jarabe</i>, <i>carquinyol</i>, and <i>sucrose</i>
                  are used within sugar, it might be interesting for
                  kids to see their favorite sweet on the screen. We
                  have stuck with sugarlabs-appstore, as we did not get
                  any other name!</p>
                <p>Thanks if you read all the way till here!!<br>
                </p>
                <p>Stay safe! Take care!!<font size="+2"><br>
                  </font></p>
                <font size="+2"> </font>
                <ol start="1">
                </ol>
                <font size="+2"> </font>
                <pre class="yiv8200096267moz-signature"><font size="+2"><font size="+1">V/r

</font>Srevin Saju
</font><a rel="nofollow" class="yiv8200096267moz-txt-link-freetext" target="_blank" href="https://github.com/srevinsaju" moz-do-not-send="true">https://github.com/srevinsaju</a><font size="+2">

</font></pre>
                <br>
              </div>
            </div>
            _______________________________________________<br>
            Sugar-devel mailing list<br>
            <a ymailto="mailto:Sugar-devel@lists.sugarlabs.org"
              href="mailto:Sugar-devel@lists.sugarlabs.org"
              moz-do-not-send="true">Sugar-devel@lists.sugarlabs.org</a><br>
            <a href="http://lists.sugarlabs.org/listinfo/sugar-devel"
              target="_blank" moz-do-not-send="true">http://lists.sugarlabs.org/listinfo/sugar-devel</a><br>
          </div>
        </div>
      </div>
    </blockquote>
    <pre class="moz-signature" cols="72">-- 
V/r
Srevin Saju</pre>
  </body>
</html>