26 – Dwitterphi

The TMS AdvSmoothListBox - Nice twitter UI don't you think?Introducing Dwitterphi – the Delphi native Twitter client

The idea is to build a great light weight (lighter than Air) native Twitter client with Delphi 2009.  It will show off some of the cool Delphi 2009 features and will be available as open source via the MPL 1.1 or New BSD licenses.  While it uses some amazing 3rd party licenses, the goal is to make it buildable by everyone with Delphi 2009.

Recent contributions (Thanks guys!)

Other libraries

  • DISQLite3 DISQLite3 – A high performance, multi-user, fail-safeSQL-92 database engine with ACID transaction. Using the free version.
  • Ararat Synapse – Blocking (synchronous) sockets or with limited non-blocking mode. Open source – BSD License.
  • TMS Smooth Controls Pack – Feature-rich sophisticated looking & smoothly animated controls. Free with Delphi 2009.  Full version with source donated to the project by TMS – Thanks!
  • Addict Spell Checker – Native Delphi spell checking component suite of controls. Premium commercial components – able to exclude via compiler directives.
  • Delphi restLib – REST Library for Delphi derived from lingr-delphi. Worked with D2009, but uses WideString.

The project is hosted at Assembla in an SVN repository.  All 3rd party dependencies will be included when possible.

A few of the features we have in mind:

  • Lightweight
  • Groups of friends
    • Filter by Groups
    • Highlight by Groups
    • Autogrouping by keyword / hash tag usage
  • Filter / Highlight by keywords
  • Threading in the stream
    • Expand the thread to see what the tweet is in reply too
  • Database that stores all your Tweets to allow easy searching
  • Use the latest OAuth authentication (thanks to Chuck!)

The core Twitter API wrapper, and other parts as it makes sense, will target earlier versions of Delphi and FreePascal.  Additionally the project will be loosely coupled and fairly modular to allow peices to be removed or swapped out with minimum effort.

[Music Code Monkey by Jonathan Coulton]

This entry was posted in Audio podCast and tagged , . Bookmark the permalink.

14 Responses to 26 – Dwitterphi

  1. Ken says:

    Dwitterphi sounds like it not going to be a very “open friendly app” being based off so much 3rd Party stuff.
    Look at portable apps source, they were able to create a awesome application just with basics, and did some cool tricks to pull it off.
    I think your are losing your openness using the 3rd tools. Just stick with Delphi2009 gave you.

  2. Jim McKeeth says:

    Thanks for the feedback Ken. Openness is certainly a primary objective, which is why we are sticking to Free/Open source code or stuff that comes with Delphi 2009, which includes the TMS Smooth controls. I figured someone has to have Delphi 2009 to build it anyway, and since they automatically get TMS Smooth Controls when they get Delphi 2009 then it really isn’t a 3rd party dependency.

    Creating Synapse and DiSQLite’s functionality from scratch would be pretty involved. Since we can include them in the source repository for one download it isn’t that bad.

    The only complicated one is Addict Spell Checker, but as far as we can tell so far it is the best spell checker around. But Steven is still researching it.

    How specifically would suggest cutting back?

  3. Ken says:

    May I suggest LS Speller> http://www.luziusschneider.com/SpellerHome.htm
    Now I think is source may need a little bit “PAnsiChar” converting to run under delphi2009, but the license on it much cleaner and more open for your needs.

  4. Jim McKeeth says:

    @Ken – Excellent, thanks for the suggestion. I was wondering if there was something out there based on ISpell or one of the other open source spell checking systems. We will take a look at it.

  5. Ken says:

    I guess my feeling about 3rd party also falls on the TMS pack. While it’s cool, and has nice features, It’s source does not work with Lazarus project which is key if you want to support the application to run on linux/mac. Maybe TMS could make a build for Lazarus down the road I don’t know.

  6. Francois says:

    If I’m not mistaken, the TMS controls for D2009 users do not come with the source.
    This in itself would be a major reason for not using them however free, cool and good looking them might be.
    You won’t be able to fix a bug by yourself or upgrade them for the next Delphi if they are not maintained anymore. Even if they are source compatible, just a change in the dcu format and you’re stuck.
    Been there done that…
    just my $0.02 😉

  7. Jim McKeeth says:

    Good point Francois. I contacted TMS and they donated free licenses with source of the smooth controls. That way we can support future versions of Delphi too!

  8. I’ve finally released a VERY EARLY version of the Dweetta Lib, my own version of a Twitter lib and simple client for Delphi/FreePascal.

    You can find the Assembla page here: http://www.assembla.com/spaces/Dweetta

    I hope the community gives a hand.

  9. Ron Ronzetti says:

    Hello,
    I hope someone can offer assistance here.
    I need a little help and guidance form some experts. I used to work with mainframes decades ago. I would like to write a pgm again. I haven’t written a pgm since cobol, rpg and a little os360/370 assembler in early 80’s. I’d like to learn a more current language. Preferably in windows environment, just standalone local execution, able to manipulate table records (excel spreadsheet or sequential file), cool to be able to create windows gui for data input to maintain file currency and reports, mathmatical computations against record fields and read records and add or modify data. Basically ability to add records to table (only 1000 or so records large and possibly more than one table) select and perform computations (pretty good table manipulation abilities helpful) and print reports.

    I have explored the web and found unbelievable number (alphabet soup of names) of free shareware languages and expensive languages available. I don’t know the differences, ease of learning, and strengths/weaknesses. Way too many choices and I have no idea where to start. If I can be so bold to ask, one public free and one reasonably priced recommendation would be greatly appreciated.

    Thank you,
    Ron

  10. Kerk says:

    Given Assembla SVN is empty

  11. It would seem, from your conversation, that you’re not aware of SVN’s Externals feature. That would help you out with your external dependencies quite a bit…

  12. Where can I download something about Dwitterphi?

    How can I contribute?

  13. Dan Shelton says:

    Hi, this looks very interesting. I started working on a twitter client in Delphi also. I wanted to build a very simple, small program but with some special features to distinguish it from all the others. I have a working prototype but it still needs a lot of work. I aim to get it posted to sourceforge sometime soon, time allowing.

  14. Alex says:

    I’m lazy to write at this point but I can use some good source code
    make it compatible with D7 at least

    I have a bunch of features requests though
    1. Steal someone else’s followers – function will grab followers list and autofollow them
    2. Check for people who I follow but who does not follow me and dump them
    3. Check for people who follows me but I don’t and follow them
    4. Send auto message everytime someone follows u and auto follow them too
    5. Search Bio data and make i click Follow all search results
    6. Send a DM to all your followers with 1 click
    7. Fild people based on number of followers – say 0 followers people
    ……
    @Forkoholic

Leave a Reply