Withdrawn Proposal [Kompendium-1] Kotlin Client Library for the Factom Protocol

Final results

Standing Parties are currently voting on the grant proposals. The vote will close on Aug 16, 2019 at 23:59 UTC and results will immediately become available.
Total Grant Pool: 121,449.00 FCT
Grant FCT Requested Cumulative FCT Score Funded
900.00 900.00 1.00 Yes
660.00 1,560.00 2.00 Yes
9,000.00 10,560.00 3.00 Yes
8,747.00 19,307.00 6.00 Yes
8,093.00 27,400.00 7.06 Yes
1,126.00 28,526.00 8.44 Yes
38,940.00 67,466.00 8.83 Yes
13,750.00 81,216.00 9.10 Yes
22,500.00 103,716.00 9.22 Yes
2,950.00 106,666.00 10.09 Yes
10,000.00 116,666.00 10.15 Yes
680.00 117,346.00 11.12 Yes
2,400.00 119,746.00 14.73 Yes
9,000.00 128,746.00 14.75 No
33,333.00 162,079.00 15.37 No
1,939.00 164,018.00 15.45 No
800.00 164,818.00 15.59 No
Not approved
Not approved
Not approved
Not approved
Status
Not open for further replies.
Secured
#1
Executive Summary
This is a grant proposal to develop a new Kotlin client library for the Factom Protocol. This grant is in line with Kompendium’s pledge to expand the Protocol’s access to a larger community of developers and grow the number of available developer tools. This is one of the five client development grant proposals submitted by Kompendium for the 3rd quarter grant round of 2019. We feel the utility and number of applications built on or levering the Protocol will determine the long-term success of the Protocol. Creating additional clients and easy to use tools for developers will maximize the size of the developer community who will apply the power of the Factom protocol to tomorrow’s value-producing applications.

ANO / Committee
Group: Kompendium
FCT address: FA3KMPNX8AKdY3tjyKMzZ5cAkqUv97d3QqkJeQnVXk6PXSVgArnr
FCT: 2600

Total FCT Requested
2600

Start Date
2019-09-03

Completion Date
2019-11-30

Project Description
As part of Kompendium’s effort to expand the Protocol’s access to developers and grow the number of available developer tools, we submit this grant proposal to develop a client in the Kotlin programming language. Kotlin is an increasingly popular development language (Kotlin's growth doubled each year from 2011 to 2015) is often cited as the second most loved programming language by developers. Google named Kotlin an official language of Android with full support, and a large number of Android users began adopting it. Android apps built with Kotlin include Slack and Netflix. The addition of a Kotlin client strengthens the Protocol’s appeal and offers means to build new, simple, and exciting applications and integrate their mobile projects. We feel the long-term success of the Protocol will be in its applications, allowing developer communities to easily create fun tools and apply the power of the Factom Protocol to tomorrow’s value-producing applications.

Problem Statement
While existing C#, Java, JS, and Python clients have expanded the accessibility of the protocol, there are hundreds of communities of developers that, despite using several popular and growing programming languages, are unable to easily leverage the power of the Factom Protocol with their preferred programming language. This grant, in addition to out four other client proposals, takes a significant step forward in addressing this challenge by growing our potential developer community base.

Goals and Objectives
Our goal is to produce and deliver a well-developed, well documented, and heavily tested Kotlin client library that can be added to https://docs.factomprotocol.org/ , expanding the number of developers who can use and integrate the Protocol into their projects and applications. Again, this is not a project that will be finished at some undetermined future date. We want to develop and deliver in 3 months a tool to immediately expand the pool of capable developers who will build applications to bring value to businesses and people’s lives.

Success Criteria
Delivery of a Kotlin client library for the Factom Protocol, delivered on time, and the client is added to the https://docs.factomprotocol.org/ for ease of access and to showcase the Factom Protocol’s priority of expanding its developer community and its portfolio of developer tools.

Timelines and Milestones
03 SEP 2019 Start Project
30 SEP 2019 First Review – Documentation, Completeness, Functionality
15 OCT 2019 Second Review – Documentation, Completeness, Functionality
Status Update to Community on Grant
02 NOV 2019 Testing, Evaluation, and Client Refinement
30 NOV 2019 Deliver Client to Community

Budget
2300fct Development
200fct Testing
70fct Program management / updates / upkeep
30fct Marketing the creation of the Kotlin client for the Factom Protocol to Kotlin developer media channels/communities

Assumed Price Per FCT
$0

Competition
None known. Github and Google searches could find nothing similar or competitive.

Additional Information
In addition to Kompendium’s five Factom Protocol clients, we seek to develop additional clients in popular programming languages in the future. Our longer-term aim is to integrate the majority of developer tools, including clients, into a Factom Protocol developer suite to provide end-to-end application development tools.

Indemnification and Waiver
By submitting a grant proposal or participating in the grant proposal process, the submitter hereby agrees to release, waive, discharge the Guides, Authority Set Members, Standing Parties, and their respective employees, contractors, agents, representatives, successors, and assigns (collectively, the “Releasees”) from any and all liabilities, claims, and demands of whatever kind of nature, either in law or in equity, which arise or may hereafter arise from participating in the grant proposal process, except for those caused by the willful misconduct or intentional torts of the Releasees. The submitter further agrees to indemnify and hold harmless the Releasees against all liabilities, obligations, losses, damages, penalties, claims, actions, judgments, costs, or expenses which may be imposed on, asserted against or incurred by any Releasee as a result of, or arising out of, or relating to this grant process contemplated by this document, including without limitation, any judgment, settlement, attorneys’ fees and other costs or expenses incurred in connection with the defense of any actual or threatened action or proceeding, except for the liabilities caused by the willful misconduct or intentional torts of the Releasees.
The submitter warrants and represents that he or she has all necessary power and authority to represent all applicants contained in the grant proposal: (i) to submit the proposal and (ii) to agree to this Indemnification and Waiver.
Note: Please see the Factom governance document (Doc 001) for definitions of Guides, Authority Set Members, and Standing Parties. Grant proposals submitted in another format shall include this indemnification and waiver in its entirety.
 
Last edited:

Chappie

Factomize Bot
Pending
#3
The Forum Q/A process has now started. The community may ask questions until Aug 12, 2019 at 23:59 UTC.

Other important dates:
  • After the question period ends on Aug 12, 2019 at 23:59 UTC, you may continue to answer last minute questions until Aug 13, 2019 at 23:59 UTC
  • Once the answer period ends, voting will start one minute later on Aug 14, 2019 at 00:00 UTC
  • Voting will be closed on Aug 16, 2019 at 23:59 UTC and the final results will immediately become available.
 
Secured
#6
It is my understanding that Java libraries can be called directly from a Kotlin codebase. This is supported by the Kotlin website, which states "Pretty much all Java code can be used without any issues". In fact, it is a key selling point for the language.

Why bother writing a Kotlin library when we already have a robust Java library? It doesn't make any sense to me. Am i missing something?
 
Last edited:
Secured
#7
Yupz. We have a java lib that already runs fine on android, JSE, JEE and Spring. It has only one external dependency and that one is even pluggable (json). Kotlin and Java can easily work together and the target audience for Kotlin is pretty small.

Every client needs to be maintained and as such I see no benefit of funding a Kotlin client with constrained resources
 
Secured
#9
It is my understanding that Java libraries can be called directly from a Kotlin codebase. This is supported by the Kotlin website, which states "Pretty much all Java code can be used without any issues". In fact, it is a key selling point for the language.

Why bother writing a Kotlin library when we already have a robust Java library? It doesn't make any sense to me. Am i missing something?
Alex, our thought was with more and more mobile (Android) apparition developers moving to Kotlin, and as Kotlin is a google preferred alternative to java, we nominated Kotlin for client development.
 
Secured
#10
Yupz. We have a java lib that already runs fine on android, JSE, JEE and Spring. It has only one external dependency and that one is even pluggable (json). Kotlin and Java can easily work together and the target audience for Kotlin is pretty small.

Every client needs to be maintained and as such I see no benefit of funding a Kotlin client with constrained resources
Thank you for your comments Niels. If the community chooses not to fund this proposal at this time of constrained resources, we will retain the capacity to develop such a client into the future. Thank you
 
Secured
#12
This is a final warning that the community has just 24 hours from now to ask any last minute questions.

Other important dates:
  • After the question period ends on Aug 12, 2019 at 23:59 UTC, you may continue to answer last minute questions until Aug 13, 2019 at 23:59 UTC
  • Once the answer period ends, voting will start one minute later on Aug 14, 2019 at 00:00 UTC
  • Voting will be closed on Aug 16, 2019 at 23:59 UTC and the results will immediately become available.
 
Secured
#13
As of this writing, FCT is at $3.26 and here is the one day chart for the last 6 months

Screenshot 2019-08-12 at 2.59.28 PM.png


It is time to make difficult decisions. As such, Factomize will be unchecking the "approve" button on this grant. It has absolutely nothing to do with the merits of this grant, we are simply doing what we feel is a critical step necessary to turn this protocol around. We sincerely apologize for any negative emotions or financial issues this decision may evoke.
 
Secured
#14
The Forum Question Period has now ended. Teams will have until Aug 13, 2019 at 23:59 UTC to answer any last-minute questions.

Other important dates:
  • Once the answer period ends, voting will start one minute later on Aug 14, 2019 at 00:00 UTC
  • Voting will be closed on Aug 16, 2019 at 23:59 UTC and the results will immediately become available.
 
Secured
#15
The Answer Period has now ended and Standing Parties may now vote.

Voting will be closed on Aug 16, 2019 at 23:59 UTC and the final results will immediately become available.

Instructions for Standing Parties:
  • You may vote in any thread or on this page. The ranks are mirrored once you save.
  • Drag and drop using the three-lined icon at the left of the grant proposal and hit "Save" when done.
  • If you change rankings and leave the page without saving, those changes will be reversed and not count.
  • You may change your vote as many times as you like prior to the vote being closed.
  • If you "Abstain" that means your vote won't be counted no matter what you ranked that proposal.
  • If you deselect "Approve" how you rank the grant matters, but 60% of voters must approve the grant for it to be funded.
 
Status
Not open for further replies.