Running Desktop Applications on Android Smartphones

Total Page:16

File Type:pdf, Size:1020Kb

Running Desktop Applications on Android Smartphones DebianRunner: Running Desktop Applications on Android Smartphones Abhishek Gupta, Alejandro Rodriguez and Kurt Preston Department of Computer Science University of Illinois at Urbana-Champaign Urbana, IL 61801, USA Email: fgupta59, arodri30, [email protected] Abstract Developers are forbidden from directly accessing hardware (preventing features like tethering), compil- The Android operating system runs atop the Linux ing to assembly (limiting performance optimizations), kernel, yet lacks the ability to natively execute stan- or utilizing the many libraries supported by Linux dard Linux desktop applications. Though efforts have (preventing things like the execution of Blackberry been made to enable this functionality, all approaches apps). Furthermore, users are prevented from access- to date require a user to switch to a separate desktop ing the rich ecosystem of software already developed environment, resulting in a substantial loss of interface for the Linux kernel. The Ubuntu public repositories consistency and usability. alone contain over 27,000 packages [22], constituting This paper describes DebianRunner, an Android hundreds of millions of lines of code, refined by tens application designed to execute in a custom, root- of thousands of developers over multiple decades, none enabled Android build. It unlocks desktop Linux ca- of which can be directly used in Android [21]. To be pabilities by mounting the full Debian Linux distribu- used, these applications have to go through the com- tion into the file system, and provides a tool to sim- plicated process of porting, often needing to be com- plify the installation and execution of Linux programs pletely re-written, despite the fact that the technology from within Android. required to run them exists natively on the device. Though functional, DebianRunner suffered from poor performance as a result of limited RAM in the 1.2 Previous Approaches HTC Dream used for testing. However, more power- ful phones should be better able to exploit Debian- Attempts have been made to overcome these short- Runner's functionality, and the most of techniques comings. To address the performance limitations in- explored in this paper would be applicable to other herent to Java programs, Google has provided the rooted Android phones. NDK [3], a toolkit to enable developers to run op- timized C/C++ code for performance gains. To sim- plify the porting of embedded applications, MapuSoft 1 Introduction has released a code porting utility [20]. Most no- tably, some custom Android builds have enabled sys- 1.1 Background tem calls [27], and have been utilized to install and run alternate desktop environments in parallel with Since Android's release in October 2008, the op- Android [12]. All these approaches are useful, and ad- erating system has attracted much developer atten- dress some of concerns itemized above; however, none tion, currently supporting over 25,000 publicly re- provide users with a simple way to seamlessly inte- leased applications [4]. Android has proved a pow- grate external applications. erful, though insulating programming environment; Although Linux applications can now be run from even though Android runs on top of the Linux kernel within a parallel desktop environment, the utility of and Java runtime environment, the platform prohibits this feature is lost by its inconvenience: users must applications from interacting directly with the kernel switch to an entirely different environment to install or Java VM [26]. While these restrictions help present or run software. These desktop environments were cre- an integrated and secure environment, they also tram- ated for a completely different form factor than a cell mel the power of the underlying technologies. phone, and translate poorly onto such a small screen, 1 forcing users to pan and zoom through an oversized to execute the thousands of useful legacy applications desktop to interact with the software. No approaches originally intended for other environments. to date enable non-Android software to behave like a The rest of the paper is organized as follows: Sec- normal part of the system. tion 2 describes the design decisions we have made and the alternatives we have considered; Section 3 de- 1.3 DebianRunner scribes the results we obtained; Section 4 discusses limitations and potential extensions of our work; Sec- A number of hardware and software barriers must be tion 5 discusses related work; Section 6 concludes. overcome to support the execution of non-Android software. Importantly, a customized operating system is required that enables system calls. Furthermore, 2 Design and Implementation Android provides no built-in capability for commu- nicating with external processes, requiring all incom- 2.1 Design Overview ing data to be transmitted over network connections using protocols like VNC. Multiple nodes of integra- The integration of Linux desktop applications into An- tion must be addressed: Linux applications should droid requires work across a variety of areas: custom be installed and removed from within Android; the Android firmware must be built, system calls must be user should be not forced to interact with a differ- wrapped, Linux display configuration modified, and a ent desktop environment when using external applica- number of user interaction particularities must be ad- tions; windows should be reformatted to fit the smaller dressed. However, our implementation can be divided display. Ideally, the user is prevented from acciden- into four key areas: tally corrupting their install. All this must also be done with a minimal memory footprint due to the lim- 1. Enable Android applications to execute privileged ited RAM available on smartphones. Linux commands: Custom Android firmware was With all this in mind, we have developed Debian- used to allow Android applications to make sys- Runner, an Android application running on top of a tem calls with root privileges (discussed in sec- custom Android environment that enables improved tion 2.3). integration of externally-executed applications into the Android system. Linux desktop applications are 2. Restore full Linux capabilities: A Debian Linux launched and interacted with from within an Android image was mounted to provide functionality that application, without requiring a user to switch to a was stripped from Androids Linux install (dis- foreign desktop environment. Selecting an application cussed in section 2.4). within DebianRunner causes the application to launch 3. Provide a mechanism for graphically interacting in the background, and start streaming graphic data with applications: Linux's display settings were over a remote VNC connection. Though the user is optimized for the small screen, and graphics were actually operating on a VNC client, the impression of streamed via VNC (discussed in section 2.5). working directly on an application is maintained. This approach enables broad flexibility, enabling the 4. Integrate all user-facing components into an An- presentation of any application that can be invoked droid application: The DebianRunner applica- from system calls. Furthermore, it hides the abstrac- tion was created to allow a user to run and in- tions from the user, enabling them to treat the exter- stall Linux applications from within Android (dis- nal application more like a part of their native environ- cussed in section 2.6). ment. In effect, it dramatically expands the number of applications that an Android user can run. These components are all deployed on the same Though currently hindered by the memory lim- system, as illustrated in figure 1. itations of our test hardware, our implementation demonstrates the execution of simple graphical Linux To execute applications, DebianRunner performs applications. Applications such as gCalculator and the following main steps (indicated by the numbers gEdit can operate without any modification, and with in figure 1): the larger RAM capacity of modern phones, more complicated applications should be possible. 1. A user selects an application to launch or install Much work is still required to provide the user a from the DebianRunner Android application. completely transparent experience; however, we be- lieve that DebianRunner represents an important step 2. A JNI call is made through the NDK, invoking a forward in the use of Android phones as a platform script to install or run the application. 2 Figure 1: Deployment View 3. The script will execute the desired command consistencies in the firmware. Simply put, Android is within Debian's context (rather than Android's a little bit different from phone to phone, version to Linux). version, and consequently, a more focused approach was required. 4. A VNC server is started in Debian, formatted to fit the phone's screen. We attempted modifications to the Motorola Droid, as well as configuration of system images loaded by 5. The application is launched in Debian. the Android SDK's emulator, but ultimately decided 6. A VNC client is started by DebianRunner, and to perform our implementation on the HTC Dream the Debian application's graphics are streamed (branded in the United States as the \T-Mobile G2"). to the user. Though it provides the most flexibility, the emulated environment proved extremely slow in booting cus- The technical details of this process are described in tom images, and seemed to have enough inconsisten- further detail in the following sections. cies with phone's native capabilities that our imple- mentation might be difficult to port to actual hard-
Recommended publications
  • Linux on a Stick Everyone Knows You Can Boot Linux from a Live CD, but Have You Thought About Putting Linux on a Compact and Highly Portable USB
    KNOW HOW Memory Stick Linux Booting Linux from a USB Memory Stick Linux on a Stick Everyone knows you can boot Linux from a live CD, but have you thought about putting Linux on a compact and highly portable USB memory stick? BY FABRIZIO CIACCHI bootable “live” CD like Knoppix much more common. Part of our pur- ent from DSL, but it includes more [1] or Kanotix [2] gives the user a pose is to create an inexpensive system, software (about 14 MB plus), and it Afully portable operating environ- so I will base this discussion on the stan- has already been refined and tested for ment. You can carry your system with dard and very common 128 MB size. USB devices. you and boot it from anywhere. However, the procedure I describe in this • Flonix [8]: Flonix is also based on Your tools, your files, and your work- article can also be used to put a larger DSL, but it uses some different pro- space will follow you wherever you go – Knoppix-based distribution on a larger grams (for instance, IceWM instead even to another PC with a different USB memory stick. of Fluxbox). The Flonix project also operating system. Live CDs are also used Assuming you want room to work and introduced a useful web install by system administrators for trouble- store documents, it is a good idea to only process. Ultimately, Flonix was so shooting computers that won’t boot use half of the available space (64 MB) successful that it become a commer- normally. for the Linux system and related tools.
    [Show full text]
  • Backbox Penetration Testing Never Looked So Lovely
    DISTROHOPPER DISTROHOPPER Our pick of the latest releases will whet your appetite for new Linux distributions. Picaros Diego Linux for children. here are a few distributions aimed at children: Doudou springs to mind, Tand there’s also Sugar on a Stick. Both of these are based on the idea that you need to protect children from the complexities of the computer (and protect the computer from the children). Picaros Diego is different. There’s nothing stripped- down or shielded from view. Instead, it’s a normal Linux distro with a brighter, more kid-friendly interface. The desktop wallpaper perhaps best We were too busy playing Secret Mario on Picaros Diego to write a witty or interesting caption. exemplifies this. On one hand, it’s a colourful cartoon image designed to interest young file manager. In the programming category, little young for a system like this, but the it children. Some of the images on the we were slightly disappointed to discover it may well work for children on the upper end landscape are icons for games, and this only had Gambas (a Visual Basic-like of that age range. should encourage children to investigate the language), and not more popular teaching Overall, we like the philosophy of wrapping system rather than just relying on menus. languages like Scratch or a Python IDE. Linux is a child-friendly package, but not On the other hand, it still displays technical However, it’s based on Debian, so you do dumbing it down. Picaros Diego won’t work details such as the CPU usage and the RAM have the full range of software available for every child, but if you have a budding and Swap availability.
    [Show full text]
  • Getestete Versionen Wine Debian Und Dessen Derivate (Ubuntu/Kubuntu/Xubuntu, Knoppix, Etc) Redhat, Fedora, Centos Opensuse Mandr
    Wie kann die MSR-Software unter Linux verwendet FAQ werden ? MSR Electronics GmbH Getestete Versionen Gentoo Linux 2.6.34 64-Bit Wine 1.3.3 MSR PC-Software V5.10.18 → VERSION Wine Für den Betrieb der MSR PC-Software unter Linux ist die Software Wine1 erforderlich. Diese muss zuerst installiert werden. Für die verschiedenen Linux Distributionen wird dies mittels ver­ schiedener Kommandos getan. Debian und dessen Derivate (Ubuntu/Kubuntu/Xubuntu, Knoppix, etc) Entweder die offiziellen Pakete der Distribution verwenden (oft veraltet): $ sudo apt-get install wine Oder die neusten Pakete der Wine Maintainer verwenden (empfohlen): $ sudo add-apt-repository ppa:ubuntu-wine/ppa $ sudo apt-get updates $ sudo apt-get install wine1.3 RedHat, Fedora, CentOS Wine sollte sich in den offiziellen Quellen befinden. $ sudo yum install wine die Option --enablerepo=updates-testing erzwingt die neuste Version aus dem testing Repository: openSUSE Mittels YaST2 oder yum (siehe RedHat). Eventuell lohnt es sich auch, die neuste Version vom openSUSE Build Server herunterzuladen respektive diesen einzubinden, siehe dazu auch die entsprechende Webseite2. Mandriva Offizielle Version: $ su $ urpmi wine oder neuste Version von der Sourceforge Seite3. Gentoo $ emerge wine 1 Wine Is Not an Emulator: ist eine Windows-kompatible Laufzeitumgebung für POSIX-kompatible Betriebssyste­ me. Mit Wine ist es möglich, viele Programme, die für die Microsoft-Windows-Betriebssysteme kompiliert wur­ den, auch unter Unix mit dem X Window System laufen zu lassen. 2 http://download.opensuse.org/repositories/Emulators:/Wine/ 3 http://sourceforge.net/projects/wine/files/Mandriva Packages/ Version 0.9 Draft 1/5 Wie kann die MSR-Software unter Linux verwendet FAQ werden ? MSR Electronics GmbH Eventuell funktionieren oben genannte Kommandos nicht unter allen Versionen der entspre­ chenden Distributionen.
    [Show full text]
  • Présentation Ligne De Commande
    Kit de survie en lignes de commandes ... pour les nuls. Ceci est la version légèrement corrigée, étendue et complétée de la présentation du jeudi 2 juin 2018. Pourquoi la ligne de commande ? La ligne de commande est une chose qui a, pour des raisons marketting et en lien avec la massification de l'usage de l'outil informatique, peu à peu disparue alors qu'elle faisait partie intégrante des ordinateurs dans les années 80 et jusqu'en 1995 pour le grand public. Actuellement, la ligne de commande est perçue par les néophytes comme un objet de toute puissance ou de diabolisation. Les stéréotypes véhiculés par les media traditionnels associent souvent la ligne de commande, et in extenso le terminal, à un outil de hacker. Alors que cela a été pendant longtemps le quotidien de beaucoup d'utilisateurs. Posons un peu de vocabulaire : Linux est un noyau c'est à dire un binaire qui communique avec le matériel. Autour de lui est le système GNU (pour GNU is Not Unix). Le système GNU a été pensé dans les années 80 comme étant une alternative Libre au système (gratuit) mais propriétaire Unix. Dans les années 80, à la préhistoire informatique, les systèmes d'ordinateurs n'avaient pour ainsi dire pas d'interface graphique (et encore moins de souris) : un noyau, un interpréteur de commande (shell) et quelques utilitaires suffisaient à faire un ordinateur fonctionnel. Ici le système Microsoft Disk Operating System fonctionnant avec les fichier : msdos.sys et io.sys (l'équivalent du noyau), config.sys et autoexec.bat, à partir de là l'interpréteur de commande (ou shell) : COMMAND.COM s'exécute et affiche l'image précédente.
    [Show full text]
  • Lightweight Distros on Test
    GROUP TEST LIGHTWEIGHT DISTROS LIGHTWEIGHT DISTROS GROUP TEST Mayank Sharma is on the lookout for distros tailor made to infuse life into his ageing computers. On Test Lightweight distros here has always been a some text editing, and watch some Linux Lite demand for lightweight videos. These users don’t need URL www.linuxliteos.com Talternatives both for the latest multi-core machines VERSION 2.0 individual apps and for complete loaded with several gigabytes of DESKTOP Xfce distributions. But the recent advent RAM or even a dedicated graphics Does the second version of the distro of feature-rich resource-hungry card. However, chances are their does enough to justify its title? software has reinvigorated efforts hardware isn’t supported by the to put those old, otherwise obsolete latest kernel, which keeps dropping WattOS machines to good use. support for older hardware that is URL www.planetwatt.com For a long time the primary no longer in vogue, such as dial-up VERSION R8 migrators to Linux were people modems. Back in 2012, support DESKTOP LXDE, Mate, Openbox who had fallen prey to the easily for the i386 chip was dropped from Has switching the base distro from exploitable nature of proprietary the kernel and some distros, like Ubuntu to Debian made any difference? operating systems. Of late though CentOS, have gone one step ahead we’re getting a whole new set of and dropped support for the 32-bit SparkyLinux users who come along with their architecture entirely. healthy and functional computers URL www.sparkylinux.org that just can’t power the newer VERSION 3.5 New life DESKTOP LXDE, Mate, Xfce and others release of Windows.
    [Show full text]
  • Antix Xfce Recommended Specs
    Antix Xfce Recommended Specs Upbeat Leigh still disburden: twill and worthful Todd idolatrizes quite deuced but immobilizing her rabato attitudinizedcogently. Which her Kingstonfranc so centennially plasticizes so that pratingly Odin flashes that Oscar very assimilatesanticlockwise. her Algonquin? Denatured Pascale Menu is placed at the bottom of paperwork left panel and is difficult to browse. But i use out penetration testing machines as a lightweight linux distributions with the initial icons. Hence, and go with soft lower score in warmth of aesthetics. Linux on dedoimedo had the installation of useful alternative antix xfce recommended specs as this? Any recommendations from different pinboard question: the unique focus styles in antix xfce recommended specs of. Not recommended for! Colorful background round landscape scenes do we exist will this lightweight Linux distro. Dvd or gui, and specs as both are retired so, and a minimal resources? Please confirm your research because of recommended to name the xfce desktop file explorer will change the far right click to everything you could give you enjoy your linux live lite can see our antix xfce recommended specs and. It being uploaded file would not recommended to open multiple windows right people won, antix xfce recommended specs and specs and interested in! Based on the Debian stable, MX Linux has topped the distrowatch. Dedoimedo a usb. If you can be installed on this i have downloaded iso image, antix xfce recommended specs and specs as long way more adding ppas to setup further, it ever since. The xfce as a plain, antix can get some other than the inclusion, and specs to try the.
    [Show full text]
  • Download Android Os for Phone Open Source Mobile OS Alternatives to Android
    download android os for phone Open Source Mobile OS Alternatives To Android. It’s no exaggeration to say that open source operating systems rule the world of mobile devices. Android is still an open-source project, after all. But, due to the bundle of proprietary software that comes along with Android on consumer devices, many people don’t consider it an open source operating system. So, what are the alternatives to Android? iOS? Maybe, but I am primarily interested in open-source alternatives to Android. I am going to list not one, not two, but several alternatives, Linux-based mobile OSes . Top Open Source alternatives to Android (and iOS) Let’s see what open source mobile operating systems are available. Just to mention, the list is not in any hierarchical or chronological order . 1. Plasma Mobile. A few years back, KDE announced its open source mobile OS, Plasma Mobile. Plasma Mobile is the mobile version of the desktop Plasma user interface, and aims to provide convergence for KDE users. It is being actively developed, and you can even find PinePhone running on Manjaro ARM while using KDE Plasma Mobile UI if you want to get your hands on a smartphone. 2. postmarketOS. PostmarketOS (pmOS for short) is a touch-optimized, pre-configured Alpine Linux with its own packages, which can be installed on smartphones. The idea is to enable a 10-year life cycle for smartphones. You probably already know that, after a few years, Android and iOS stop providing updates for older smartphones. At the same time, you can run Linux on older computers easily.
    [Show full text]
  • Setting up Horizon 7 for Linux Desktops
    Setting Up Horizon 7 for Linux Desktops SEP 2019 VMware Horizon 7 7.10 Setting Up Horizon 7 for Linux Desktops You can find the most up-to-date technical documentation on the VMware website at: https://docs.vmware.com/ If you have comments about this documentation, submit your feedback to [email protected] VMware, Inc. 3401 Hillview Ave. Palo Alto, CA 94304 www.vmware.com © Copyright 2016-2019 VMware, Inc. All rights reserved. Copyright and trademark information. VMware, Inc. 2 Contents Setting Up Horizon 7 for Linux Desktops 6 1 Features and System Requirements 7 Features of Horizon Linux Desktops 7 Overview of Configuration Steps for Horizon 7 for Linux Desktops 13 System Requirements For Horizon 7 for Linux 14 Virtual Machine Settings for 2D Graphics 23 Configuring Session Collaboration on Linux Desktops 23 2 Preparing a Linux Virtual Machine for Desktop Deployment 26 Create a Virtual Machine and Install Linux 26 Prepare a Linux Machine for Remote Desktop Deployment 27 Install Dependency Packages for Horizon Agent 29 3 Setting Up Active Directory Integration for Linux Desktops 31 Integrating Linux with Active Directory 31 Use the OpenLDAP Server Pass-Through Authentication 32 Set Up SSSD LDAP Authentication Against the Microsoft Active Directory 32 Use the Winbind Domain Join Solution 32 Configure PowerBroker Identity Services Open (PBISO) Authentication 33 Configure the Samba Offline Domain Join 34 Use the Realmd Join Solution for RHEL 8 36 Setting Up Single Sign-On 37 Setting Up Smart Card Redirection 38 Integrate a RHEL 8 Desktop
    [Show full text]
  • Debian GNU/Linux Installation Guide Debian GNU/Linux Installation Guide Copyright © 2004 – 2015 the Debian Installer Team
    Debian GNU/Linux Installation Guide Debian GNU/Linux Installation Guide Copyright © 2004 – 2015 the Debian Installer team This document contains installation instructions for the Debian GNU/Linux 8 system (codename “jessie”), for the 32-bit soft-float ARM (“armel”) architecture. It also contains pointers to more information and information on how to make the most of your new Debian system. Note: Although this installation guide for armel is mostly up-to-date, we plan to make some changes and reorganize parts of the manual after the official release of jessie. A newer version of this manual may be found on the Internet at the debian-installer home page (http://www.debian.org/devel/debian-installer/). You may also be able to find additional translations there. This manual is free software; you may redistribute it and/or modify it under the terms of the GNU General Public License. Please refer to the license in Appendix F. Table of Contents Installing Debian GNU/Linux 8 For armel......................................................................................ix 1. Welcome to Debian .........................................................................................................................1 1.1. What is Debian? ...................................................................................................................1 1.2. What is GNU/Linux? ...........................................................................................................2 1.3. What is Debian GNU/Linux?...............................................................................................3
    [Show full text]
  • Linux. Biblia. Ubuntu, Fedora, Debian I 15 Innych Dystrybucji
    Idź do Linux. Biblia. Ubuntu, Fedora, Debian • Spis treści • Przykładowy rozdział i 15 innych dystrybucji • Skorowidz Autor: Christopher Negus Tłumaczenie: Robert Górczyński Katalog książek ISBN: 978-83-246-3422-4 Tytuł oryginału: Linux Bible 2011 Edition: Boot up to Ubuntu, Fedora, KNOPPIX, Debian, openSUSE, and 13 Other Distributions • Katalog online Format: 172×245, stron: 768 • Zamów drukowany katalog Opanuj możliwości najważniejszych dystrybucji Linuksa ? Odkryj cały potencjał tego bezpłatnego systemu operacyjnego! Twój koszyk • Zainstaluj i optymalnie skonfiguruj bezpieczne środowisko pracy • Opanuj zadania administracyjne i funkcje serwerowe Linuksa • Wykorzystaj narzędzia programistyczne do tworzenia własnych aplikacji • Dodaj do koszyka W tym roku upływa już dwadzieścia lat od dnia, kiedy fiński programista Linus Torvalds przedstawił światu swój stworzony hobbystycznie system operacyjny – Linux. Niezwykłe możliwości i stabilność Cennik i informacje tego niekomercyjnego systemu, a przy tym ogromny entuzjazm i wsparcie społeczności całego świata gotowej do jego dalszego rozwijania, od samego początku budziły spory niepokój Microsoftu. • Zamów informacje Jak pokazał czas, obawy te okazały się słuszne ? Linux wyrósł w końcu na największego o nowościach i najsłynniejszego konkurenta komercyjnego systemu Windows, a przy tym na ulubieńca programistów i administratorów. Obecnie wiele giełd papierów wartościowych, telefonów komórkowych • Zamów cennik i serwerów internetowych z powodzeniem działa pod kontrolą tego bezpłatnego systemu operacyjnego. A dzięki utworzeniu i stałemu rozwojowi wielu rozmaitych dystrybucji Linux wyszedł poza kręgi Czytelnia specjalistów IT i dziś doskonale sprawdza się także na komputerach firmowych i osobistych. Słynny ekspert w dziedzinie Linuksa, Christopher Negus, poprowadzi Cię od zagadnień podstawowych, takich jak sposób rozpoczęcia pracy z wybraną przez Ciebie dystrybucją • Fragmenty książek i poprawna konfiguracja środowiska pracy, do coraz trudniejszych, takich jak praca z grafiką, online dokumentami i plikami multimedialnymi.
    [Show full text]
  • Linux Based Mobile Operating Systems
    INSTITUTO SUPERIOR DE ENGENHARIA DE LISBOA Área Departamental de Engenharia de Electrónica e Telecomunicações e de Computadores Linux Based Mobile Operating Systems DIOGO SÉRGIO ESTEVES CARDOSO Licenciado Trabalho de projecto para obtenção do Grau de Mestre em Engenharia Informática e de Computadores Orientadores : Doutor Manuel Martins Barata Mestre Pedro Miguel Fernandes Sampaio Júri: Presidente: Doutor Fernando Manuel Gomes de Sousa Vogais: Doutor José Manuel Matos Ribeiro Fonseca Doutor Manuel Martins Barata Julho, 2015 INSTITUTO SUPERIOR DE ENGENHARIA DE LISBOA Área Departamental de Engenharia de Electrónica e Telecomunicações e de Computadores Linux Based Mobile Operating Systems DIOGO SÉRGIO ESTEVES CARDOSO Licenciado Trabalho de projecto para obtenção do Grau de Mestre em Engenharia Informática e de Computadores Orientadores : Doutor Manuel Martins Barata Mestre Pedro Miguel Fernandes Sampaio Júri: Presidente: Doutor Fernando Manuel Gomes de Sousa Vogais: Doutor José Manuel Matos Ribeiro Fonseca Doutor Manuel Martins Barata Julho, 2015 For Helena and Sérgio, Tomás and Sofia Acknowledgements I would like to thank: My parents and brother for the continuous support and being the drive force to my live. Sofia for the patience and understanding throughout this challenging period. Manuel Barata for all the guidance and patience. Edmundo Azevedo, Miguel Azevedo and Ana Correia for reviewing this document. Pedro Sampaio, for being my counselor and college, helping me on each step of the way. vii Abstract In the last fifteen years the mobile industry evolved from the Nokia 3310 that could store a hopping twenty-four phone records to an iPhone that literately can save a lifetime phone history. The mobile industry grew and thrown way most of the proprietary operating systems to converge their efforts in a selected few, such as Android, iOS and Windows Phone.
    [Show full text]
  • Kubuntu Desktop Guide
    Kubuntu Desktop Guide Ubuntu Documentation Project <[email protected]> Kubuntu Desktop Guide by Ubuntu Documentation Project <[email protected]> Copyright © 2004, 2005, 2006 Canonical Ltd. and members of the Ubuntu Documentation Project Abstract The Kubuntu Desktop Guide aims to explain to the reader how to configure and use the Kubuntu desktop. Credits and License The following Ubuntu Documentation Team authors maintain this document: • Venkat Raghavan The following people have also have contributed to this document: • Brian Burger • Naaman Campbell • Milo Casagrande • Matthew East • Korky Kathman • Francois LeBlanc • Ken Minardo • Robert Stoffers The Kubuntu Desktop Guide is based on the original work of: • Chua Wen Kiat • Tomas Zijdemans • Abdullah Ramazanoglu • Christoph Haas • Alexander Poslavsky • Enrico Zini • Johnathon Hornbeck • Nick Loeve • Kevin Muligan • Niel Tallim • Matt Galvin • Sean Wheller This document is made available under a dual license strategy that includes the GNU Free Documentation License (GFDL) and the Creative Commons ShareAlike 2.0 License (CC-BY-SA). You are free to modify, extend, and improve the Ubuntu documentation source code under the terms of these licenses. All derivative works must be released under either or both of these licenses. This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE AS DESCRIBED IN THE DISCLAIMER. Copies of these licenses are available in the appendices section of this book. Online versions can be found at the following URLs: • GNU Free Documentation License [http://www.gnu.org/copyleft/fdl.html] • Attribution-ShareAlike 2.0 [http://creativecommons.org/licenses/by-sa/2.0/] Disclaimer Every effort has been made to ensure that the information compiled in this publication is accurate and correct.
    [Show full text]