My favorites | Sign in
Project Home Downloads Wiki Issues Source
READ-ONLY: This project has been archived. For more information see this post.
Search
for
  Advanced search   Search tips   Subscriptions
Issue 95: convert datasources and markers into plugins
1 person starred this issue and may be notified of changes. Back to list
Status:  Fixed
Owner:  ----
Closed:  Apr 2012


 
Reported by abdu...@gmail.com, Feb 28, 2012
Please provide any additional information below.
Convert datasources like wikipedia, twitter, etc.. and Markers like POIMarker, NavigationMarker etc.. into plugins (classes).
Adding more datasources and markers will become easier.
Feb 28, 2012
Project Member #1 daniele.gobbetti
I was thinking the same when working on the dev-extras branch: https://github.com/mixare/mixare/commit/13e1a4f23f8f5436a316b1b1158ad630d6c61859

I'm setting the priority to high as a personal reminder.
Labels: -Type-Defect -Priority-Medium Type-Enhancement Priority-High
Feb 28, 2012
Project Member #2 daniele.gobbetti
(No comment was entered for this change.)
Labels: Version-AndroidRelease0.8
Feb 28, 2012
#3 abdu...@gmail.com
I am currently working on this branch https://github.com/abduegal/mixare
And I would like to solve this issue.
Feb 28, 2012
Project Member #4 daniele.gobbetti
I think there are two scenarios:
- non-interactive plugins (I propose to call them: plugins)
- interactive plugins (I propose to call them: launchers)

I would like to have a unified list of datasource, with the default ones (part of "core" mixare), the user-defined ones and the external ones (other apps installed on the device that are capable of put data in mixare either through extras or url).

I think the distinction between interactive and non interactive is important because the former can be launched from mixare with the current position and return the POIs, possibly without the user noticing anything (i.e. the activity may be launched in background and never come in sight), whereas the plugins that requires user interaction clearly require the activity to be seen by the end user.

What do you think?
Feb 28, 2012
#5 abdu...@gmail.com
I was thinking about the following:
Every data source is a plugin and a plugin can contain the following things:
- The datasource url
- A custom json/xml parser for that datasource (optional)
- Custom markers to override the default marker(optional) I.E. imagemarker, 3d marker
- Custom components for that data source I.E. a barcode scanner or splash screen

The plugin is then packed in a jar file and the app can check for plugins with a serviceloader.
http://docs.oracle.com/javase/6/docs/api/java/util/ServiceLoader.html

We can then replace the 4 default datasources with jars for example: 
- mixare-wikipedia-plugin.jar
- mixare-twitter-plugin.jar
- mixare-buzz-plugin.jar
- mixare-custom_url-plugin.jar
The sources of these plugins can then be added in the following github directory: /plugin/[plugin-name]/

I would also like to add the possibility that a custom launcher or url can contain a marker type or component in the intent / url,
so that mixare will pick the right url, marker type and launch the right components for that custom launcher / url.

I am currently building a proof of concept to test this issue
What do you think?
Mar 16, 2012
#6 abdu...@gmail.com
Hi, I have added a sample marker in the git fork: abduegal. The structure is as follow:
- Mixare core -> the mixare augmented reality browser
- Mixare library -> A library project which contains some classes that are used by 
                    both the mixare app and the plugin. 
- Sample marker plugin -> A Image Marker which can be automatically found by mixare 
                          if installed

The AIDL files in the library are taking care of the connections between the components. 

The library and plugins can be found in the /plugins/ folder.

Can you tell me what you think of these changes?
Apr 20, 2012
Project Member #7 mixare.org
(No comment was entered for this change.)
Status: Fixed

Powered by Google Project Hosting