<!DOCTYPE html>
<html lang="en-us">

  <head>
  <meta charset="utf-8">
  <meta name="robots" content="all,follow">
  <meta name="googlebot" content="index,follow,snippet,archive">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Appstore</title>
  <meta name="author" content="" />

  
  <meta name="keywords" content="iot, smart mobility, kuksa, appstacle">	
  

  
  <meta name="description" content="Eclipse KUKSA community website">	
  

  <meta name="generator" content="Hugo 0.42.1" />

  <link href='//fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,500,700,800' rel='stylesheet' type='text/css'>

  
  <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
  <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">

  
  <link href="https://www.eclipse.org/kuksa/css/animate.css" rel="stylesheet">

  
  
    <link href="https://www.eclipse.org/kuksa/css/style.turquoise.css" rel="stylesheet" id="theme-stylesheet">
  
  <link href="https://www.eclipse.org/kuksa/css/style.kuksa.css" rel="stylesheet" id="theme-stylesheet">


  
  <link href="https://www.eclipse.org/kuksa/css/custom.css" rel="stylesheet">

  
  
    <!--[if lt IE 9]>
        <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
        <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
  

  
  <link rel="shortcut icon" href="https://www.eclipse.org/kuksa/img/favicon.ico" type="image/x-icon" />
  
  <link rel="apple-touch-icon" href="https://www.eclipse.org/kuksa/img/kuksa-icon.png" />
  

  <link href="https://www.eclipse.org/kuksa/css/owl.carousel.css" rel="stylesheet">
  <link href="https://www.eclipse.org/kuksa/css/owl.theme.css" rel="stylesheet">

  <link rel="alternate" href="https://www.eclipse.org/index.xml" type="application/rss+xml" title="Eclipse KUKSA">

  
  <meta property="og:title" content="Appstore" />
  <meta property="og:type" content="website" />
  <meta property="og:url" content="/kuksa/tags/appstore//" />
  <meta property="og:image" content="img/kuksa-logo-h-209x79.png" />
  
  
  <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" />
  <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> 
  
  <script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/eclipsefdn.videos.min.js"></script>
  <link href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/eclipsefdn-video.min.css" rel="stylesheet" type="text/css">
  <script>eclipseFdnVideos.replace();</script>

</head>


  <body>

    <div id="all">

        <header>

          <div class="navbar-affixed-top" data-spy="affix" data-offset-top="200">

    <div class="navbar navbar-default yamm" role="navigation" id="navbar">

        <div class="container">
            <div class="navbar-header">
                <a class="navbar-brand home" href="https://www.eclipse.org/kuksa/">
                    <img src="https://www.eclipse.org/kuksa/img/kuksa-logo-h-209x79.png" alt="Appstore logo" class="hidden-xs hidden-sm">
                    <img src="https://www.eclipse.org/kuksa/img/kuksa-logo-h-209x79.png" alt="Appstore logo" class="visible-xs visible-sm">
                    <span class="sr-only">Appstore - go to homepage</span>
                </a>
                <div class="navbar-buttons">
                    <button type="button" class="navbar-toggle btn-template-main" data-toggle="collapse" data-target="#navigation">
                      <span class="sr-only">Toggle Navigation</span>
                        <i class="fa fa-align-justify"></i>
                    </button>
                </div>
            </div>
            

            <div class="navbar-collapse collapse" id="navigation">
                <ul class="nav navbar-nav navbar-right">
                  
                  <li class="dropdown">
                    
                    <a href="/kuksa/">Home</a>
                    
                  </li>
                  
                  <li class="dropdown">
                    
                    <a href="/kuksa/about/">About</a>
                    
                  </li>
                  
                  <li class="dropdown">
                    
                    <a href="/kuksa/blog/">Blog</a>
                    
                  </li>
                  
                  <li class="dropdown">
                    
                    <a href="https://www.eclipse.org/forums/index.php/f/386/">Forum</a>
                    
                  </li>
                  
                  <li class="dropdown">
                    
                    <a href="https://projects.eclipse.org/projects/iot.kuksa">PMI Community</a>
                    
                  </li>
                  
                  <li class="dropdown">
                    
                    <a href="/kuksa/ressources/">Ressources</a>
                    
                  </li>
                  
                </ul>
            </div>
            

            <div class="collapse clearfix" id="search">

                <form class="navbar-form" role="search">
                    <div class="input-group">
                        <input type="text" class="form-control" placeholder="Search">
                        <span class="input-group-btn">

                    <button type="submit" class="btn btn-template-main"><i class="fa fa-search"></i></button>

                </span>
                    </div>
                </form>

            </div>
            

        </div>
    </div>
    

</div>




        </header>

        <div id="heading-breadcrumbs">
    <div class="container">
        <div class="row">
            <div class="col-md-12">
                <h1>Appstore</h1>
            </div>
        </div>
    </div>
</div>


        <div id="content">
            <div class="container">
                <div class="row">
                    

                    <div class="col-md-9" id="blog-listing-medium">

                        
                        
                        <section class="post">
                            <div class="row">
                                <div class="col-md-4">
                                  <div class="image">
                                      <a href="https://www.eclipse.org/kuksa/blog/2018/08/30/hack0818/">
                                          
                                          <img src="https://www.eclipse.org/kuksa/img/banners/banner-hack.jpeg" class="img-responsive" alt="">
                                          
                                      </a>
                                  </div>
                                </div>
                                <div class="col-md-8">
                                    <h2><a href="https://www.eclipse.org/kuksa/blog/2018/08/30/hack0818/">Eclipse Kuksa Hackathon 08.2018</a></h2>
                                    <div class="clearfix">
                                        <p class="author-category">
                                          
                                          
                                          
                                          in <a href="https://www.eclipse.org/kuksa/categories/implementation">Implementation</a>
                                          
                                          

                                        </p>
                                        <p class="date-comments">
                                            <a href="https://www.eclipse.org/kuksa/blog/2018/08/30/hack0818/"><i class="fa fa-calendar-o"></i> August 30, 2018</a>
                                        </p>
                                    </div>
                                    <p class="intro">Hacking 3 Days @ IDiAL, FH-Dortmund, for Eclipse Kuksa Features 13 Hackers met in Dortmund on August, 28th until 30th of August to work on an end-to-end use case scenario along with new Eclipse Kuksa technologies. 20 CQs, 2 major GitHub pull-requests, and 21035 LOCs were the results. Of course, the LOCs also contain content from work prior to the Hackathon.
More precisely, the Eclipse Kuksa Appstore was migrated to an Eclipse HawkBit Server, that transmits applications wirelessly to an Eclipse HawkBit client running on a device (Raspberry Pi) that runs the Kuksa adapted AGL (Automotive Grade Linux + Kuksa technologies).</p>
                                    <p class="read-more"><a href="https://www.eclipse.org/kuksa/blog/2018/08/30/hack0818/" class="btn btn-template-main">Continue reading</a>
                                    </p>
                                </div>
                            </div>
                        </section>
                        

                        <ul class="pager">
                            
                            <li class="previous disabled"><a href="#">&larr; Newer</a></li>
                            

                            
                            <li class="next disabled"><a href="#">Older &rarr;</a></li>
                            
                        </ul>
                    </div>
                    

                    

                    

                    <div class="col-md-3">

                        

                        

<div class="panel panel-default sidebar-menu">

    <div class="panel-heading">
      <h3 class="panel-title">Search</h3>
    </div>

    <div class="panel-body">
        <form action="//google.com/search" method="get" accept-charset="UTF-8" role="search">
            <div class="input-group">
                <input type="search" name="q" class="form-control" placeholder="Search">
                <input type="hidden" name="sitesearch" value="https://www.eclipse.org/kuksa/">
                <span class="input-group-btn">
                    <button type="submit" class="btn btn-template-main"><i class="fa fa-search"></i></button>
                </span>
            </div>
        </form>
    </div>
</div>







<div class="panel panel-default sidebar-menu">

    <div class="panel-heading">
      <h3 class="panel-title">Categories</h3>
    </div>

    <div class="panel-body">
        <ul class="nav nav-pills nav-stacked">
            
            <li><a href="https://www.eclipse.org/kuksa/categories/dissemination">dissemination (3)</a>
            </li>
            
            <li><a href="https://www.eclipse.org/kuksa/categories/implementation">implementation (2)</a>
            </li>
            
            <li><a href="https://www.eclipse.org/kuksa/categories/introduction">introduction (1)</a>
            </li>
            
            <li><a href="https://www.eclipse.org/kuksa/categories/rover">rover (1)</a>
            </li>
            
        </ul>
    </div>
</div>








<div class="panel sidebar-menu">
    <div class="panel-heading">
      <h3 class="panel-title">Tags</h3>
    </div>

    <div class="panel-body">
        <ul class="tag-cloud">
            
            <li><a href="https://www.eclipse.org/kuksa/tags/appstore"><i class="fa fa-tags"></i> appstore</a>
            </li>
            
            <li><a href="https://www.eclipse.org/kuksa/tags/ecf18"><i class="fa fa-tags"></i> ecf18</a>
            </li>
            
            <li><a href="https://www.eclipse.org/kuksa/tags/implementation"><i class="fa fa-tags"></i> implementation</a>
            </li>
            
            <li><a href="https://www.eclipse.org/kuksa/tags/iot"><i class="fa fa-tags"></i> iot</a>
            </li>
            
            <li><a href="https://www.eclipse.org/kuksa/tags/oulanka"><i class="fa fa-tags"></i> oulanka</a>
            </li>
            
            <li><a href="https://www.eclipse.org/kuksa/tags/rover"><i class="fa fa-tags"></i> rover</a>
            </li>
            
        </ul>
    </div>
</div>






                        

                    </div>
                    

                    

                </div>
                
            </div>
            
        </div>
        

        <footer id="footer">
    <div class="container">

        <div class="col-md-4 col-sm-6">
            <h4>Legal</h4>
		    <ul>
		      <li><a href="https://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li>
		      <li><a href="https://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></li>
		      <li><a href="https://www.eclipse.org/legal/copyright.php">Copyright Agent</a></li>
		      <li><a href="https://www.eclipse.org/legal/epl-2.0/">Eclipse Public License</a></li>
		      <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li>
		    </ul>
        </div>
        
        <div class="col-md-4 col-sm-6" align="center">
            <p><strong>Eclipse Kuksa</strong> has its origins in the <a href="https://itea3.org/project/appstacle.html">APPSTACLE project</a> that is part of the European ITEA3 programme</p>
            <hr class="hidden-md hidden-lg hidden-sm"/>&nbsp;<p>
           <a href="https://itea3.org/"> <img src="https://www.eclipse.org/kuksa/img/itea3.png" class="img-responsive" width="200" alt="ITEA3"/></a>
		    
       	   <p>Copyright © 2018 <a href="http://eclipse.org">The Eclipse Foundation</a>. <br/>All Rights Reserved.</p>
        </div>

        	<div class="col-md-4 col-sm-6">
            <p class="pull-right">
              Template by <a href="http://bootstrapious.com/free-templates">Bootstrapious</a>.
              

              <br/>Ported to Hugo by <a href="https://github.com/devcows/hugo-universal-theme">DevCows</a>
            </p>
       	</div>

    </div>
    
</footer>


<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-5WLCZXC');</script>
  












    </div>
    

    
<script src="//code.jquery.com/jquery-3.1.1.min.js" integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8=" crossorigin="anonymous"></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>

<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/waypoints/4.0.1/jquery.waypoints.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/Counter-Up/1.0/jquery.counterup.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-parallax/1.1.3/jquery-parallax.js"></script>

<script src="//maps.googleapis.com/maps/api/js?v=3.exp"></script>

<script src="https://www.eclipse.org/kuksa/js/hpneo.gmaps.js"></script>
<script src="https://www.eclipse.org/kuksa/js/gmaps.init.js"></script>
<script src="https://www.eclipse.org/kuksa/js/front.js"></script>


<script src="https://www.eclipse.org/kuksa/js/owl.carousel.min.js"></script>


  </body>
</html>
