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 Plan)
Line 1: Line 1:
 
= [https://projects.eclipse.org/projects/iot.paho/documentation Current Plan] =
 
= [https://projects.eclipse.org/projects/iot.paho/documentation Current Plan] =
  
The plans are now being held in the project metadata - see "releases" at https://projects.eclipse.org/projects/iot.paho/documentation. I'm leaving this page for reference, for the time being (Ian Craggs).
+
The release plans are in the project documentation - see "releases" at https://projects.eclipse.org/projects/iot.paho/documentation.  
 
+
= Old Open Task list =
+
  
 
* [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.
 
* Sample/examples in the Eclipse M2M Sandbox for the JavaScript and Web Sockets support (when delivered).
 
  
= Old Milestones =
+
== Current and 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
 +
* "offline buffering" and automatic reconnect for mainstream clients
 +
 
 +
== Directions ==
  
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.
+
* Expand client library coverage to all major programming languages (http://spectrum.ieee.org/computing/software/top-10-programming-languages)
  
== 0.1 Build (4Q12) "M0" ==
+
* 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
This will be a “snapshot” build of the  
+
for the spec? Developers could contribute code that implements these ideas and this would help the MQTT TC in the evolution of the spec.
*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'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.
  
== 0.x Release (1Q13) "M1" ==
 
*Release Theme
 
** Provide implementations of ubiquitous, platform-independent API "nuggets", with basic connect, publish, subscribe, disconnect capability to allow a device or gateway to wake or boot up and connect to an M2M, IoT or industry server, establishing a long, short or other connection as needed.
 
** REST APIs and implementations that support core publish-subscribe functions that applications will need once connection is established.
 
** APIs will clear differentiate configuring the implementations for both MQTT "device clients", and MQTT "application clients".
 
** Extending support for mobile platforms and web-based interfaces.
 
** .......
 
  
*Line items (common to all clients)
+
== Actively Soliciting Contributions for ==
**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)==
+
* PHP client
*M2M Package
+
* Ruby client
**align with Koneki and Mihini
+
* Node.js client
**[http://wiki.eclipse.org/Machine-to-Machine/M2MIWG/M2M_EPP_Package more information on the M2M EPP wiki]
+

Revision as of 08:23, 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 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
  • "offline buffering" and automatic reconnect for mainstream clients

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.

  • 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.


Actively Soliciting Contributions for

  • PHP client
  • Ruby client
  • Node.js client

Back to the top