Cross Platform

Total Page:16

File Type:pdf, Size:1020Kb

Cross Platform 2/4 Featured Sessions, Kandroid S/W Fundamentals Study Group A History of Android Technology www.kandroid.org 운영자 양정수 ([email protected]) 목 차 Technology History : Two Approaches • Source Code and Derivative Works : Git & Gerrit • Reinterpretation and Standard : Google IO & APIs Since 2007, The Direction of Evolution • Platform : Architecture, Measurement f/w, Programming Models • Application : Compatibility, Performance, Memory • Convergence : Android & Chrome, Platform & Service, Cross Platform All History is Contemporary History • Lesson : What must we learn from last 6 years? • Forecast : What is the future of Android Technology? • Action : What must we act as a developer right now? Technology History : Two Approaches “All history is contemporary history” History as thought and as action, Benedetto Croce (1938) gerrit Gerrit Code Review 1. 2008 (May 28–29) 2. 2009 (May 27–28) 3. 2010 (May 19–20) 4. 2011 (May 10–11) 5. 2012 (June 27–29) 6. 2013 (May 15–17) 7. 2014(June 25-26) 2014, 13th Kandroid minmax - www.kandroid.org 3 Technology History : Git & Gerrit Total : 416 / External : 194 (KitKat 기준) Source : 2012, 10th Kandroid Seminar Android Externals & Git Technology 中에서 (JB기준) 200 - 조병호 350 307 etc 180 300 250 platform/bootable 160 200 platform/device 150 140 platform/frameworks 100 151 platform/hadware 50 120 0 platform/packages 100 platform/prebuilts platform/tools 80 platform/system platform/external 60 40 20 0 2014, 13th Kandroid minmax - www.kandroid.org 4 Technology History : Git & Gerrit Code Review System It is intended to find and fix MISTAKES overlooked. - Wikipedia Source : 2013, 11th Kandroid Seminar Goal is COOPERATION, Gerrit – 코드 리뷰 시스템 도입의 필요성 및 사용 中에서 - 차영호 not fault-finding. from Guido Google Employees 안드로이드 코드를 한줄이라도 바꿔본 직원 수 Google 전체 직원수 600여명 37000여명 Framework Commiters Apps/Extra Commiters 20% time 68명 Google Employees 69명 2014, 13th Kandroid minmax - www.kandroid.org 5 Technology History : Google I/O & Standard API 1. 2008 (May 28–29, 2008) : OpenSocial, App Engine, Android… 2. 2009 (May 27–28, 2009) : Android, App Engine, Chrome… 3. 2010 (May 19–20, 2010) : Android, App Engine, Chrome, Google TV… 4. 2011 (May 10–11, 2011) : Android, Chrome, Chrome OS 5. 2012 (June 27–29, 2012) 1. Day 1 : Android, Google+, Project Glass 2. Day 2 : Chrome, Cloud, Project Glass 3. Day 3 : Mobile App Analytics 6. 2013 (May 15–17, 2013) 1. Day 1 : Android, Chrome OS, Chrome, Google Play 2. Day 2 : Google Glass Apps, Google+ Development Session Types • 101: 101 sessions don't require previous knowledge of a particular product or technology. They include overviews of a technology and introductions into new areas. That doesn't mean they aren't technical, because most are. If you are new to a product, start with the 101 sessions and progress to 201s. • 201: 201 sessions provide a deeper dive into a technology or product. These sessions go beyond the basics and are aimed at developers already familiar with a technology. • Code Labs: Code Labs walk developers through their first experience with a product or particular aspect of a product. They are 2 hour, more hands-on sessions where engineers will walk you through actual code. • Fireside Chats: Q&A is often the best part of a session, as it gives developers a chance to ask what's on their minds. Fireside chats are a chance to talk to the product engineering teams. • Tech Talks: Google has a tradition of holding informative Tech Talks on campus that offer insight into an area. In that tradition, Google I/O features Tech Talks on subjects of interest to developers, such as computer science problems and programming languages. 2014, 13th Kandroid minmax - www.kandroid.org 6 Technology History : Google I/O & Standard API 2008 2009 2010 2011 2012 2013 2014 AOSP M C D E F G H I J K Branch SDK 1 23 45 6 7 8 9 10 13 1415 16 17 1819 (API Level) NDK 1 2 3 4 5 6 7 8 9 9c (Revision) RenderScript android.support.v8.renderscript Extras android-support-v13.jar android-support-v7.jar Support Lib. (+USB Drivers) r1 r2 r3 r4 r6 r8r9 r10 r11 r13 r18 android-support-v4.jar Open Handset Alliance (OHA) T-Mobile USA SKT Mobile Operators Open Access Traffic Qualcomm MSM7201a Semiconductor Multi-Core GPU / 64Bit Companies HTC G1 Handset Partnership New Platform Manufacturers with Google Inc. Strategy 2014, 13th Kandroid minmax - www.kandroid.org 7 목 차 Technology History : Two Approaches • Source Code and Derivative Works : Git & Gerrit • Reinterpretation and Standard : Google IO & APIs Since 2007, The Direction of Evolution • Platform : Architecture, Measurement f/w, Programming Models • Application : Compatibility, Performance, Memory • Convergence : Android & Chrome, Platform & Service, Cross Platform All History is Contemporary History • Lesson : What must we learn from last 6 years? • Forecast : What is the future of Android Technology? • Action : What must we act as a developer right now? Platform : Architecture Since 2007, The Direction of Evolution User Phone & Nfc(JB) App Space DRMServer (JB) Launcher Platform (User App) • Architecture MediaServer • Measurement f/w SurfaceFlinger • Programming Models SystemServer Application • Compatibility • Performance Framework Service • Memory • System Services • Hardware Services Convergence • Android & Chrome Dalvik VM Service • Platform & Service Manager • Cross Platform Native Service • Sersor Service ( Binder • Surface Flinger Context Manager ) libbinder.so (libcutils.so, libutils.so) /dev/binder Kernel Binder Ashemem Space 2014, 13th Kandroid minmax - www.kandroid.org 9 Platform : Architecture Since 2007, The Direction of Evolution Application Test Thread Case test.apk Platform Instrumentation • Architecture • Measurement f/w • Programming Models TLS Application Hello Application Android • Compatibility Activity Activity .apk • Performance H • Memory Thread dispatchMessage() Window Views Convergence Views • Android & Chrome Views • Platform & Service Looper • Cross Platform Choreographer Service $FrameHandler Threaded Binder dispatchMessage() Task Object Message Queue ContentProvider Receiver Intent Binder AsyncTask Android Resources Thread Thread Manifest.xml Pool Pool 2014, 13th Kandroid minmax - www.kandroid.org 10 Platform : Architecture Since 2007, The Direction of Evolution Move Engineers from PalmSource (Dianne Hackborn, etc…) Platform • Architecture • Measurement f/w • Programming Models Application • Compatibility • Performance OpenBinder Binder • Memory next generation BeOS Cobalt system Linux Android Convergence • Android & Chrome • Platform & Service • Cross Platform 2001 2005 The Binder communicates between processes using a small custom kernel module. This is used instead of standard Linux IPC facilities so that we can efficiently model our IPC operations as "thread migration". That is, an IPC between processes looks as if the thread instigating the IPC has hopped over to the destination process to execute the code there, and then hopped back with the result. Source : http://www.angryredplanet.com/~hackbod/openbinder/docs/html/BinderIPCMechanism.html 2014, 13th Kandroid minmax - www.kandroid.org 11 Platform : Architecture Since 2007, The Direction of Evolution Main Event Loop and IPC Thread Migration Platform • Architecture • Measurement f/w Context TLS • Programming Models Activity Thread Application bindService() H • Compatibility handleMessage() • Performance Looper • Memory Service Connection Convergence • Android & Chrome onService Service • Platform & Service Connected Message • onCreate() • Cross Platform (IBinder) • onBind() Queue • onUnbind() • onDestory() IService.Stub. Custom 구현 asInterface Binder (IBinder); Thread IService.stub() { • getValue() BT #1 • setValue() IService.Stub. } Proxy() { } BT #N HelloAndroid.apk User application Process User application Process 2014, 13th Kandroid minmax - www.kandroid.org 12 Platform : Measurement Framework Since 2007, The Direction of Evolution General Performance Performance Monitoring Sensitive Paths Tools / APIs Platform • Architecture • Measurement f/w • Programming Models Application Event StrictMode • Compatibility • Performance • Memory Bitmap Networking • systrace Convergence Invalidate Adapter • Android & Chrome Decoding and I/O • TraceView • Platform & Service • Cross Platform • getView() Measurem ent - Dump • HierarchyViewer - Recycling - ViewHolder • Tracer for OpenGL ES • Setting App (Dev Opt.) Layout Update Draw Swap Draw dumpsys DisplayList DisplayList Buffers 2014, 13th Kandroid minmax - www.kandroid.org 13 Platform : Measurement Framework Since 2007, The Direction of Evolution Platform • Architecture • Measurement f/w • Programming Models Tracing Point Application Java Native • Compatibility • Performance • Memory atrace ATRACE_CALL() android.os.Trace Convergence ATRACE_INT() • Android & Chrome start stop dump • Platform & Service Trace Trace Trace jni • Cross Platform android_os_Trace ScopedTrace adbd Tracer systrace (python) tracing_on … trace trace_marker adb Linux Kernel (ftrace feature) 2014, 13th Kandroid minmax - www.kandroid.org 14 Platform : Measurement Framework Since 2007, The Direction of Evolution Activity Platform Set • Architecture Something Event Property Invalidate • Measurement f/w Happens • Programming Models Value Application • Compatibility • Performance Draw • Memory Display List Convergence • Android & Chrome • Platform & Service Measure Prepare Update Draw Swap • Cross Platform & Draw DisplayList DisplayList Buffers Layout Dequeue Enqueue Buffer Buffer Display Composite Post Windows Buffer SurfaceFlinger 2014, 13th Kandroid minmax -
Recommended publications
  • Google Security Chip H1 a Member of the Titan Family
    Google Security Chip H1 A member of the Titan family Chrome OS Use Case [email protected] Block diagram ● ARM SC300 core ● 8kB boot ROM, 64kB SRAM, 512kB Flash ● USB 1.1 slave controller (USB2.0 FS) ● I2C master and slave controllers ● SPI master and slave controllers ● 3 UART channels ● 32 GPIO ports, 28 muxed pins ● 2 Timers ● Reset and power control (RBOX) ● Crypto Engine ● HW Random Number Generator ● RD Detection Flash Memory Layout ● Bootrom not shown ● Flash space split in two halves for redundancy ● Restricted access INFO space ● Header fields control boot flow ● Code is in Chrome OS EC repo*, ○ board files in board/cr50 ○ chip files in chip/g *https://chromium.googlesource.com/chromiumos/platform/ec Image Properties Chip Properties 512 byte space Used as 128 FW Updates INFO Space Bits 128 Bits Bitmap 32 Bit words Board ID 32 Bit words Bitmap Board ID ● Updates over USB or TPM Board ID Board ID ~ Board ID ● Rollback protections Board ID mask Version Board Flags ○ Header versioning scheme Board Flags ○ Flash map bitmap ● Board ID and flags Epoch ● RO public key in ROM Major ● RW public key in RO Minor ● Both ROM and RO allow for Timestamp node locked signatures Major Functions ● Guaranteed Reset ● Battery cutoff ● Closed Case Debugging * ● Verified Boot (TPM Services) ● Support of various security features * https://www.chromium.org/chromium-os/ccd Reset and power ● Guaranteed EC reset and battery cutoff ● EC in RW latch (guaranteed recovery) ● SPI Flash write protection TPM Interface to AP ● I2C or SPI ● Bootstrap options ● TPM
    [Show full text]
  • Google Chrome OS VS Distribuciones GNU/Linux 18
    1Google Chrome OS Universidad Católica “Nuestra Señora de la Asunción” Facultad de Ciencias y Tecnología Departamento de Ingeniería Electrónica e Informática TAI 2 Chrome OS Fernando Cardozo [email protected] Mat:51300 Prof: Ing Juan Urraza Asunción – Paraguay 2010 2Google Chrome OS Índice Introducción 4 Un nuevo modelo 5 Kernel 6 Arquitectura del software 6 El sistema en sí y los servicios 7 El navegador y el administrador de ventanas 8 Sistema de archivos 8 Diagrama del proceso de booteo 9 Requerimientos del hardware 10 Seguridad en el Chrome OS 10 Interfaz del usuario 11 Pestaña de aplicaciones 12 Panel 13 Multiples ventanas 14 Como se sincroniza Chrome en la nube 15 Google Cloud Printing 16 Chromoting 17 Chrome OS vs Windows 18 Google Chrome OS VS Distribuciones GNU/Linux 18 Cuestionamientos 19 Cuestionamientos 20 Proyectos similares 21 3Google Chrome OS Proyectos similares 22 Anexo 23 Conclusión 24 Referencias 25 4Google Chrome OS Introducción Google Chrome OS es un proyecto llevado a cabo por la compañía Google para desarrollar un sistema operativo basado en web. A través de su blog oficial, Google anunció el 7 de julio de 2009 que Google Chrome OS será un sistema realizado con base en código abierto (Núcleo Linux) y orientado inicialmente para mini portátiles, estando disponible en el segundo semestre de 2010. Funcionará sobre microprocesadores con tecnología x86 o ARM.. La compañía Google ha declarado que el código fuente del proyecto Google Chrome OS fue liberado a finales de 2009. Aunque el sistema se basa en un kernel Linux, tendrá un gestor de ventanas propio de Google.
    [Show full text]
  • Tutorial: Setup for Android Development
    Tutorial: Setup for Android Development Adam C. Champion, Ph.D. CSE 5236: Mobile Application Development Autumn 2019 Based on material from C. Horstmann [1], J. Bloch [2], C. Collins et al. [4], M.L. Sichitiu (NCSU), V. Janjic (Imperial College London), CSE 2221 (OSU), and other sources 1 Outline • Getting Started • Android Programming 2 Getting Started (1) • Need to install Java Development Kit (JDK) (not Java Runtime Environment (JRE)) to write Android programs • Download JDK for your OS: https://adoptopenjdk.net/ * • Alternatively, for OS X, Linux: – OS X: Install Homebrew (http://brew.sh) via Terminal, – Linux: • Debian/Ubuntu: sudo apt install openjdk-8-jdk • Fedora/CentOS: yum install java-1.8.0-openjdk-devel * Why OpenJDK 8? Oracle changed Java licensing (commercial use costs $$$); Android SDK tools require version 8. 3 Getting Started (2) • After installing JDK, download Android SDK from http://developer.android.com • Simplest: download and install Android Studio bundle (including Android SDK) for your OS • Alternative: brew cask install android- studio (Mac/Homebrew) • We’ll use Android Studio with SDK included (easiest) 4 Install! 5 Getting Started (3) • Install Android Studio directly (Windows, Mac); unzip to directory android-studio, then run ./android-studio/bin/studio64.sh (Linux) 6 Getting Started (4) • Strongly recommend testing Android Studio menu → Preferences… or with real Android device File → Settings… – Android emulator: slow – Faster emulator: Genymotion [14], [15] – Install USB drivers for your Android device! • Bring up Android SDK Manager – Install Android 5.x–8.x APIs, Google support repository, Google Play services – Don’t worry about non-x86 Now you’re ready for Android development! system images 7 Outline • Getting Started • Android Programming 8 Introduction to Android • Popular mobile device Mobile OS Market Share OS: 73% of worldwide Worldwide (Jul.
    [Show full text]
  • Android App Detailed Report
    BBC News 54/100 83/100 bbc.mobile.news.ww bae42647bc64af3839943d6e53a3a8b4 Scan Engine Version: 4.2.6 MED HIGH Scan Date: 02-28-2018 Privacy Risk Security Risk This Technical Summary contains a mid-level summary and score information for an app’s identified risk conditions. This digest is intended for a technical audience and provides a listing of items we identified. Findings are separated into analysis areas, followed by categories and additional support details when available. Each finding is represented by a Red, Orange, Yellow or Green colored square. Red indicates a high level of risk and used to indicate when a test has failed. Orange indicates a moderate level of risk Yellow indicates a low risk or informational finding Green indicates that no risk conditions were identified and used to indicate when a test has passed. Index Privacy Summary Security Summary Analysis Data Leakage Libraries OWASP Summary Communications Privacy Summary 54/100 The privacy summary focuses on the application’s access to privacy data, including (but not limited to): user data, contacts access, unique device MED identifiers, adware, SMS, and insecure storage of data and communications. Content Providers are implicitly insecure. They allow other applications on the device to request and share data. If sensitive information is accidentally leaked in one of these content providers all an attacker needs to do is call the content provider and the sensitive data will be exposed to the attacker by the application.This is cause for concern as any 3rd party application containing malicious code does not require any granted permissions in order to obtain sensitive information from these applications.
    [Show full text]
  • Paper #5: Google Mobile
    Yale University Thurmantap Arnold Project Digital Platform Theories of Harm Paper Series: 5 Google’s Anticompetitive Practices in Mobile: Creating Monopolies to Sustain a Monopoly May 2020 David Bassali Adam Kinkley Katie Ning Jackson Skeen Table of Contents I. Introduction 3 II. The Vicious Circle: Google’s Creation and Maintenance of its Android Monopoly 5 A. The Relationship Between Android and Google Search 7 B. Contractual Restrictions to Android Usage 8 1. Anti-Fragmentation Agreements 8 2. Mobile Application Distribution Agreements 9 C. Google’s AFAs and MADAs Stifle Competition by Foreclosing Rivals 12 1. Tying Google Apps to GMS Android 14 2. Tying GMS Android and Google Apps to Google Search 18 3. Tying GMS Apps Together 20 III. Google Further Entrenches its Mobile Search Monopoly Through Exclusive Dealing22 A. Google’s Exclusive Dealing is Anticompetitive 25 IV. Google’s Acquisition of Waze Further Forecloses Competition 26 A. Google’s Acquisition of Waze is Anticompetitive 29 V. Google’s Anticompetitive Actions Harm Consumers 31 VI. Google’s Counterarguments are Inadequate 37 A. Google Android 37 B. Google’s Exclusive Contracts 39 C. Google’s Acquisition of Waze 40 VII. Legal Analysis 41 A. Google Android 41 1. Possession of Monopoly Power in a Relevant Market 42 2. Willful Acquisition or Maintenance of Monopoly Power 43 a) Tying 44 b) Bundling 46 B. Google’s Exclusive Dealing 46 1. Market Definition 47 2. Foreclosure of Competition 48 3. Duration and Terminability of the Agreement 49 4. Evidence of Anticompetitive Intent 50 5. Offsetting Procompetitive Justifications 51 C. Google’s Acquisition of Waze 52 1.
    [Show full text]
  • A Framework for Developing Context-Aware Mobile Applications
    Magni - A Framework for Developing Context-aware Mobile Applications Ricardo Queir´os1, Filipe Portela2, and Jos´eMachado2 1 ESMAD, Polytechnic of Porto, Portugal 2 Algoritmi Research Centre, University of Minho, Portugal. Abstract. The advent of Internet and ubiquitous technologies has been fostering the appearance of intelligent mobile applications aware of their environment and the objects nearby. Despite its popularity, mobile de- velopers are often required to write large and disorganized amounts of code, mixing UI with business logic and interact, in a ad-hoc fashion, with sensor devices and services. These habits hinder the code maintenance, refactoring and testing, while negatively influencing the consistency and performance of mobile applications. In this paper we present Magni as an abstract framework for the design and implementation of personalized and context-aware mobile applications. The corner stone of the frame- work is its architectural pattern based on the Model-View-Presenter pat- tern in the UI layer relying in REST services the majority of the app features. This paradigm fosters the modular design, implementing the separation of concerns concept and allowing an easier implementation of unit tests. In order to validate the framework, we present a prototype for an healthcare automotive app. The main goal of the app is to facilitate the access to health related points of interest such as hospitals, clinics and pharmacies. Keywords: Web services, Design patterns, Mobile frameworks, Geolo- calization, Interoperability, Mobile healthcare, Automotive apps 1 Introduction The increased use of mobile devices and their ubiquitous facet, fostered the design of context-aware applications that make use of data collected from the sensors' device and location services.
    [Show full text]
  • Chromium OS Audio System
    Chromium OS audio CRAS audio server Why another audio server? low end hardware (1 core atom, or Tegra 2) optimize for one user (chrome) dynamic stream re-routing maintainability, code size, security Basic Audio Flow Chromium dbus control Playback/Capture shm CRAS BlueZ ALSA Client Library API int cras_client_create(struct cras_client **client); int cras_client_run_thread(struct cras_client *client); struct cras_stream_params *cras_client_unified_params_create( enum CRAS_STREAM_DIRECTION direction, /* direction - CRAS_STREAM_OUTPUT or CRAS_STREAM_INPUT */ unsigned int block_size, /* block_size - The number of frames per callback(dictates latency). */ enum CRAS_STREAM_TYPE stream_type, /* not currently used */ uint32_t flags, /* not used either. */ void *user_data, /* user_data - Pointer that will be passed to the callback. */ cras_unified_cb_t unified_cb, /* unified_cb - Called for each block size samples */ cras_error_cb_t err_cb, /* err_cb - Called when there is an error with the stream. */ struct cras_audio_format *format); /* format - Specifies bits per sample, num chan, sample rate */ int cras_client_add_stream(struct cras_client *client, cras_stream_id_t *stream_id_out, struct cras_stream_params *config); Server side features Timer Based Wake-ups based on stream level Device Sample Rate Estimation Mixing, DSP, and format conversion Volume level tuning Device synchronization One audio thread Wake up timing Wakes up each stream based on a timer Timer rate set based on block size Adjusted based on estimated device clock Underrun handling
    [Show full text]
  • 2Nd USENIX Conference on Web Application Development (Webapps ’11)
    conference proceedings Proceedings of the 2nd USENIX Conference Application on Web Development 2nd USENIX Conference on Web Application Development (WebApps ’11) Portland, OR, USA Portland, OR, USA June 15–16, 2011 Sponsored by June 15–16, 2011 © 2011 by The USENIX Association All Rights Reserved This volume is published as a collective work. Rights to individual papers remain with the author or the author’s employer. Permission is granted for the noncommercial reproduction of the complete work for educational or research purposes. Permission is granted to print, primarily for one person’s exclusive use, a single copy of these Proceedings. USENIX acknowledges all trademarks herein. ISBN 978-931971-86-7 USENIX Association Proceedings of the 2nd USENIX Conference on Web Application Development June 15–16, 2011 Portland, OR, USA Conference Organizers Program Chair Armando Fox, University of California, Berkeley Program Committee Adam Barth, Google Inc. Abdur Chowdhury, Twitter Jon Howell, Microsoft Research Collin Jackson, Carnegie Mellon University Bobby Johnson, Facebook Emre Kıcıman, Microsoft Research Michael E. Maximilien, IBM Research Owen O’Malley, Yahoo! Research John Ousterhout, Stanford University Swami Sivasubramanian, Amazon Web Services Geoffrey M. Voelker, University of California, San Diego Nickolai Zeldovich, Massachusetts Institute of Technology The USENIX Association Staff WebApps ’11: 2nd USENIX Conference on Web Application Development June 15–16, 2011 Portland, OR, USA Message from the Program Chair . v Wednesday, June 15 10:30–Noon GuardRails: A Data-Centric Web Application Security Framework . 1 Jonathan Burket, Patrick Mutchler, Michael Weaver, Muzzammil Zaveri, and David Evans, University of Virginia PHP Aspis: Using Partial Taint Tracking to Protect Against Injection Attacks .
    [Show full text]
  • Nokia 5 User Guide
    Nokia 5 User Guide Issue 2020-02-04 en-JO Nokia 5 User Guide 1 About this user guide Important: For important information on the safe use of your device and battery, read “For your safety” and “Product Safety” info in the printed user guide, or at www.nokia.com/support before you take the device into use. To find out how to get started with your new device, read the printed user guide. © 2020 HMD Global Oy. All rights reserved. 2 Nokia 5 User Guide Table of Contents 1 About this user guide 2 2 Table of Contents 3 3 Get started 7 Keys and parts .......................................... 7 Insert or remove SIM and memory card ............................ 8 Charge your phone ....................................... 9 Switch on and set up your phone ................................ 10 Dual SIM settings ........................................ 10 Setting up fingerprint ID .................................... 11 Lock or unlock your phone ................................... 11 Use the touch screen ...................................... 12 4 Basics 15 Personalize your phone ..................................... 15 Open and close an app ..................................... 15 Notifications ........................................... 16 Control volume .......................................... 16 Screenshots ........................................... 17 Battery life ............................................ 17 Save on data roaming costs .................................. 18 Write text ............................................. 19 Date and
    [Show full text]
  • Confirmconnect Administration Guide
    Location Intelligence Infrastructure Asset Management Confirm® ConfirmConnect® Administration Guide v21.20b.AM Information in this document is subject to change without notice and does not represent a commit- ment on the part of the vendor or its representatives. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, without the written permission of Confirm. © 2021 Confirm. All rights reserved. Products named herein may be trademarks of their respective manufacturers and are hereby re- cognized. Trademarked names are used editorially, to the benefit of the trademark owner, with no intent to infringe on the trademark. Open Source Attribution Notice The Confirm suite of products contain the following open source software: • Feature Data Objects v 3.5.0, which is licensed under GNU Lesser General Public License, Version 2.1, February 1999 with the unRAR restriction. The license can be downloaded from: http://fdo.osgeo.org/licenceAndGovernance.html. The source code for this software is available from http://fdo.osgeo.org/content/fdo-350-downloads • MrSID software (specifically the mrsid32.dll) is used under license and is Copyright © 1995-2002, LizardTech, Inc., 1008 Western Ave., Suite 200, Seattle, WA 98104. All rights reserved. MrSID is protected by U.S. Patent No. 5,710,835. Foreign patents are pending. Unauthorized use or duplication prohibited. Patented technology in the Software was developed in part through a project at the Los Alamos National Laboratory, funded by the U.S. Government and managed by the University of California. The U.S. Government has reserved rights in the technology, including a non-exclusive, nontrans- ferable, irrevocable, paid-up license to practice or have practiced throughout the world, for or on behalf of the United States, inventions covered by the patent, and has other rights under 35 U.S.C.
    [Show full text]
  • Android: Beyond Basics
    Android: Beyond basics Ing. David Vávra, Step Up Labs MU Brno, March 2016 About me ● Internship at Google London http://twitter.com/destil 2011 http://google.com/+DavidVávra ● Graduated ČVUT FEL in 2012 ● Master thesis: Settle Up https://medium.com/@david.vavra ● 2012-2014 Inmite ● 2014-2016 Avast ● 2015 GDE for Android ● 2016 Step Up Labs Who is this talk for? ● Students with basic Java knowledge ● Android beginners ● Intermediate Android devs ● iOS and WP devs who are interested about Android Agenda ● Motivation & basics recap ○ QA & Break ● Creating a Play Store-ready app ○ QA & Break ● Professional Android development ○ QA www.slido.com #brno Motivation & Basics Recap Android is ... ● Linux-based OS for various devices ● Open-source (http://source.android.com) Some history ● 2003, Android inc., digital cameras ● 2005, acquired by Google ● 2007 iPhone ● Sep 2008, the first Android phone ○ T-Mobile G1 ● May 2010, Froyo (Android 2.2) ● Feb 2011, Honeycomb (Android 3.0) ● Oct 2011, Ice Cream Sandwich (4.0) ● July 2012, Jelly Bean (Android 4.1) ● July 2013, Jelly Bean (Android 4.3) ● Oct 2013, KitKat (Android 4.4) ● June 2014, Lollipop (Android 5.0) ● September 2015, Marshmallow (6.0) ● March 2016, N (6.1?) Android today Android today ● global marketshare 78.4% ● Phones ● 1.5 million devices daily ● Tablets activated ● Android Wear ● tablet marketshare 36.5% ● Android TV ● >1.7 million apps in Play Store ● Android Auto ● $1.8 billion from app sales in ● Project Tango 2014 ● Brillo ● (Google Glass) Bright side of Android Dark side of Android
    [Show full text]
  • Towardsweb User-Centric Development Emilian Pascalau
    TowardsWeb User-Centric Development Emilian Pascalau To cite this version: Emilian Pascalau. TowardsWeb User-Centric Development. Data Structures and Algorithms [cs.DS]. Conservatoire national des arts et metiers - CNAM, 2014. English. NNT : 2014CNAM0916. tel- 01062263 HAL Id: tel-01062263 https://tel.archives-ouvertes.fr/tel-01062263 Submitted on 9 Sep 2014 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS ÉCOLE DOCTORALE INFORMATIQUE, TÉLÉCOMMUNICATION ET ÉLECTRONIQUE (EDITE - PARIS) ÉQUIPES VERTIGO - LABORATOIRE CEDRIC THÈSE DE DOCTORAT présentée par : Emilian PASCALAU soutenue le : 7 avril 2014 pour obtenir le grade de : Docteur du Conservatoire National des Arts et Métiers Discipline / Spécialité : Informatique Vers un développement Web orienté utilisateur Towards Web User-Centric Development THÈSE DIRIGÉE PAR M. RIGAUX Philippe PR, CNAM RAPPORTEURS M. GROSS-AMBLARD David PR, Univ. Rennes 1 Mme. GRIGORI Daniela PR, Univ. Paris-Dauphine EXAMINATEURS Mme. BENBERNOU Salima PR, Paris Descartes M. TRAVERS Nicolas MdC, CNAM M. ZAMFIROIU Michel Directeur, KarmicSoft inc. To my parents Emil and Iuliana Aknowledgements I feel obliged to first thank God for the health and strength He gave me through out the years of study.
    [Show full text]