SERVICE2MEDIA
THE APP LIFECYCLE PLATFORM

   Peter Broekroelofs,               Chris Lukassen,
   CTO and Co-Founder    Product Management Director
                                                       Webinar   1
AGENDA:


      Peter Broekroelofs
1. Corporate IT App Challenges
2. The
      App Lifecycle Platform
      3. Business model

      Chris Lukassen
4. Platform Architecture
5. Runtime




                                                                 Webinar   2
CORPORATE IT APP CHALLENGES
OS and device fragmentation   Shortage of native developers   Manageability of mobile initiatives




SHORTER TIME-TO-MARKET AND LOWER TCO
                                                                                            Webinar   3
APP DEVELOPMENT CONTINUUM

NATIVE      PLATFORM        HTML5
NATIVE
DEVELOPMENT
SILOS BECOME
UNMANAGEABLE




           Webinar   5
WEB TECHNOLOGY CAN ONLY SOLVE
PART OF THE PROBLEM




                           Advanced app solutions |   6
THE APP LIFECYCLE PLATFORM


                  • Design Apps Once

                  • Deploy Apps on Multiple Devices

                  • Evolve Apps Throughout their Lives




                                           Advanced app solutions |   7
A PLATFORM OF INNOVATION
Sample: App Roadmap


 App Core                Personalization                 Push                  Sensoring
                                           Interaction           Transaction
 Functionality           Location                        Video                 Augmentation




Sample: Device Roadmap




                                                                                      Webinar   8
A BALANCED CHOICE
                           NATIVE   PLATFORM   HTML5

     1. MULTIPLE DEVICES



     2. SECURITY



     3. INTEGRATION



     4. USER EXPERIENCE



     5. TOOLS




                                                       9
OVER 70 GLOBAL
CLIENTS AND
PARTNERS


                 Webinar   10
BUSINESS MODEL


    Platform licensing:    Maintenance & support         Platform Services:

 • Runtime licensing      • Help desk              •   Solution development
                          • Developers portal      •   Development training
                          • Maintenance and bug    •   Design training
                            fixes                  •   App center set up




                                                                    Advanced app solutions |   11
ARCHITECTURE &
RUNTIMES
Chris Lukassen,
Product Management Director   M2Active Architecture & Runtimes /   12
TECHNOLOGY
ECOSYSTEM
•   Cross platform development
•   Runtimes
•   Components libraries
•   Cloud
•   Lifecycle services
•   Development portal
•   M2Active Studio




                                 Webinar   13
M2ACTIVE ARCHITECTURE RUNTIME CONCEPT
                                    M2ACTIVE
                                 APPLICATION

          M2Active API      M2Active API         M2Active API     M2Active API

         Native Runtime   Native Runtime        Native Runtime   Native Runtime




                                       Origin
                                       Server




                                                                                  M2Active Architecture & Runtimes /   14
M2ACTIVE ARCHITECTURE RUNTIME DETAILS
   Application
                                            APPLICATION SCRIPT
   Logic


   M2Active
                                   M2ACTIVE VIRTUAL MACHINE (LUA)
   VM

   M2Active               Net-    Data                          Multi-   Social
                   UI                    Sensors    Web   PIM                     Crypto Analytics
   API                   working Storage                        media    Media

                          Mobile
   M2Active        UI X
                 Manager
                         Comms                     M2ACTIVE RUNTIME CORE
   Core                  Manager

   Mobile
   OS




                                                                                          M2Active Architecture & Runtimes /   15
M2ACTIVE ARCHITECTURE
ORIGIN SERVER CONNECTIVITY
                          M2ACTIVE NATIVE
                             M2Active Native
                             RUNTIME
                                Runtime


                                   Web Services based on REST/JSON




         Service2Media      Server-side                      Third Party
         Cloud Services     Customer App                     Origin Server

          M2Push             Customer                       Social Networks
          M2Pay              Business data                  Mobile Analytics
          M2Stats            and services                   Mobile Ad networks
          …..                                               …..




                                                                                 M2Active Architecture & Runtimes /   16
M2ACTIVE ARCHITECTURE
ORIGIN SERVER CONNECTIVITY
         Mobile device                       Mobile device
                                                                                 Incl. support for
     M2Active Runtime                    M2Active Runtime                        • Text
                                                                                 • Images (JPEG/PNG)
              Google                               JSON                          • Basic XML
              Protocol
              Buffers
                                                                                 Incl. support for
                                                                                 • Basic auth.
                                                                                 • Digest auth.
                         TCP socket   HTTP/HTTPS                           M2Active client environment
                                                                           Server environment

              Google                               JSON
              Protocol
              Buffers

              Glassfish                          Glassfish
          M2Active                               M2Active
                                                                               ‘Other’
          server                                 server
                                                                               servers

   M2Active                           M2Active               •   Designed for 3G/Wi-Fi
                            ‘Other’                              One-way communications (pull)
   Platform                           Platform               •
                           services                          •   No dependency on M2Active server
   services                           services
                                                             •   No firewall traversal constraints


                                                                                 M2Active Architecture & Runtimes /   17
M2ACTIVE ARCHITECTURE
NATIVE PLUGIN ARCHITECTURE
                  M2ACTIVE
                APPLICATION


             Native
                                      M2Active
UI API       Bespoke
                                      APIs
             controls


                             VM Manager
UI Manager
                             MC Manager


                    Service2Media
                                                    Customer /
                    Server
                                                 Third party Server


                                                         M2Active Architecture & Runtimes /
                                                                                              18
M2ACTIVE RUNTIMES CAPABILITIES
CLIENT API SAMPLE REPOSITORY (REF M2ACTIVE 2.8)
GUI                        GUI               PHONE                   NETWORK
ActivitiyIndicator         TextView          AddressBook             HttpClient
AlertDialogue              VideoView         ContactPicker           HttpDeleteOperation
Animator                   View              MediaPicker             HttpGetOperation
Button                     WebView           NativeEmailClient       HttpPostOperation
Carousel                                                             HttpPutOperation
ControllerView             CORE              MEDIA                   NetworkInfo
DatePicker                 DocumentHandler   AudioPlayer             NetworkTransport
ImageManager               File              VideoPlayer             PushRegister
ImageView                  FileManager                               SocketConnectionManager
Label                      FontManager       SECURITY
LayoutManagers             MIS               AuthenticationManager   MAP
ModelController            ModuleManager     Encrypt/Decrypt         Coordinate
NavigationControllerView   Persistance       CryptoKey               Map
ScrollView                 Platform                                  POI
TabControllerView          Runtime           SENSOR
TableView                  Store             Location
TextField                  Timer             LocationProvider




                                                                            M2Active Architecture & Runtimes /   19
M2ACTIVE RUNTIMES CAPABILITIES
DESIGN COMPONENTS




                                 M2Active Architecture & Runtimes /   20
M2ACTIVE RUNTIMES CAPABILITIES
EXAMPLES OF COMPLEX DESIGN COMPONENTS




   MAPS         AUDIO/VIDEO     TABLEVIEWS




                                 M2Active Architecture & Runtimes /   21
M2ACTIVE RUNTIMES CAPABILITIES
TABLE VIEWS – ADVANCED AND HIGHLY CUSTOMISABLE




                                       M2Active Architecture and Runtimes /   22
M2ACTIVE RUNTIMES CAPABILITIES
PICKER – APPROXIMATING NATIVE LOOK AND FEEL




                                        M2Active Architecture & Runtimes /   23
M2ACTIVE RUNTIMES CAPABILITIES
SAMPLE VIEW LAYOUTS




 Center Layout   Horizontal box Layout   Vertical box Layout   Grid Layout   Border Layout       Edge Layout




                                                                                             M2Active Architecture & Runtimes |/   24
M2ACTIVE RUNTIMES CAPABILITIES
HIERARCHY OF LAYOUTS




                                 M2Active Architecture & Runtimes /   25
M2ACTIVE RUNTIMES CAPABILITIES
IMAGE SCALING – 9-PATCH




                                 M2Active Architecture & Runtimes /   26
M2ACTIVE RUNTIMES CAPABILITIES
ICON SCALING FOR ALL APP STORES


                    • App icons are essential for helping
                      the user to discover Apps in the stores
                      and on the device
                    • Each APP store imposes strict and
                      specific rules for application icons
                      (size, pixel density, form factor etc)
                    • M2Active includes tooling that
                      automates this cumbersome process




                                                           M2Active Architecture & Runtimes /   27
INTERACTIVE DEVELOPMENT ENVIRONMENT
(IDE)




                             Advanced app solutions |   28
M2ACTIVE RUNTIMES CAPABILITIES
M2ACTIVE DEVELOPER PORTAL
Current scope (download):
   • SDK
   • IDE
   • Tools
   • Samples
   • Documentation


Future scope (communicate):
     • Forums
     • Support
     • Chat
     • Blogs
     • News


Link to the M2Active developer portal


                                        M2Active Architecture & Runtimes /   29
THE APP
LIFECYCLE
PLATFORM™

EMPOWERING YOUR
APPS!


            Webinar   30
marketing@service2media.com

@service2media


Next webinar:
www.service2media.com/webinars

Webinar The App Lifecycle Platform

  • 1.
    SERVICE2MEDIA THE APP LIFECYCLEPLATFORM Peter Broekroelofs, Chris Lukassen, CTO and Co-Founder Product Management Director Webinar 1
  • 2.
    AGENDA: Peter Broekroelofs
1. Corporate IT App Challenges
2. The App Lifecycle Platform 3. Business model Chris Lukassen
4. Platform Architecture
5. Runtime Webinar 2
  • 3.
    CORPORATE IT APPCHALLENGES OS and device fragmentation Shortage of native developers Manageability of mobile initiatives SHORTER TIME-TO-MARKET AND LOWER TCO Webinar 3
  • 4.
  • 5.
  • 6.
    WEB TECHNOLOGY CANONLY SOLVE PART OF THE PROBLEM Advanced app solutions | 6
  • 7.
    THE APP LIFECYCLEPLATFORM • Design Apps Once • Deploy Apps on Multiple Devices • Evolve Apps Throughout their Lives Advanced app solutions | 7
  • 8.
    A PLATFORM OFINNOVATION Sample: App Roadmap App Core Personalization Push Sensoring Interaction Transaction Functionality Location Video Augmentation Sample: Device Roadmap Webinar 8
  • 9.
    A BALANCED CHOICE NATIVE PLATFORM HTML5 1. MULTIPLE DEVICES 2. SECURITY 3. INTEGRATION 4. USER EXPERIENCE 5. TOOLS 9
  • 10.
    OVER 70 GLOBAL CLIENTSAND PARTNERS Webinar 10
  • 11.
    BUSINESS MODEL Platform licensing: Maintenance & support Platform Services: • Runtime licensing • Help desk • Solution development • Developers portal • Development training • Maintenance and bug • Design training fixes • App center set up Advanced app solutions | 11
  • 12.
    ARCHITECTURE & RUNTIMES Chris Lukassen, ProductManagement Director M2Active Architecture & Runtimes / 12
  • 13.
    TECHNOLOGY ECOSYSTEM • Cross platform development • Runtimes • Components libraries • Cloud • Lifecycle services • Development portal • M2Active Studio Webinar 13
  • 14.
    M2ACTIVE ARCHITECTURE RUNTIMECONCEPT M2ACTIVE APPLICATION M2Active API M2Active API M2Active API M2Active API Native Runtime Native Runtime Native Runtime Native Runtime Origin Server M2Active Architecture & Runtimes / 14
  • 15.
    M2ACTIVE ARCHITECTURE RUNTIMEDETAILS Application APPLICATION SCRIPT Logic M2Active M2ACTIVE VIRTUAL MACHINE (LUA) VM M2Active Net- Data Multi- Social UI Sensors Web PIM Crypto Analytics API working Storage media Media Mobile M2Active UI X Manager Comms M2ACTIVE RUNTIME CORE Core Manager Mobile OS M2Active Architecture & Runtimes / 15
  • 16.
    M2ACTIVE ARCHITECTURE ORIGIN SERVERCONNECTIVITY M2ACTIVE NATIVE M2Active Native RUNTIME Runtime Web Services based on REST/JSON Service2Media Server-side Third Party Cloud Services Customer App Origin Server M2Push Customer Social Networks M2Pay Business data Mobile Analytics M2Stats and services Mobile Ad networks ….. ….. M2Active Architecture & Runtimes / 16
  • 17.
    M2ACTIVE ARCHITECTURE ORIGIN SERVERCONNECTIVITY Mobile device Mobile device Incl. support for M2Active Runtime M2Active Runtime • Text • Images (JPEG/PNG) Google JSON • Basic XML Protocol Buffers Incl. support for • Basic auth. • Digest auth. TCP socket HTTP/HTTPS M2Active client environment Server environment Google JSON Protocol Buffers Glassfish Glassfish M2Active M2Active ‘Other’ server server servers M2Active M2Active • Designed for 3G/Wi-Fi ‘Other’ One-way communications (pull) Platform Platform • services • No dependency on M2Active server services services • No firewall traversal constraints M2Active Architecture & Runtimes / 17
  • 18.
    M2ACTIVE ARCHITECTURE NATIVE PLUGINARCHITECTURE M2ACTIVE APPLICATION Native M2Active UI API Bespoke APIs controls VM Manager UI Manager MC Manager Service2Media Customer / Server Third party Server M2Active Architecture & Runtimes / 18
  • 19.
    M2ACTIVE RUNTIMES CAPABILITIES CLIENTAPI SAMPLE REPOSITORY (REF M2ACTIVE 2.8) GUI GUI PHONE NETWORK ActivitiyIndicator TextView AddressBook HttpClient AlertDialogue VideoView ContactPicker HttpDeleteOperation Animator View MediaPicker HttpGetOperation Button WebView NativeEmailClient HttpPostOperation Carousel HttpPutOperation ControllerView CORE MEDIA NetworkInfo DatePicker DocumentHandler AudioPlayer NetworkTransport ImageManager File VideoPlayer PushRegister ImageView FileManager SocketConnectionManager Label FontManager SECURITY LayoutManagers MIS AuthenticationManager MAP ModelController ModuleManager Encrypt/Decrypt Coordinate NavigationControllerView Persistance CryptoKey Map ScrollView Platform POI TabControllerView Runtime SENSOR TableView Store Location TextField Timer LocationProvider M2Active Architecture & Runtimes / 19
  • 20.
    M2ACTIVE RUNTIMES CAPABILITIES DESIGNCOMPONENTS M2Active Architecture & Runtimes / 20
  • 21.
    M2ACTIVE RUNTIMES CAPABILITIES EXAMPLESOF COMPLEX DESIGN COMPONENTS MAPS AUDIO/VIDEO TABLEVIEWS M2Active Architecture & Runtimes / 21
  • 22.
    M2ACTIVE RUNTIMES CAPABILITIES TABLEVIEWS – ADVANCED AND HIGHLY CUSTOMISABLE M2Active Architecture and Runtimes / 22
  • 23.
    M2ACTIVE RUNTIMES CAPABILITIES PICKER– APPROXIMATING NATIVE LOOK AND FEEL M2Active Architecture & Runtimes / 23
  • 24.
    M2ACTIVE RUNTIMES CAPABILITIES SAMPLEVIEW LAYOUTS Center Layout Horizontal box Layout Vertical box Layout Grid Layout Border Layout Edge Layout M2Active Architecture & Runtimes |/ 24
  • 25.
    M2ACTIVE RUNTIMES CAPABILITIES HIERARCHYOF LAYOUTS M2Active Architecture & Runtimes / 25
  • 26.
    M2ACTIVE RUNTIMES CAPABILITIES IMAGESCALING – 9-PATCH M2Active Architecture & Runtimes / 26
  • 27.
    M2ACTIVE RUNTIMES CAPABILITIES ICONSCALING FOR ALL APP STORES • App icons are essential for helping the user to discover Apps in the stores and on the device • Each APP store imposes strict and specific rules for application icons (size, pixel density, form factor etc) • M2Active includes tooling that automates this cumbersome process M2Active Architecture & Runtimes / 27
  • 28.
    INTERACTIVE DEVELOPMENT ENVIRONMENT (IDE) Advanced app solutions | 28
  • 29.
    M2ACTIVE RUNTIMES CAPABILITIES M2ACTIVEDEVELOPER PORTAL Current scope (download): • SDK • IDE • Tools • Samples • Documentation Future scope (communicate): • Forums • Support • Chat • Blogs • News Link to the M2Active developer portal M2Active Architecture & Runtimes / 29
  • 30.
  • 31.

Editor's Notes

  • #14 Currently we have the following cloud services:Push ServerIn app PaymentsAdvertisementExtended with e.g.:Cloud Enterprise app storeCloud TestingCloud Big Data (predictive analytics)………..Partner first and potentially acquire later
  • #15 The M2Active client architecture is based on the Runtime principle.Each Runtime is developed in native code (fast execution for all complex and heavy lifting processing) and exposes the M2Active Client API to the application layer.Hence the Runtime provides a uniform application environment across all mobile OSs.The application is written in Lua script, details explained later, an easy to learn, easy to run open source scripting language.Service2Media has extended the Lua language with a range of mobile API bindings, allowing the application to access device resources.Each downloadable M2Active application binary consists of the application code (in binary format for efficiency reasons) combined with the applicable native Runtime image.Hence each app runs on its private copy of a Runtime and technically behaves exactly like a native app.When started on the device, the Runtime initiates itself and starts executing the application byte code.Due to the mentioned architecture decisions, the performance of the M2Active app is comparable to the performance of a corresponding native app.
  • #16 This sheets gives an insight in the structure of an M2Active Runtime.A range of Client API classes are exposed to the application layer.The Runtime itself in written in native code for fast execution and easy access to device resources and consists of the following main components: User Interface (UI) Manager, responsible for all interaction with the user, including view manager, image manager, font manager and navigation models (not drawn)Mobile Communications (MC) manager, responsible for interactions across the networks (mobile , Wi-Fi) The Virtual Machine (VM), responsible for parsing and executing the application byte codeThe M2Active Runtime core, glueing all components together and responsible for startup/shutdown, event handling, caching, error handling etc etc).
  • #17 As mentioned before, M2Active does not mandate a Service2Media backend, although Service2Media does provide a number of optional Cloud services, including Push, Payments and Statistics, that may come in handy for customers. The M2Active Runtimes support APIs that allow developers to rapidly connect to such services. In addition, The M2Active client API supports a range of APIs for accessing third party Cloud Services like Social Media and Mobile Advertisement Networks. The M2Active Runtimes supports APIs that allow developers to rapidly connect to such services.Of course, the M2Active MC component furthermore allows to connect to other (customer or third party) origin servers a range of communications services that are explained later in this presentation.
  • #18 The M2Active Mobile Communications Runtime components provide 2 distinct communications services: open communications stack based on HTTP/HTTPS at the network layer (OSI layer 5) and using JSON (JavaScript Object Notation) at the presentation layer (OSI layer 6). This is the de-facto standard for accessing web services in the mobile domain and most origin servers will support this stack ‘out-of-the-box’ ‘proprietary’ communication stack based on TCP sockets for transport and using Protocol Buffers (Google specification) at the presentation layer. This communications stack gives a highly efficient 2-way communications channel , but requires special precautions at the server-side end-point. The Service2media hosting environment supports such endpoints. Customers can create such endpoints based if they so wish, Service2Media is willing to provide more details.
  • #19 The M2Active Platform supports the concept of native plugins.These plugins can provide functionality that is not, or not yet, supported in the Platform.This may be the case for specialised, domain- or customer specific functions, that probably will never make it to the Platform, or functions that as such are suitable for productising but that are not yet realised in the Platform.The plugin framework therefore is a powerful tool making application projects independent of the M2Active scope and roadmap.Of course, by nature, the plugins have to be developed for each individual applicable mobile OS.Currently, Service2media has a team that is dedicated to developing native plugins. We are working on opening and documenting the Plugin framework allowing our partners and customers to create Plugins themselves.
  • #20 A view on the most important APIs supported by M2Active 2.8, for information only of course.Each release will introduce new APIs and API classes.
  • #21 Designer cheat sheet indicating the richness of M2Active UI controls.
  • #22 Indicating the richness of advanced, complex M2Active UI components
  • #23 TableviewGo beyond native experience (multi line, date label, dynamic cell with “new” label)With M2Active you are able to build advanced table views.
  • #24 Complex controls expose a uniform API towards the Lua development environment, but may manifest themselves in the UI in a fashion that approximates the native look and feel.
  • #25 Giving an insight in the M2Active view manager, which is part of the UI Runtime Component.Wide range of strategies for building a view.
  • #26 Even the most complex views can be created by cleverly selecting and combining the various view layout hierarchies supported by M2Active.
  • #27 This sheet explains the working of 9-patch scaling, frequently used in M2Active to scale UI artifacts like buttons, labels, backgrounds, icons etcThis is an image scaling method that was developed by Google.The scaling is defined in the PNG master image of the UI artifact itself, by means of the add-on horizontal and vertical bars shown in the diagram:These bars define: How to expand the image itself, preserving its intended outer shape How to fill the expanded image, allowing to preserve for instance label areas or icons that reside within the image.9-patch images are generated using M2Active design tooling and can be injected as is in the M2Active build environment, requiring no further manual adaptations.
  • #30 Impression of the M2Active Developer Portal (current release and roadmap).The developer portal will be the center point of the M2Active developer community.