Windows Phone (7) IRC Client
The purpose of this application is to create a IRC client that operated like the messaging hub.
Abandoned as a WP7.x application.
- 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.
- Push to WP8.x only
- Port IrcDotNet to WinRT (eventually, see below)
- 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.