TwitterFX – What next?
Work begain on TwitterFX the weekend after the public release of JavaFX 1.0 and has continued, through fits and starts up until today.
Currently, it is a reasonably feature complete Twitter client based on JavaFX 1.1 and the question I have been asking myself is, where to from here?
As it stands today, the major outstanding activity is to port the application to JavaFX 1.2 and to use the native controls and new features released in the latest version.
Basic work has been undertaken to accomplish this work, there is a moderate amount of effort to get the application back to the point of running again, but further work is required to refactor code which relies on Java 1.1 features which have had their underlying API’s modified.
This is not terribly complicated, but I’m reluctant to do a straight port of the application and instead want to invest my time and effort in reassessing the goals of TwitterFX.
As it stands today there are a couple of possible thoughts which are not at all mutually exclusive. What I’d like to do is throw it open to the user base for comment and feedback.
Thought One – Split out the Twitter API code into a separate project.
I think its of value to have a separately evolving project which offers a JavaFX interface to the Twitter API, and that this library be able to be freely included in other projects which may need to communicate to Twitter.
Thought Two – Use TwitterFX as a reference JavaFX application
Consider if TwitterFX is stripped back to the functionality only available in the JavaFX Common/Desktop/Mobile profiles. Work can then be mainly on the internals and use the application as a ‘reference’ for building a medium sized app in JavaFX that targets mobile and desktop (and potentially TV).
Thought Three – Rework the internals for clarity and performance
Currently the under the covers impl of TwitterFX is in my opinion, somewhat haphazard which is making maintenance harder than it should be. There is also a significant amount of static initialization, which is why start up is relatively slow and why its initial memory footprint is higher than it could be.
Thought Four – Simple vs Complex
Much of the progression of TwitterFX was driven by attempts to become feature comparable with TweetDeck on the basis of it being the most popular and feature rich Twitter client. However, Desktop Tweetie (Mac only) was released during the development of TwitterFX and it became apparent to me that there is another, just as significant group of users – those who like something which is functionally limited, but is elegantly implemented.
To a certain extent the advanced mode/simple mode toggle did for a while cater for this, but I remain convinced as to if I am fully satisfying either audience.
For instance, Thought Two (A reference JavaFX application) would by definition result in a much simpler application, however other people have suggested it could also become a full social networking client, like a Seismic Desktop or Digsby.
Thought Five – Show me the money
Would you pay for this thing? Discuss.
(I have a Wife and Child who would quite like Daddy to have something show for all the nights and weekends he works on this thing).
Conclusion
Anyway, I wanted to throw this out there to let people know where my mind is at and have them opt in.
PS TwitterFX is now licensed under BSD (It’s no longer GPL 2)
Hi!
Thought one can’t be wrong from any standpoint. It would also make the application easier to support.
Thought two, I can’t see the value of that. Either TwitterFx is good and is used or else it isn’t good and isn’t used. If it’s going to be reference it is by example, not by being written to be reference.
Thought three can’t be wrong either. Twitterfx is hopefully going to live for a long time so maintainablity is important. It is also a factory for thought two.
Thought four should be handled through thought one and three. Separation of well written code into libraries should make different versions of twitterfx a breeze. Just use the functions and the gui you need right now.
Thought five is hard. Ofcourse you should have money and spare time with your family. But until TwitterFx is one of the top 2 twitterapps I think it’s hard to get paid. Try the market, current version for a couple of $ and previous version for free. But be carefull. TwitterFx lead developer might be more valuble for you in your resume than in cash.
Hi,
I have an eye on your project and I hope that the port to JavaFX 1.2 brings some synergy effect to the project. At the moment I’m not familiar with JavaFX, but when TwitterFX is ported I what to train myself with yout project.
Maybe in the future I can support you with some patches. Because there are a lot of features which aren’t implemented by any client but which I’d like to have.
About the payment… I think you can try to implement a donate function on your twitterfxsite, but this would be only a drop in a bucket.
I belive like Roland above me, that the value of reputation of this project is a good investment in the future.