Intents and
             Dependency Management

                                                Friedger Müffke

                                                @fmdroid
                                                #openintents




www.openintents.org   support@openintents.org    droidcon.belgium,
                                                 2 April 2010
Android Platform
Holiday App
No monoliths ..



                  but interconnected
                         components

                  All apps are equal!
Holiday App (2)
Create new intents
Every developer can create their own new intents:


         VIEW                                  SHOW



     DISPLAY


                                                       EXHIBIT



     EXPOSE


                                           REVEAL



                     The Tower of Babel by Pieter Brueghel the Elder (1563)
Intent registry
                               www.openintents.org


 Browse and find
 intents, actions,
 applications, URIs,
 extras
 Promote your own
 intents and applications

As of April 2010:
 >50 registered intents



 Reuse components!
Don't reinvent the wheel!
Dependency Manager (1)
●   Intents create dependencies
       between components
●   Standard implementation:
       –   run-time dependency check
             late binding
       –   nearly constantly connected
       –   Programs handles missing components
            e.g. direct user to app store or
            explain missing feature
Dependency Manager (2)

●   Components (that rely on dependent components)
       –   Light-weight, late binding still possible
       –   Helper library
       –   Declaration in Manifest.xml
            <meta-data android:name =
               "org.openintents.dm.dependency-client"
                       android:resource =
               "@xml/mandatory"/>
●   Dependency Manager (resolution helper with UI)
       –   Interface to various sources, e.g. app stores,
             personal listings, etc.
Dependency Manager (3)




     Demo
code contribution by
  Jens Finkhäuser
Dependency Manager (4)

Participate!

Android is open as are these issues
    –   Issue 4716: Support package dependency
          through uses-intent in Manifest
    –   Issue 3217: Support
          PackageManager.GET_INTENT_FILTERS
    –   Issue 4159: Market should allow developers to list
          extension points for their apps
OpenIntents.org
●
    Discussion group since 2007
●
    All about open applications and interoperability
●
    Open source
●
    List of Android libraries
●
    Intents registry

●
    Backed by OpenIntents UG
    (haftungsbeschränkt)
    –   Closed source apps
    –   Organizer of droidcon
More info
Web site:
       www.openintents.org
Developer group:
http://groups.google.com/group/openintents
Code repository:
http://openintents.googlecode.com


droidcon 2010, 26/27 May, Berlin
All information at www.droidcon.de
Free barcamp and Conference
Participate as speaker, sponsor or attendee

Open Intents And Dependencies

  • 1.
    Intents and Dependency Management Friedger Müffke @fmdroid #openintents www.openintents.org support@openintents.org droidcon.belgium, 2 April 2010
  • 2.
  • 3.
  • 4.
    No monoliths .. but interconnected components All apps are equal!
  • 5.
  • 6.
    Create new intents Everydeveloper can create their own new intents: VIEW SHOW DISPLAY EXHIBIT EXPOSE REVEAL The Tower of Babel by Pieter Brueghel the Elder (1563)
  • 7.
    Intent registry www.openintents.org Browse and find intents, actions, applications, URIs, extras Promote your own intents and applications As of April 2010: >50 registered intents Reuse components! Don't reinvent the wheel!
  • 8.
    Dependency Manager (1) ● Intents create dependencies between components ● Standard implementation: – run-time dependency check late binding – nearly constantly connected – Programs handles missing components e.g. direct user to app store or explain missing feature
  • 9.
    Dependency Manager (2) ● Components (that rely on dependent components) – Light-weight, late binding still possible – Helper library – Declaration in Manifest.xml <meta-data android:name = "org.openintents.dm.dependency-client" android:resource = "@xml/mandatory"/> ● Dependency Manager (resolution helper with UI) – Interface to various sources, e.g. app stores, personal listings, etc.
  • 10.
    Dependency Manager (3) Demo code contribution by Jens Finkhäuser
  • 11.
    Dependency Manager (4) Participate! Androidis open as are these issues – Issue 4716: Support package dependency through uses-intent in Manifest – Issue 3217: Support PackageManager.GET_INTENT_FILTERS – Issue 4159: Market should allow developers to list extension points for their apps
  • 12.
    OpenIntents.org ● Discussion group since 2007 ● All about open applications and interoperability ● Open source ● List of Android libraries ● Intents registry ● Backed by OpenIntents UG (haftungsbeschränkt) – Closed source apps – Organizer of droidcon
  • 13.
    More info Web site: www.openintents.org Developer group: http://groups.google.com/group/openintents Code repository: http://openintents.googlecode.com droidcon 2010, 26/27 May, Berlin All information at www.droidcon.de Free barcamp and Conference Participate as speaker, sponsor or attendee