Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Paho/Project Plan"

(Current and Near Future Major Items)
(16 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= Open Task list =
+
= [https://projects.eclipse.org/projects/iot.paho/documentation Current Plan] =
 +
 
 +
The release plans are in the project documentation - see "releases" at https://projects.eclipse.org/projects/iot.paho/documentation.
  
 
* [https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&classification=Technology&component=MQTT&component=Samples&component=Sandbox&list_id=3090526&product=Paho&query_format=advanced&order=bug_status%2Cpriority%2Cbug_severity list of open Paho bugs]
 
* [https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&classification=Technology&component=MQTT&component=Samples&component=Sandbox&list_id=3090526&product=Paho&query_format=advanced&order=bug_status%2Cpriority%2Cbug_severity list of open Paho bugs]
* Binary releases of C and Java clients for download
 
* LuaRock release of Lua client for download
 
* Tutorials for C and Java clients
 
* How to build and use C client on iOS
 
* Test suite
 
* Protocol compliance suite for reference implementations
 
* Raise MQTT Lua client to the same functional level as the C and Java client
 
* Update MQTT specification with mqtt.org / mailing list clarifications
 
* Some idea of [[Paho/Repository#Future_needs|potential code additions]] are on the page discussing the Repository structure.
 
  
= Milestones =
+
== Current and Near Future Major Items ==
 +
 
 +
* .Net client currently being contributed
 +
* MQTT Test Suite under development
 +
* Embedded client libraries for MQTT
 +
* MQTT SN embedded clients and tools
 +
* [https://wiki.eclipse.org/Paho/Android_Service Android service design]
 +
* "offline buffering" and automatic reconnect for mainstream clients
 +
 
 +
=== Actively Soliciting Contributions for ===
 +
 
 +
* [https://bugs.eclipse.org/bugs/show_bug.cgi?id=442878 PHP client]
 +
* [https://bugs.eclipse.org/bugs/show_bug.cgi?id=442877 Ruby client]
 +
* Node.js client
  
The Paho project will target the Eclipse Kepler release (June 26th, 2013) with a 0.9 release under Incubator status, and two intermediate releases in 4Q12 and 1Q13.
+
== Directions ==
  
== 0.1 Build (4Q12) "M0" ==
+
* Expand client library coverage to all major programming languages (http://spectrum.ieee.org/computing/software/top-10-programming-languages)
This will be a “snapshot” build of the
+
*Lua, C, and Java MQTT clients,
+
*Eclipse client view,
+
*Any additional example code.  
+
  
The 0.1 release will be as an “update site” with the primary goal to learn and exercise the Eclipse Build/Release process and tools including Tycho
+
* I am assuming the MQTT specification will evolve over the next couple of years. Would it make sense to start an incubator to try out some new ideas for the spec? Developers could contribute code that implements these ideas and this would help the MQTT TC in the evolution of the spec. (Ian Skerrett)
  
== 0.x Release (1Q13) "M1" ==
+
* I'd like to see a focus on creating tools to test/debug/deploy MQTT apps. Tools like MQTTLens I think will be critical to the adoption of MQTT. Could Paho be the home to these types of tools? (Ian Skerrett)
*Line items (common to all clients)
+
Add suggestions here  [https://bugs.eclipse.org/bugs/show_bug.cgi?id=442874 Ideas for tools that could be created or adopted to test/debug/deploy MQTT]
**Consistent samples/examples for all language clients
+
**Consistent documentation
+
**…
+
*C client line items
+
**…
+
*Eclipse client view line items
+
**…
+
* Java client line items
+
** Make jar of paho client available for download (2012)
+
** Set Java client to build automatically and make jar and doc available.
+
** jar available via Mavern
+
** Add a non blocking API making it simpler to create applications for mobile platforms such as Android
+
** Rework logging trace to use best practise tools (like java.util.logging)
+
** Support for Java Micro Edition
+
* MQTT JavaScript client
+
** Add a MQTT JavaScript client to Paho
+
** Use WebSockets to enable 1st class MQTT support from web applications running in web browsers
+
*Lua client line items
+
** Implement QoS, clean session bit, username/password, make sure message header fully implemented (send and receive), support message identifier, SUBACK messages should check QoS level, deal with outstanding SUBACK messages, review "last activity in / out" timers, check for PINGRESP, better "wait for CONACK" handling, handle failed subscriptions, better error / retry handling, review Lua best practices for socket I/O and error handling
+
*MQTT Protocol conformance tests
+
**Reference implementation test bed (wire capture?)
+
**Tracing tools/integration
+
*Mobile platform support
+
*Sample and Example Code (integrated in IDE where possible)
+
**MqGnatt
+
**REST APIs with end to end examples
+
**Basic MQTT exerciser (Eurotech)
+
**Wizards?
+
**New examples tbs
+
**websockets
+
  
== 0.9 Release (2Q13)==
+
* I think the MQTT embedded security story could be greatly improved (Julien Vermillard) I think today using MQTT or any M2M protocol with security on any embedded platform is difficult and cumbersome. I use wakaama with tinydtls a DTLS implementation MIT licensed and at some point I would like to provide ready to install client on some platform but with security (with a business friendly license) as a mandatory feature. Maybe it worth looking at http://axtls.sourceforge.net/ (BSD licensed) or extending tinydtls for providing good old TLS which is in fact simpler than DTLS.
*M2M Package
+
**align with Koneki and Mihini
+
**[http://wiki.eclipse.org/Machine-to-Machine/M2MIWG/M2M_EPP_Package more information on the M2M EPP wiki]
+

Revision as of 08:51, 26 September 2014

Current Plan

The release plans are in the project documentation - see "releases" at https://projects.eclipse.org/projects/iot.paho/documentation.

Current and Near Future Major Items

  • .Net client currently being contributed
  • MQTT Test Suite under development
  • Embedded client libraries for MQTT
  • MQTT SN embedded clients and tools
  • Android service design
  • "offline buffering" and automatic reconnect for mainstream clients

Actively Soliciting Contributions for

Directions

  • I am assuming the MQTT specification will evolve over the next couple of years. Would it make sense to start an incubator to try out some new ideas for the spec? Developers could contribute code that implements these ideas and this would help the MQTT TC in the evolution of the spec. (Ian Skerrett)
  • I'd like to see a focus on creating tools to test/debug/deploy MQTT apps. Tools like MQTTLens I think will be critical to the adoption of MQTT. Could Paho be the home to these types of tools? (Ian Skerrett)

Add suggestions here Ideas for tools that could be created or adopted to test/debug/deploy MQTT

  • I think the MQTT embedded security story could be greatly improved (Julien Vermillard) I think today using MQTT or any M2M protocol with security on any embedded platform is difficult and cumbersome. I use wakaama with tinydtls a DTLS implementation MIT licensed and at some point I would like to provide ready to install client on some platform but with security (with a business friendly license) as a mandatory feature. Maybe it worth looking at http://axtls.sourceforge.net/ (BSD licensed) or extending tinydtls for providing good old TLS which is in fact simpler than DTLS.

Back to the top