third party plugin apps for Dimple, your custom Android NFC buttons
I developed third party plugin apps for Dimple app. The plugin apps are from Tokyo, Japan.
My plugin apps for Dimple
- Assign shortcuts to Dimple
|
You can assign followings to your Dimple,
- Bookmark of your browser (Android default browser and Chrome)
- URL history of your browser (Android default browser and Chrome)
- Application on your Android device
- Activity of all applications on your Android device
Please refer help of this plugin.
|
- Assign enviromental sound for alibi to button
now developing...
- More fun plugins are coming soon
These plugin apps are developed with Dimple Plugin SDK under LICENSE of Dimple Inc.
My own protective case for Dimple by a laser cutter machine
Why don't you fab yours by yourself ?
Digital data (".ai" file) is also available here.
What's Dimple ? How does it work ?
- Dimple is a set of custom buttons for Android phones and tablets, manufactured by Dimple Inc.
You can assign any action to each button.
Dimple Inc. begun mass-production by crowd funding at INDIEGOGO.
Now you can order Dimple standard (4 buttons) at DIMPLE.IO.
Dimple Inc. delivers it to all over the world from LATVIA, EU, in 3 weeks.
- You can get Dimple app from Google Play
- Dimple is made of NFC Type 2 tags, i.e. Mifre Ultraright, with circuit-switches.
When you press a button, the circuit of NFC type 2 tag turns on,
NFC reader of Android phones and tablets automatically reads the tag,
and Android works actions according to NDEF message on the tag.
- Dimple with factory default has a NDEF message as following,
TNF: 0x04 (TNF_EXTERNAL_TYPE)
Type: android.com.pkg
PAYLOAD: io.dimple.s
This means that Dimple app will be invoked if the app is installed, or Google Play app for Dimple app will be invoked if the app isn't installed.
You can peep into your Dimple with NDEF ready app such as NFC TagInfo by NXP
- After Dimple app edits Dimple button, the tag has a NDEF message as following,
TNF: 0x02 (TNF_MIME_MEDIA)
Type: a/i.d
PAYLOAD: (according to the edit)
MIME type "a/i.d" is supposed to be shortend "application/io.dimple",
due to limitation of memory size of NFC tags.
In case of Dimple tag, maximum size of NDEF message is 137 bytes. "a/i.d" (4 bytes), "application/io.dimple" (20 bytes), the difference of 16 bytes is meaningful compared to 137 bytes.
Table 1. Payload of NDEF of Dimple when editted
Dimple body type (1 Byte) |
Dimple body (0...n Bytes) |
Table 2. Dimple body type and Dimple body
Dimple body type | definition of type | Dimple body |
0x01 | Launch an application |
length (1 Byte) |
Package name (0..n Bytes) |
|
0x02 | Change the setting |
1st byte | 2nd byte | action |
0x00 | 0x00 | Set WiFi to ON |
0x00 | 0x01 | Set WiFi to OFF |
0x00 | 0x02 | Toggle WiFi |
0x01 | 0x00 | Set Bluetooth to ON |
0x01 | 0x01 | Set Bluetooth to OFF |
0x01 | 0x02 | Toggle Bluetooth |
0x02 | 0x00 | Set screen rotation to ON |
0x02 | 0x01 | Set screen rotation to OFF |
0x02 | 0x02 | Toggle screen rotation |
|
0x03 | Open a URL |
length (1 Byte) |
URL (0..n Bytes) |
|
0x05 | Run a tasker task |
length (1 Byte) |
Task name (0..n Bytes) |
|
0x06 | Flashlight | (doesn't exist Dimple body) |
0x07 | Call number |
length (1 Byte) |
Phone number (0..n Bytes) |
|
0x08 | Media button |
bytes | action |
0x00000055 | Press Play/Pause |
0x0000007E | Press Play |
0x0000007F | Press Pause |
0x00000057 | Press Next |
0x00000058 | Press Previous |
0x00000056 | Press Stop |
|
0x09 | Take a picture | (doesn't exist Dimple body) |
0x0A | Use third party plugin |
length of plugin's package name and class (1 Byte) |
plugin's package name + "/" + plugin's class name (0..n Bytes) |
length of body for plugin (1 Byte) |
body for plugin (0..n Bytes) |
|
Above table doesn't include a case of written multiple actions.
- When the tag is read, Android sends intent, "android.nfc.action.NDEF_DISCOVERED" with MIME type "a/i.d". Dimple app receives the intent and make actions according to payload of the NDEF message. If the payload means third party plugin, Dimple app sends intent to plugin app and plugin app performs action according to Dimple body message.
- You can write any NDEF messages to Dimple button with apps for NDEF writing such as NFC TagWriter by NXP. In this case, Android will make actions according to the NDEF message without Dimple app and its plugins.
For plugin developers,
- Have a look Dimple Plugin SDK provided by Dimple Inc.
- With the SDK, you don't have to care anything about NFC, NDEF and so on.
Only things plugin app should do are passing a text or byte data to Dimple app to edit button and processing the text or byte data to make any actions when Dimple button is pressed.
Developers need to know just most basic mechanism of Android OS, "Intent". That's it ! It's very easy to implement plugin apps for DIMPLE.IO.
- Best Practice
Memory size of Dimple tag is so limited, same as typical NFC tags, so take care following,
- use shorter package name for plugin app
- use shorter class name for your activity invoked by intent from Dimple app.
- You can use longer text or byte data for your plugin if you use shorter package name and class name.
Contact about this site and plugin apps developed by me to
@PluginForDimple,
https://www.facebook.com/gungun256
or