(Updated 5/31/2011)

New new direction

I'll be honest like I said in the last update (look in the update log link below). This project broke me, bad, and I can trace it all back to the core IRC code which doesn't support DCC, actions, bold, color codes, and a whole slew of pretty much uselessness. I thought about scrapping the project, focusing on Mango only and hoping that perhaps an ad version might help me recoup some time and mental anguish. I say most of that jokingly of course but I poured way longer than I realized into this with some of the checkins taking days of patch queue time. This wouldn't have been a "but I made it in 4 days!" success story by any means.

Here is where things will go instead:
  1. I'll focus primarily on Mango, ditch the core .NET code and make a Silverlight client inspired by http://clindhartsen.deviantart.com/art/MetroIRC-UI-Elements-175875453.
  2. I'll be using IrcDotNet for the core library in all code bases. It feels more current than smartirc4net, but depending on 0.4.x of anything is a crap-shoot.
  3. v.Current will try to have 1:1 UI and behavior and I'll give IrcDotNet a week to see if I can shoehorn the Homebrew sockets implementation into it. I've done the easy parts so I don't want to give up just yet but the async operations are the hardest part.
  4. If there are any objections, speak up now.

(Updated 5/22/2011):

New direction:

I've committed a SketchFlow prototype to showcase where I plan on taking the client after watching the MIX'11 wpIRC demo. It'll be a hybrid of a Twitter client with a stripped down feature set of IRC.

I haven't abandoned the project but a lot of stagnation comes from not only implementing the UI but also the IRC library backend, the worst part about that is it isn't using Silverlight sockets but something that behaves more like .NET core: TcpClient. I've tried porting the ircdotnet library they used in the demo and I've come 95% there but even the core framework hasn't implemented the Async parts of Silverlight sockets, futher proof they had no intention of us using it initially. Knowing this I may see how the smartirc4net library fairs considering I've stolen more code from that.

I'll almost completely focus on the Mango version when the tools hit sometime soon because I'll have to do only a fraction of what is already becoming grueling work. I'm committed to keeping the current version functional and introduce tombstoning ASAP because that's necessary for the experience they demonstrated. This isn't going away any time soon but I use it so infrequently that personally I don't need to touch this project until it gets fun for me again. Strangely enough having a person I know on IRC come on, point out problems I already know about, and tell me it "needs a lot of work" was entirely encouraging. I can't stress enough how I need feedback when a project gets this way, even telling me it sucks motivates me to change it.

A very big thank you to everyone that has downloaded this so far. This is my very first OSS project started entirely by myself and I'm glad that even 1 other person uses it. If you're a programmer, I can't stress how important having OSS work is.

(Updated 3/24/2011):

My own complaints:

  1. This is so basic the only real things you can do is perform raw commands on the Status pivot (join, part, quit, no /) and any talk in your channel pivots will just be sent as a normal message.
  2. I've not tested all IRC daemons, i.e. the code that powers the whole deal. Not all of them are equal and certain tricks they implore can be problematic

Features

  1. It works on my machine(tm)
  2. Definitely works on whichever networks use UnrealIRCD, Freenode, and EFNet networks
  3. A single server connection with multiple channels. Multiple servers? ITS COMMING!
  4. A list of recent server connections
  5. Supports basic old school IRC, i.e. no DCC/CTCP or SSL connections. These are a very low priority, sorry.

Known Issues

  1. There's almost no error handling so nick collisions could happen on login for instance or other contingencies
  2. You'll likely need to restart the app for everything to work properly again if you use the back button to re-launch it. It generally 'starts over' for you but it may not.
  3. Too many more to list and either way it makes me look more incompetent than I feel

Last edited Oct 25, 2013 at 5:25 AM by w0rddriven, version 2

Comments

No comments yet.