WP7 and possibly WPF/SL IRC Client
C#
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
documentation
library
resources
source
.gitignore
Build.cmd
LICENSE
README.md
derpirc-WP7.build

README.md

derpirc

Windows Phone (7) IRC Client

10/15/2013:
The purpose of this application is to create a IRC client that operated like the messaging hub.

Curent state:

Abandoned as a WP7.x application.

Reasons:

  • Sockets on Windows Phone are severely neutered
    • If your phone goes to sleep, connections are dropped. Hard.
    • The IRC protocol requires a complete reconnect and rejoin of all channels. You have to complete full client registration and all channel rejoin each connect. If you reconnect often, you absolutely will be banned either by ops that are tired of seeing a flurry of join/parts or servers that k-line what appears to be a crappy connection.
    • A BNC or web service like irccloud.com or mibbit.com get around this by keeping their connection open externally. Most networks ban a lot of clients from specific IP ranges and even mibbit fights an uphill battle of being accepted. My service would have to be wildly popular to follow suit.
  • SQLCE, not SQLite
    • Had I known at the time MS would abandon the Linq-to-SQL hell that was SQLCE, I would've jumped to SQLite sooner
    • SQLCE isn't thread safe. Native bugs occurred and when CE crashes, the app goes with it. Non-managed crashes are terrible and this terrible implementation exposed them.
  • IRC is quite honestly an ancient protocol and completely unforgiving. There are some great communities if you can find them but there's a reason no one really pays for these apps.

Future:

  • Push to WP8.x only
  • Port IrcDotNet to WinRT (eventually, see below)
    • You can't take advantage of ControlChannelTrigger.
    • The bullshit posted here.
    • SSL connections are supported in the library but as far as I know Windows Phone requires something like this over the WinRT 8.x equivalent (are you noticing the pattern yet?)
  • Port SQLCE to SQLite.
  • Remove the not-so-clever hacks out of SettingsSupervisor. Synchronizing between the settings and message store is too much work and could be done better.

Where you come in:

  • I would love to collaborate with anyone to finish this up as a viable application. BNC support would make it usable but very few people on IRC have the ability to use a BNC.
  • If you wish to take this, make it your own, and give no attribution to myself you're more than welcome. I've seen evidence of dIRCa in other applications and its flattering.
  • You will be fighting an uphill battle if you choose to use this or contribute. This is a war Microsoft is winning. I have to assume there are huge technical challenges to why the Phone WinRT that uses a similar (if not identical) ARM architecture can't handle ControlChannelTrigger while WinRT proper can.