I just put up the development version of SharpWired as is today. Download and give it a go! It’s available on our Google Code page. You can report issues to our issue tracker.
Posted in Uncategorized | Tagged pre1.0, release, testing | Leave a Comment »
Just found out about Qwired. Another multi platform Wired Client. I couldn’t find any downloads but I’ll sure try to run it as quick as possible!
See the Qwired web site for more information!
Posted in Uncategorized | Tagged client, multiplatform, pre1.0, qwired | 4 Comments »
We have added a feature to give every user a unique color in the chat and news windows. We used the Tango color palette. Enjoy!

Unique colors for nick names
We’ll probably add the colors to the user list when we do cosmetic updates there next time.
Posted in Uncategorized | Tagged chat, gui, hackaton, pre1.0, screenshots, style, usability | Leave a Comment »
Today me and Ola updated the chat and news style. The old one looks like this:
We made the new one a bit more airy and a bit lighter. We also chose to use the Tango color scheme to make things easier on the eyes. The message highlighting is now on your own messages, and not on every odd message as before. This makes it a little bit easier to follow a conversation.
Here’s how it looks:
That’s it for today!
Posted in Uncategorized | Tagged chat, gui, news, screenshots, skin, style | Leave a Comment »
I have just committed the first 11 SharpWired unit tests. To get it up and running just download and install NUnit (2.4.8) and open the solution file, compile as usual and load the SharpWiredTests.dll file in NUnit.
When running the tests it should look something like this.
(Todays tests should probably be seen more as examples than high quality tests.)
Posted in Uncategorized | Tagged nunit, pre1.0, test | Leave a Comment »
The initialization of the different components in SharpWired has, uptil now, been quite a mess. Different parts has been initialized in different ways. E.g. some manager classes for the GUI has been initialized after the GUI class it managed.
When we started to work on fixing issues that occured when disconnecting and re-connecting we found out that the current solution was a bit inconsistent. Over the last months we have done quite a lot of refactoring work and even though we aren’t finished we’re seeing the light in the tunnel. Today I started to work on the initialization of the chat tab.
I introduced a simple base class (SharpWiredGuiBase) that all GUI component that needs to have any knowledge of when the connection state to the server changes. It extends the Windows.Form.UserControl class and provides a reference to the controller and model classes.

Each class that extends SharpWiredGuiBase could override the following methods:
- OnOnline – Event handler method that SharpWiredGuiBase adds as a handler method to the Online event in the model. Gets notified when the client is online to a server.
- OnOffline - Same as OnOnline but tells if the client is offline instead.
- Init - Since Visual Studio seems to require all GUI classes to have a constructor without any arguments I’ve created an Init method that’s similar to the constructor. If anyone has a better idea for this please tell!
I’m not sure if this solution is good, but I’ve tried it on the chat and news part and it seems to work. All comments are welcome though! I’ll continue this work tomorrow.
Posted in Uncategorized | Tagged gui, pre1.0, uml | Leave a Comment »
A quick SharpWired news update
- We have moved the issue tracker to Google Code
- We have moved the SharpWired bugtracker to Launchpad.
- Yesterday we started a major refactoring work to make the code map more natural to the Model View Controler design pattern.
Posted in Uncategorized | Tagged bug, design, qa, testing | Leave a Comment »
Yesterday me and Ola had a small hackaton for SharpWired which I’ve started developing for! We mainly worked on the bookmarks manager GUI, and I must say it got a quite good facelift! Here’s the window before we started working:

Old SharpWired bookmarks dialog
Quite basic and functional. However, the usability was not that great. For example, it’s not exactly clear in which context you are when your either editing an existing bookmark or adding a new one. What we did was to have a “separate” list of bookmarks to the left which have its own add and delete buttons. These always add and delete items (i.e. bookmarks) in the bookmark list. To the right there is a panel showing the currently selected bookmark which can only be edited and saved, not deleted (that is done in the list to the left).
We also added a name property for a bookmark so that it looks a little bit nicer in the GUI (both the menu in the main window and in the bookmarks manager). The password input was a bit tricky, since we never save any passwords in SharpWired. We just save the hash of the password. Thus, when editing the password box there was no default length of the password we could put in there. It also looked pretty weird if there was no password since then users might think the password was not saved. We solved it by putting an “Edit Password” button above the text field, meaning that we both “hide” the password from prying eyes when it’s not being edited and solved the problem of users not understanding that it had been saved! Here’s the resulting bookmarks manager after our hacking session:

New SharpWired bookmarks dialog
I was really happy with the work we did, and I even think there’s less code now that before, which is mostly a good thing (at least if it is as understandable as before).
Posted in Uncategorized | Tagged bookmarks, dialog, gui, hackaton | Leave a Comment »
We are expanding – Adam joined yesterday! What could be better than starting off with some team building and oldschool video games?
Other updates are:
- The code base has been moved from .NET 2.0 to .NET 3.5 (Visual Studio 2008 Express)
- A heart beat timer has been added to prevent ISPs to disconnect inactive clients
- Instead of crashing when failing to encrypt the bookmark file we save it unencrypted
- Added client and server information
- Added error messages handler. It currently displays errors and a solution. No automatic error recovery is yet implemented.
- Minor bug fixes
- Added rudimentary support for private chat messages
- Latest MoMA report (.NET3.5 and Mono 1.2.6) was a success! It shouldn’t be to hard to get it running Mono! The current issues are:
- SharpWired.Gui.SharpWiredForm.UpdateToolStripText – Not sure what to do about this.
- SharpWired.Gui.News.NewsUserControl and SharpWired.Gui.Chat.ChatUserControl – Should be possible to swap out for using Webkit or Firefox as HTML renderer
- SharpWired.Connection.Sockets.BinarySecureSocket – Might work out of the box
- SharpWired.Connection.Bookmarks.BookmarkManager.Decrypt and .Encrypt – Should fallback to saving the bookmark file unencrypted
Todays mission is to add functionality for measuring the lag between the client and the server.
Update: I added the lag handler and also added a CIA.vc page where we can track the Subversion changes.
Posted in Uncategorized | Leave a Comment »
Would you like to try out an early version of SharpWired without going through the hassle of building from source? You can!
Download the preview archive, unzip and run SharpWired.exe. If we haven’t screwed up you’ll be up and running in an second. The only show stopper is that you’ll need a server to connect to. We currently don’t provide any testing server but you can download the Wired server for OS X or *NIX from Zanka Software. The OS X version is dead easy to set up while the *NIX version probably requires you to read the manual to get up and running… If anyone would like to help out by providing a public server please tell.
If you run into problems are happy if you file a bug in our SourceForge Bugtracker or add a comment below. If you like you can also check the TODO-list to see if your problem already is known.
Posted in Uncategorized | Tagged pre1.0, release | Leave a Comment »



