Mobile Developer's Guide to the Galaxy

Total Page:16

File Type:pdf, Size:1020Kb

Mobile Developer's Guide to the Galaxy Don‘t Panic MOBILE DEVELOPER‘S GUIDE TO THE GALAXY published by: Open-Xchange GmbH Olper Hütte 5f 57462 Olpe Germany www.open-xchange.com Customlytics GmbH Schönhauser Allee 167 C 10435 Berlin Germany www.customlytics.com 18th Edition November 2019 This Developer Guide is licensed under the Creative Commons BY 2.5 License. Please send your feedback, questions or sponsorship requests to: [email protected] Follow us on Twitter: @MobileDevGuide Art Direction and Design by Cornelius Haverland Sarah Duwe Editors: Marco Tabor Mladenka Vrdoljak www.mobiledevelopersguide.com Mobile Developer’s Guide Contents 1 Prologue 4 The Galaxy of Mobile by Robert Virkus 14 From Idea to Prototype by Andrej Balaz 45 Android Development by Daniel Böhrs 67 iOS Development by Swen Hutop & Dennis Kluge 83 Cross-Platform Development by Robert Virkus 91 Mobile Web by Ruadhan O'Donoghue 130 Mobile Gaming by Oscar Clark 158 Security & Privacy by Dean Churchill 173 Accessibility by Cathy Rundle 201 Testing by Marc van't Veer & Julian Harty 223 Monetization by Linda Harnisch 241 App Store Optimization (ASO) by Laura Spikermann 259 User Acquisition and Retargeting by Christian Eckhardt 281 Mobile Customer Relationship Management (mCRM) by Christian Eckhardt 297 Mobile Analytics & User Feedback by Linda Harnisch 315 Epilogue 317 About the Book Prologue The edition you are holding in your hands is the very first one that has been co-published together with Customlytics. We at Open-Xchange are happy to have found a partner that shares our goals and that allows us to continue printing hardcopies to provide our little book to an even larger audience. Most importantly, this partnership has a hugely positive impact on the content of the Mobile Developers Guide. Readers of previ- ous editions will notice that the chapters about user analytics and monetization have seen massive updates and that we added new chapters covering topics like app store optimiza- tion, user acquisition and retention. In our opinion, covering these topics in depth was overdue. As the industry grows and changes, it has become clear that developing an app is just one part of the adventure. No matter how good your piece of software might be, you will not succeed without at least some knowledge about how to market it. We hope our guide helps you to learn and build upon this knowledge. Mobile marketing has become highly data-driven these days. There are numerous 3rd party tools that allow you to, for example, attribute installs to their respective source properly and enable marketers to capture a huge range of user data at particular stages in their marketing campaigns. Before we proceed, we want to issue a word of caution to our readers when it comes to handling this (user) data. We advocate for a responsible way of collecting, storing and handling user data, which respects users´ right for privacy and which is in-line with the latest legal requirements such as GDPR. Throughout the book, especially in the marketing chapters, you will notice the reference to the use of these tools from time to time. 1 Prologue We make the case that using SDKs of independent 3rd party tool providers - in contrast to certain other “data hunters”- will give app developers sovereignty and control over their data. You can read more on this in the mobile analytics chapter. Of course, you will also still find tons of updated informa- tion about how to create mobile software that is worth the marketing effort. So make sure to read all the chapters and understand how to convert your idea into code. Once you are finished reading this edition of the Mobile Developers Guide, we would like to hear your feedback. Please let us know what content you think we may have missed or where you see room for improvement. Or, even better, get involved and share your knowledge by becoming a contributor for the next edition. Cheers, Marco / Open-Xchange & Christian / Customlytics Bremen & Berlin November 2019 PS: Please follow us on Twitter @MobileDevGuide and visit mobiledevelopersguide.com to obtain the electronic edition of this booklet. PPS: As usual, the articles reflect the opinions of the respective authors. 2 Prologue The Galaxy of Mobile Robert Virkus BY Looking back into the past, the mobile scene looked a bit like the home computer ecosystem in the 1980s: many players, many operating systems, lots of innovation and changes. Today we are dealing with a global duopoly: 98% of today's mobile devices are running either on Android or iOS1. Will this change? Without political pressure or a paradigm shift we do not expect the situation to change for the foreseeable future. Looking at the details, however, reveals an exciting micro-cosmos of options, challenges & opportunities. Notable Players You should watch the following players carefully, obviously depending on your market strategy and app/game/service category. Of course, each of these players bring way more to the table than just the mentioned products and services, but these are the most relevant in the mobile segment that we cover in this guide. Some of these players form global digital leaders summarized by the GAFAM acronym, which stands for Google-Apple-Facebook-Amazon-Microsoft. Google In the mobile industry Google's Android operating system remains the major smartphone player - both by numbers and by revenue. Android has many variants like Android Go for lower end smartphones, Android One promising regular security updates 1 76% Android, 22% iOS, see gs.statcounter.com/os-market-share/mobile/ worldwide/2019 4 The Galaxy of Mobile for three years and OS updates for two years2, Wear OS for smartwatches and Android TV for smart TVs, and an integration option for cars called Android Auto. Then there is of course AOSP - the Android Open Source Project3-, which provides the core Android OS platform without the proprietary Google services. AOSP is used mostly in China but also forms the basis for LineageOS. Additionally, Google taps into the emerging game streaming market with Stadia and has established a solid share of the smart speaker market with Google Home and Google Assistant- equipped devices from other vendors. With Chrome OS Google also established itself as an important PC operating system vendor. After Amazon and Microsoft, Google is the third biggest cloud service provider. Last but not least, Google launched with Flutter4 a cross- platform framework that spans across Android, iOS, Windows, macOS and the web. Flutter also powers UI development on its future research microkernel-based OS called Fuchsia5. Apple Apple single-handedly created the smartphone market in the first place with the iPhone and specifically with the iOS operating system and the App Store in 2007 and 2008 respectively. Apple is also a leading tablet provider6 and leads 2 android.com/intl/en/one 3 source.android.com 4 flutter.dev 5 fuchsia.dev 6 As of July 2019, iPads held 70% of the global tablet market: gs.statcounter. com/os-market-share/tablet/worldwide/2019 5 The Galaxy of Mobile the smartwatch market with its Apple Watch product7. Last but not least they also have a solid multimedia offering based on the Apple TV with its tvOS. Compared with Android, Apple has a comparatively smaller but very lucrative market share. Samsung Being the biggest smartphone vendor, Samsung influences the market to a large degree. Samsung is running Android mostly, but they also work on the Tizen operating system - however, so far every attempt to establish this OS in the smartphone segment has failed. With DeX (Desktop eXperience)8 Samsung fuses the tablet and PC market by supporting keyboard, mouse and external monitors to work with selected hardware like the Samsung Galaxy Note 10 handset. Samsung also operates the Galaxy Store for app distribution which can be an attractive alternative to the Google Play Store. 7 According to Strategy Analytics, Apple's smartwatch market share in Q2 2019 was 46%: bit.ly/2MkTFzK 8 samsung.com/global/galaxy/apps/samsung-dex 6 The Galaxy of Mobile Huawei Huawei has grown to become the second largest smartphone vendor. Same as for Samsung Huawei is using the official Google-Android for the international market. Possibly the US administration triggered a new wave of innovation by forcing Huawei to move away from the Google- approved Android OS. Huawei presented its own operating system called Harmony to the public in August 2019. This is aimed to run on a Microkernel but the initial release relies on a traditional Linux kernel. With App Gallery, Huawei also operates its own app distribution platform, which can be an attractive alternative to Google Play. Facebook Facebook provides the leading mobile messaging systems with WhatsApp, Facebook Messenger and Instagram. FB Messenger specifically provides easy extension options for developers while Instagram recently introduced an AR extension called Spark AR Studio. Facebook is also the main player of the Libra cryptocurrency project and provides various other developer tools. Rightfully Facebook is under pressure for its various data and privacy breaches. Amazon Amazon is the leading smart speaker provider with Alexa, which is extensible using skills. Amazon also uses its own Android variant FireOS9 for its tablets and provides its own Android app distribution platform Amazon Appstore. Amazon also provides the leading cloud platform with AWS. 9 developer.amazon.com/de/android-fireos 7 The Galaxy of Mobile Microsoft Microsoft is still the leading desktop operating system provider but failed to get traction with its Windows Phone and subsequent mobile offerings. Still, the desktop and gaming market make Windows and Xbox attractive targets for develop- ers. Microsoft also cooperates with Sony on the emerging game streaming market using its own Azure cloud platform.
Recommended publications
  • Product ID Product Type Product Description Notes Price (USD) Weight (KG) SKU 10534 Mobile-Phone Apple Iphone 4S 8GB White 226.8
    Rm A1,10/F, Shun Luen Factory Building, 86 Tokwawan Road, Hong Kong TEL: +852 2325 1867 FAX: +852 23251689 Website: http://www.ac-electronic.com/ For products not in our pricelist, please contact our sales. 29/8/2015 Product Price Weight Product Type Product Description Notes SKU ID (USD) (KG) 10534 mobile-phone Apple iPhone 4S 8GB White 226.8 0.5 40599 10491 mobile-phone Apple iPhone 5s 16GB Black Slate 486.4 0.5 40557 10497 mobile-phone Apple iPhone 5s 16GB Gold 495.6 0.5 40563 10494 mobile-phone Apple iPhone 5s 16GB White Silver 487.7 0.5 40560 10498 mobile-phone Apple iPhone 5s 32GB Gold 536.3 0.5 40564 11941 mobile-phone Apple iPhone 6 128GB Gold 784.1 0.5 41970 11939 mobile-phone Apple iPhone 6 16GB Gold 622.8 0.5 41968 11936 mobile-phone Apple iPhone 6 16GB Silver 633.3 0.5 41965 11942 mobile-phone Apple iPhone 6 16GB Space Grey 618.9 0.5 41971 11940 mobile-phone Apple iPhone 6 64GB Gold 705.4 0.5 41969 11937 mobile-phone Apple iPhone 6 64GB Silver 706.7 0.5 41966 11943 mobile-phone Apple iPhone 6 64GB Space Grey 708 0.5 41972 11963 mobile-phone Apple iPhone 6 Plus 128GB Silver 917.9 1 41991 11955 mobile-phone Apple iPhone 6 Plus 16GB Gold 755.3 1 41983 11961 mobile-phone Apple iPhone 6 Plus 16GB Silver 731.6 1 41989 11958 mobile-phone Apple iPhone 6 Plus 16GB Space Grey 735.6 1 41986 11956 mobile-phone Apple iPhone 6 Plus 64GB Gold 843.1 1 41984 11962 mobile-phone Apple iPhone 6 Plus 64GB Silver 841.8 1 41990 11959 mobile-phone Apple iPhone 6 Plus 64GB Space Grey 840.5 1 41987 12733 mobile-phone ASUS ZenFone 2 ZE550ML Dual SIM
    [Show full text]
  • Mobile Attribution & Marketing Analytics for Shopping Apps
    Mobile Attribution & Marketing Analytics for Shopping Apps The Complete Guide June 2019 Table of Contents Part 1 - User Acquisition Part 2 - Re-Engagement Chapter 1 - What to Measure and Set Up 6 Chapter 1 - What to Measure and Set Up 32 • Event Mapping • Event Mapping • Deep Linking • Deep Linking and Personalization • Uninstall Measurement • Owned Media • Determining Lookback Windows • Determining Re-Engagement • Fraud Protection Windows • Mapping a Holistic Customer Journey • Retargeting Chapter 2 - Pre-Launch/Campaign 22 Chapter 2 - Pre-Launch/Campaign 42 • Choosing Your Media Sources • Choosing Your Media Sources • Audience Segmentation • Re-Engagement Audience Segmentation Chapter 3 - Best Practices for Effective 29 User Acquisition Chapter 3 - Best Practices for Effective 49 Retargeting 2 Introduction With more products and services ever available, demand from shoppers has driven brands to emphasize mobile commerce, on-the-go and at user’s fingertips whenever the need to buy arises. In fact, App Annie predicts that 75% of all eCommerce transactions will be made on mobile by 2021. The use of retail apps is leading the mobile charge, with 5.7 billion downloads “ of shopping apps in 2018, which is more than 50% compared to 2015, according to Apptopia. Increased usage has led to a Mobile retail apps are no longer predicted $270 billion of generated revenue in 2019, growing a nice-to-have, they are a critical to $510 billion in 2022, according to eMarketer, of which roughly 70% occurs in app. piece of the puzzle for any national retailer trying to connect However, despite the explosive growth of shopping in apps, there are still retailers who have yet to focus their with its customers and deliver attention on this key touchpoint, thinking that a mobile healthy bottom-line results.
    [Show full text]
  • Alexander Vaos [email protected] - 754.281.9609 - Alexvaos.Com
    SENIOR FullStack SOFTWARE ENGINEER Alexander Vaos [email protected] - 754.281.9609 - alexvaos.com PERSONA Portfolio My name is Alexander Vaos and I love changing the world. Resume alexvaos.com/resume I’ve worn nearly ever hat I could put on in the last 18 years. I truly love being a part of something WEBSITE alexvaos.com meaningful. github github.com/kriogenx0 linkedin linkedin.com/pub/alex-vaos I love every part of creating a product: starting from an abstract idea, working through the experience, writing up it’s features, designing it, architecting it, building the front-end and back-end, integrating with stackoverflow stackoverflow.com/users/327934/alex-v other apps, bringing it together, testing, and ending at a physical result that makes a difference in Behance behance.net/kriogenx someone’s life. At an early age, I pursued design and programming, eventually learning some of the other Flickr flickr.com/alexvaos components of a business: marketing, product management, business development, sales. I worked as a part of every company size, from startup to enterprise. I've learned the delicacy of a startup, and how essential ROI can be for the roadmap of any company. I'd like to make an impact and create products people love, use, and can learn things from. I'd like the change the world one step at a time. FULL-TIME POSITIONS 2015-2018 SENIOR FullSTack ENGINEER Medidata Mdsol.com Overseeing 8 codebases, front-end applications and API services. Configured countless new applications from scratch with Rails, Rack, Express (Node), and Roda, using React/Webpack for front-end.
    [Show full text]
  • Asodesk.Com App Store Optimization
    Extended analytics and keyword boost campaigns for App Store and Google Play App Store Optimization ASOdesk.com Why is it important to work with ASO for your app? “Search plays a huge role in how users discover apps, with search queries accounting for 65% of downloads from the App Store.” Apple (June 2016) App Store Optimization ASOdesk.com User retention on the 30th day after downloading app is 156% higher with users who utilized the search function to find the app compared to users attracted through advertising channels. Appsflyer (2015) App Store Optimization ASOdesk.com By attracting users through the search function, you solve several business problems: Increase Installs Keyword ranking rises Decrease promo costs More cheap traffic and lower marketing costs Users gained via the search are more loyal to your Improve retention behavior product App Store Optimization ASOdesk.com ASOdesk Mission: to help you successfully reach your business goals Already trusted by App Store Optimization ASOdesk.com How ASOdesk can help you: The most accurate data regarding search request Analytics frequency on the market Keyword Boost Campaigns Easy to launch in just two clicks Visualization of the current situation and regular Monitoring reports via e-mail and Slack App Store Optimization ASOdesk.com Accurate and useful search query data Analytics Data regarding search request frequency is based only on the mobile search function, no web data collection Read our blog to find out why this is highly important: http://blog.asodesk.com App Store Optimization
    [Show full text]
  • Software Engineer Is .Jusiak.Net Kr Is @Jusiak.Net (0) 791-384-1386
    Krzysztof (Kris) Jusiak Software Engineer http://kr is .jusiak.net kr is @jusiak.net (0) 791-384-1386 Education 2005 - 2010 Wroclaw University of Technology Wroclaw (Poland) MSc in Computer Science, specialised in Software Engineering (Top grade) Employment 2013 – Present King London (United Kingdom) Game/Software Developer (Mobile) King is a worldwide leader in casual games with more than 30 billion games played per month globally. We are a leading interactive entertainment company for the mobile world. Our mission is to provide highly engaging content to our audience to match their mobile lifestyles: anywhere, anytime, through any platform and on any device. Software Developer in a scrum team responsible for development and releases of mobile games played by millions active daily players. 90% of my job is focused on developing software using C++14 standard for different platforms such as, iOS, Android and Facebook (HTML5 - Emscripten). My core role is to provide high quality features and review/refactor already implemented. I am also involved in recruitment process by being a technical expert on interviews. I have done a lot of improvements to the projects I have been involved in, such as, performance/compile times optimizations, introduction of static analysis tools as well as a replacement of Service Locator pattern by Dependency Injection. • Implementing and releasing multi-platform games played by more than 100 millions active daily players • Reduced time to render the textures by 10% by changing loading files caching mechanism • Implemented an integration test framework which eliminated commonly reoccurring issues 2009 – 2013 Nokia Networks Wroclaw (Poland) Software Engineer Nokia Networks is the world’s specialist in mobile broadband, which helps enable end users to do more than ever before with the world’s most efficient mobile networks, the intelligence to maximize their value and the services to make it all work together.
    [Show full text]
  • Maksym Govorischev
    Maksym Govorischev E-mail : [email protected] Skills & Tools Programming and Scripting Languages: Java, Groovy, Scala Programming metodologies: OOP, Functional Programming, Design Patterns, REST Technologies and Frameworks: - Application development: Java SE 8 Spring Framework(Core, MVC, Security, Integration) Java EE 6 JPA/Hibernate - Database development: SQL NoSQL solutions - MongoDB, OrientDB, Cassandra - Frontent development: HTML, CSS (basic) Javascript Frameworks: JQuery, Knockout - Build tools: Gradle Maven Ant - Version Control Systems: Git SVN Project Experience Project: JUL, 2016 - OCT, 2016 Project Role: Senior Developer Description: Project's aim was essentially to create a microservices architecture blueprint, incorporating business agnostic integrations with various third-party Ecommerce, Social, IoT and Machine Learning solutions, orchestrating them into single coherent system and allowing a particular business to quickly build rich online experience with discussions, IoT support and Maksym Govorischev 1 recommendations engine, by just adding business specific services layer on top of accelerator. Participation: Played a Key developer role to implement integration with IoT platform (AWS IoT) and recommendation engine (Prediction IO), by building corresponding integration microservices. Tools: Maven, GitLab, SonarQube, Jenkins, Docker, PostgreSQL, Cassandra, Prediction IO Technologies: Java 8, Scala, Spring Boot, REST, Netflix Zuul, Netflix Eureka, Hystrix Project: Office Space Management Portal DEC, 2015 - FEB, 2016
    [Show full text]
  • Privacy Concerns in Android Advertising Libraries
    RICE UNIVERSITY Privacy Concerns in Android Advertising Libraries by Theodore Book A Thesis Submitted in Partial Fulfillment of the Requirements for the Degree Master of Science Approved, Thesis Committee: Dan S. Wallach, Chair Professor of Computer Science T. S. Eugene Ng Professor of Computer Science Lin Zhong Associate Professor of Electrical and Computer Engineering and Computer Science Houston, Texas November, 2013 ABSTRACT Privacy Concerns in Android Advertising Libraries by Theodore Book This work investigates privacy characteristics of Android advertising libraries. Taking a sample of 114,000 apps, we extract and classify their ad libraries. We then seek to understand how they make use of sensitive user data. First, we study the use of permission-protected Android API calls that provide access to user data. Here, we measure change over time by distinguishing unique versions of each library, dating them, and calculating their permission usage. We find that the use of most permis- sions has increased over the last several years, and that more libraries are able to use permissions that pose particular risks to user privacy and security. Next, we shift to the application side and consider information passed directly from the application to the ad library. We do this by reconstructing the APIs for our libraries, and examining how those APIs are used in our sample of Android applications. We find that many applications pass personal information directly to their ad libraries, without any need for the library to query the operating system directly. This behavior is most com- mon in more popular applications, suggesting that the promise of advertising dollars encourages application developers to violate users' privacy.
    [Show full text]
  • Dissecting Mobile Offerwall Advertisements: an Explorative Study
    2020 IEEE 20th International Conference on Software Quality, Reliability and Security (QRS) Dissecting Mobile Offerwall Advertisements: An Explorative Study 1 1 1 1 2 1∗ 3 1 Guosheng Xu , Yangyu Hu , Qian Guo , Ren He ,LiLi , Guoai Xu , Zhihui Han , and Haoyu Wang 1 Beijing University of Posts and Telecommunications, Beijing, China 2Monash University, Australia 3 CNCERT, Beijing, China Abstract—Mobile advertising has become the most popular monetizing way in the Android app ecosystem. Offerwall, as a new form of mobile ads, has been widely adopted by apps, and a number of ad networks have provided such services. Although new to the ecosystem, offerwall ads have been criticized for being aggressive, and the contents disseminated are prone to security issues. However, to date, our community has not proposed any studies to dissect such issues related to offerwall ads. To this end, we present the first work to fill this gap. Specifically, we first develop a robust approach to identify apps that have embedded with offerwall ads. Then, we apply the tool to 10K apps and experimentally discover 312 offerwall apps. We go one step further to characterize them from several aspects, including security issues. Our observation reveals that offerwall ads could indeed be manipulated by hackers to fulfill malicious purposes. Index Terms—Offerwall, Mobile Advertising, Android, Pay-per Install, Malware I. INTRODUCTION Mobile apps have seen widespread adoption in recent years. The number of apps in Google Play has exceeded 2.7 million 濄濕濗濟濕濛濙濍澳濣濦濛澢濫濣濣濘濦濣濝濘澢濕濠濕濦濡濡濬 濃濚濚濙濦濫濕濠濠 澵濘澔濇濘濟濍澳澵濘濫濣 mark as of August 2019 [1]. A recent study [2] suggested that the app monetization scheme evolves during the evolution Fig.
    [Show full text]
  • Mobile Developer's Guide to the Galaxy
    Don’t Panic MOBILE DEVELOPER’S GUIDE TO THE GALAXY U PD A TE D & EX TE ND 12th ED EDITION published by: Services and Tools for All Mobile Platforms Enough Software GmbH + Co. KG Sögestrasse 70 28195 Bremen Germany www.enough.de Please send your feedback, questions or sponsorship requests to: [email protected] Follow us on Twitter: @enoughsoftware 12th Edition February 2013 This Developer Guide is licensed under the Creative Commons Some Rights Reserved License. Editors: Marco Tabor (Enough Software) Julian Harty Izabella Balce Art Direction and Design by Andrej Balaz (Enough Software) Mobile Developer’s Guide Contents I Prologue 1 The Galaxy of Mobile: An Introduction 1 Topology: Form Factors and Usage Patterns 2 Star Formation: Creating a Mobile Service 6 The Universe of Mobile Operating Systems 12 About Time and Space 12 Lost in Space 14 Conceptional Design For Mobile 14 Capturing The Idea 16 Designing User Experience 22 Android 22 The Ecosystem 24 Prerequisites 25 Implementation 28 Testing 30 Building 30 Signing 31 Distribution 32 Monetization 34 BlackBerry Java Apps 34 The Ecosystem 35 Prerequisites 36 Implementation 38 Testing 39 Signing 39 Distribution 40 Learn More 42 BlackBerry 10 42 The Ecosystem 43 Development 51 Testing 51 Signing 52 Distribution 54 iOS 54 The Ecosystem 55 Technology Overview 57 Testing & Debugging 59 Learn More 62 Java ME (J2ME) 62 The Ecosystem 63 Prerequisites 64 Implementation 67 Testing 68 Porting 70 Signing 71 Distribution 72 Learn More 4 75 Windows Phone 75 The Ecosystem 76 Implementation 82 Testing
    [Show full text]
  • Erik Lindahl
    HPC Software Engineering Erik Lindahl XSEDE/PRACE/RIKEN/SciNet HPC Summer School Ostrava, CZ, 2018 Extra Q & A session: Here (or outside at the tables) 12.45 today! “The application of a systematic, disciplined, quantifiable approach to the development, operation and maintenance of software, and the study of these approaches, that is, the application of engineering to software.” Experiences from 20 years of GROMACS development The GROMACS picture until early 2011 Source code repository: • Simulation hardware project, turned software CVS • Early development based on our own needs • Turned GPL in 2001, LGPL in 2012 Build Chain: • Organic growth of development Automake/Autoconf/libtool • Roughly 10-15 core developers Bug Tracking: • Another 15-20 active contributors Bugzilla • Currently 3,076,420 lines of C++11 code (“C++11”) • Over the years we have used Fortran, C, Assembly Testing: • Lots of old code. Lots of new code. Lots of complicated (read: bad) code written by scientists Software Scientist engineer • Trained in physics, • Trained in CS/software chemistry, etc. • Care about their problem • Care about their code • Care about short-term • Care about long-term deadlines maintenance • New code = asset • New code = liability • Writes more code than • Reads much more code she reads than she writes Without proper software engineering, we are building a technical debt that sooner or later will have to be paid. “Technical Debt is a wonderful metaphor developed by Ward Cunningham to help us think about this problem. In this metaphor, doing things the quick and dirty way sets us up with a technical debt, which is similar to a financial debt.
    [Show full text]
  • ROOT Package Management: “Lazy Install” Approach
    ROOT package management: “lazy install” approach Oksana Shadura ROOT Monday meeting Outline ● How we can improve artifact management (“lazy-install”) system for ROOT ● How to organise dependency management for ROOT ● Improvements to ROOT CMake build system ● Use cases for installing artifacts in the same ROOT session Goals ● Familiarize ROOT team with our planned work ● Explain key misunderstandings ● Give a technical overview of root-get ● Explain how root-get and cmake can work in synergy Non Goals We are not planning to replace CMake No change to the default build system of ROOT No duplication of functionality We are planning to “fill empty holes” for CMake General overview Manifest - why we need it? ● Easy to write ● Easy to parse, while CMakeLists.txt is impossible to parse ● Collect information from ROOT’s dependencies + from “builtin dependencies” + OS dependencies + external packages to be plugged in ROOT (to be resolved after using DAG) ● It can be easily exported back as a CMakeLists.txt ● It can have extra data elements [not only what is in CMakeLists.txt, but store extra info] ○ Dependencies description (github links, semantic versioning) ■ url: "ssh://[email protected]/Greeter.git", ■ versions: Version(1,0,0)..<Version(2,0,0) Manifest is a “dump” of status of build system (BS), where root-get is just a helper for BS Manifest - Sample Usage scenarios and benefits of manifest files: LLVM/Clang LLVM use CMake as a LLVMBuild utility that organize LLVM in a hierarchy of manifest files of components to be used by build system llvm-build, that is responsible for loading, verifying, and manipulating the project's component data.
    [Show full text]
  • How to Build a Mobile-Centric Martech Stack the Complete Guide
    How to Build a Mobile-Centric MarTech Stack The Complete Guide *Written and edited by AppsFlyer with collaboration from guest authors on chapter 3 (Braze), chapter 4 (Mixpanel) and chapter 5 (mParticle) October 2019 Table of Contents Chapter 1 Chapter 3 Why Do You Need a Marketing Tech Stack? 5 Category Deep Dive: Marketing Automation 25 • Why Do You Need a Marketing Tech Stack? • Building an Integrated Technology Stack for • Foundations: How to Start Building a Mobile Customer Engagement Marketing Tech Stack • Building Brilliant Customer Engagement • Fundamentals: Mobile MarTech Hierarchy of Needs Experiences • Final Thoughts Chapter 2 Category Deep Dive: Mobile Attribution 16 Chapter 4 • Fitting Mobile Attribution into Your MarTech Stack Category Deep Dive: Product Analytics 33 • Top Attribution Use Cases • The Power of Self-Serve Product Analytics • Leave the Data Plumbing to the Plumber • Example #1: Understanding Users with Behavioral Analytics • Example #2: Optimizing Messages and Flows with Cohort Analysis • Example #3: Predictive Analytics for Data Science 2 Table of Contents Chapter 5 Chapter 7 Category Deep Dive: Customer Data Platform 41 Advanced Considerations: • MarTech is More Specialized Than Ever The MarTech Evaluation & Buy-In Process 64 • Real-Time Data Enables Multithreaded Customer • The Anatomy of a Buying Decision Journeys • Conducting a Capability Assessment • Privacy by Design • Don’t Forget Vendors Are Collections of People • Bringing it All Together • The Security & Privacy Review: What to Expect • The Privacy & Security Review: How to Prepare Chapter 6 • Building a Business Case Designing Your Stack for Growth 47 • Concluding Thoughts • Tech Stack Adoption Trends • Strategic Trade-offs: Best-in-Breed vs.
    [Show full text]