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!)
- Chuck Beasley donated his OAuth library – relicensed from GPL to MPL so it would be compatible.
- Gustavo Carreno donated some code to the Twitter lib too.
- 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:
- 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]