Hi Khaled, et-all,

I think last year we came already a long way in supporting development of 
devices by having “getting started” via:
https://github.com/openconnectivity/IOTivity-setup
and also:
https://github.com/openconnectivity/IOTivity-Lite-setup
I think this is solving quite a bit of the issues that are mentioned below in 
how to use IOTivity or IOTivity-Lite.

About the top 3 issues:

  *   Security/setting up acls: work is being carried out in OCF to resolve 
this issue
  *   Presence: just do an observe on oic/res…. That should give most of the 
things one wants.
     *   We should document this though
  *   Scenes: rework is going on the OCF side.
If you want to have the details, please become an OCF member (it is free)..

However this is NOT addressing the need of all the developers working on 
IOTivity stack itself.
Hence filing tickets is THE thing to make the deficiencies known.
In general, there is quite a bit of work to do on all levels on the 
documentation: api, architecture, etc.
Saying this, we do not need a ticket saying “improve documentation”, this is 
already known.
It would be good to have ticket each time someone encounter something that is:

  *   Not clear
  *   Clearly wrong
  *   outdated
so that we (that includes everyone on this email thread) can do something about 
it.

Kind Regards,
Wouter


From: iotivity-dev@lists.iotivity.org <iotivity-dev@lists.iotivity.org> On 
Behalf Of Khaled Elsayed
Sent: Monday, December 10, 2018 7:24 AM
To: Gregg Reynolds <d...@mobileink.com>
Cc: csteven...@gmail.com; iotivity-dev <iotivity-dev@lists.iotivity.org>
Subject: Re: [dev] Bad press

Thanks Gregg for your thoughtful replies. Some replies inline.


On Sun, Dec 9, 2018 at 10:14 PM Gregg Reynolds 
<d...@mobileink.com<mailto:d...@mobileink.com>> wrote:
Hi Khaled,

Nice note, thanks. Not to start an endless discussion, but:

On Sun, Dec 9, 2018, 5:43 AM Khaled Elsayed 
<khaledi...@gmail.com<mailto:khaledi...@gmail.com> wrote:
...
1) The specs are complex. Does a simple IoT device need to support all of this?

Good question, one I think many device devs will ask. I'll take a stab: it 
depends. :) Do you want the benefits of OCF? Then the complexity is 
unavoidable. Imho OCF has done an excellent job of modeling this very complex 
problem space. It's as complex as it needs to be, but my take on it is that OCF 
is not adding a lot of incidental complexity. It's the problem that is complex.

Otoh, I'd suggest a slightly different question: if I want my device to play 
nice in an OCF environment, does it have to include all this complex stuff? I 
think the answer is no. My impression is that the OCF folks have given this a 
lot of thought. E.g. the bridging specs.

KE>> I agree the problem is complex. But sometimes it is better to start small 
and grow the system/specs after the adoption is there.
I also agree that bridging can help but it is not very well presented within 
IoTivity code.


2) Documentation is lacking. Sometimes (actually often) code is not in synch 
with web documentation. Only very simple issues/examples are well documented. 
No complete developers guide available.  API's are documented yes, but this is 
not enough.

What are the three most important doc issues for you? Me, I think I'd go with 
1) security stuff - creds, acls, provisioning how to use certificates, roles, 
etc. 2) presence (advertisement discovery?) 3) Scenes.

KE>> I will add the details about all these (endless) default resources created 
within a device and what they serve to do and the related introspection (which 
sounds like a scary term :)) and then some simple examples with good 
documentation on support of legacy or non-OCF devices.

3) Complex source code tree and strong but not very familiar build tool 
(scons). Then code reviews on gerrit then another (JIRA) for tickets. Then you 
find source code on github but pull requests are not used there. Go to gerrit 
or JIRA to merge code or raise issues.

I'm guessing that's just a fact of life for Iotivity. Fwiw I'm addressing this 
in openocf by reorganizing the code and eliminating the quasi-OO code in csdk. 
But I don't see any of that moving into Iotivity, too much work. Maybe some 
bits.  Otoh the notes I keep may be helpful for devs digging into the source.

KE>> It is a fact of life but it is a problem that needs to be fixed.

4) Logs are long and not-very-configurable what to log and what not to log 
(difficult to debug). Not to mention that the output to debug is nested in a 
very long path due to all the supported platforms.

I think this is very addressable. It's quite easy to conditionalize logging 
with a few macros. E.g. #ifdef DBG_MSGS in camessagehandler.c - I don't always 
need to see pdu dumps.

KE>> Exactly, I remember to have done something to fix this in one of the 
releases maybe in 2016 but lost as I upgraded to following releases without 
migrating the code. I should have contributed it back to the project then. It 
was very primitive so that's why maybe I was reluctant to share.


Another thing that isn't terribly hard but very useful is providing an option 
to log to a file. You need that if you want to e.g. implement an ncurses 
interface.

HTH,

It did.

Best regards,

Khaled

Gregg


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#10065): 
https://lists.iotivity.org/g/iotivity-dev/message/10065
Mute This Topic: https://lists.iotivity.org/mt/28653513/21656
Group Owner: iotivity-dev+ow...@lists.iotivity.org
Unsubscribe: https://lists.iotivity.org/g/iotivity-dev/unsub  
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to