Posted tagged ‘microsoft’

The future of instant messaging

24/02/2009

im_clients

Today
Instant messaging is something that I think a lot of people value. It has given us the opportunity to stay in touch, to socialize in large groups (Think IRC) and to exchange information in the blink of a second. Since the talk command was introduced on UNIX systems in the eighties, instant messaging has become a huge industry with strong companies behind the most popular services – MSN Live Messenger, AIM/AOL and Yahoo! Messenger, ranked by popularity cited in a comScore report from 2006.  In Sweden, the client of choice is MSN Live Messenger, and it’s become the de facto standard – everyone uses it, and so you are locked from using anything else if you want to communicate with your family and friends. This dominance reminds me of the Internet Explorer 6 monopoly on windows-based computers, (Which luckily seems to be changing.) and much like Internet Explorer (especially 6) is a horrible browser, MSN Live has a horrible protocol. I have been an MSN user since version four  and over the past five years or so it has been full of bugs and problems. Things seemed even out about a year ago, with the release of the seventh version, but just when they started to get their game together, a whole bunch of features were introduced with the newest iteration (multi-computer-login, anyone?) and we’re back to square one in terms of stability. One of the most irritating problems today is that file sending is pretty much broken. When sending a file, the recipient may receive the send request right away, shortly thereafter, or at any arbitrary time between the time of sending and infinity. It also seems as the problems gets worse the longer you are signed onto the network. Another questionable move made by Microsoft is to block certains domains altogether – messages that contain links to *.mine.nu and *.ath.cx addresses will simply be bounced back to the sender. Since both these domains are available for public registration of their subdomains through the DynDns service, many fully legitimate homepages are blocked. Rumor has it that this was due to a viral outbreak on the network, but if that was the case, there is no real reason not to remove the break after the virus had died out. Of course, the MSN protocol does have a few good ideas, such as letting people proxy file sending through their servers when both parties are in a harsh NAT environment, which some other services (such as Jabber, which we will get back to) are much harder to configure properly for that particular use.

Tomorrow
I truly believe that the future of IM is in the hands of multi-protocol clients such as Pidgin, Adium and Digsby. The ability to connect and syndicate friends over multiple networks is very powerful, and I think (and hope) that more and more people will change to multi-protocol clients. Not only does it free us from the shackles of one major protocol, it also makes the move to another protocol in the future much easier.  The most prominent future protocol is Jabber, or to be completely correct – XMPP (Extensible Messaging and Presence Protocol)  Which is a very interesting and versatile decentralized protocol. It is decentralized in the sense that anyone can set up a server.  I could set a jabber server up on mypage.com,  which would give me a username myname@mypage.com, now perhaps I know a friend who runs his own server over at myfriendspage.com, and so I could add him on my friends list by simply adding myfriendsname@myfriendspage.com. I’ve tried to draw up a quick schematic of what two connected servers might look like.

jabbergraphGraph of Jabber connections – click the image for larger view

In this case I have my own server located at MyPage.com, and my friend has his own server at MyFriendsPage.com, but on MyFriendsPage.com another friend of mine is registered. Even if we’re not on the same server, I can still talk to them both. This means that servers can go down independently of each other – one broken server won’t bring the entire network down. Jabber uses an approach similar to the way the SMTP protocol works. All servers are not interconnected, rather, connection is only attempted when there are queued cross-server messages.

Of course, this is a very small example. Everyone doesn’t have to run a private server, in fact Google Talk is Jabber-based and compatible with all other Jabber servers, which probably means that you have already been using Jabber without even knowing it! There are also a lot of servers out there that you can register freely at without any hassle. Something I have had some problems with is sending files. The protocol is supposed to support XML-based file sending through the actual chat server when both parties are behind NAT, but I have been unsuccessful in getting it to work. Of course, it could just be a simple case of user error!

Hopefully this free protocol will grow to become widely used and that any current incompatibilities and problems will be resolved. I know that I will be using my brand-new Jabber account as much as I can. If anyone would like to chat me up you can reach me at stasoline@jabber80.com

As always, feel free to share your thoughts and comment!

Building a HTPC Media Center Using Windows XP and MediaPortal

16/02/2009

user53582_pic234_1233029457MediaPortal running the Bleazle skin

As of recently, I hadn’t taken the step into a full-fledged HDTV experience. For me, the Xbox continued to serve as the best media center there ever was. But since my plasma is HD-ready at 720p, I decided it was finally time to upgrade.
784-athlon64
The PC
I had some old pieces from my former stationary laying around, and decided to build it into a HTPC! The motherboard was an old Socket 754 with an AMD Athlon64 3000+ running at 2ghz, which is really pushing it in terms of processing power when it comes to decoding h.264 (the most common video format used in conjunction with high definition video), but there was nothing to lose by trying either! So I put in 1GB worth of RAM and an ATI Radeon 9200se graphic adapter. I was lucky to have a TV with VGA in, so I didn’t have to use any form av HDMI/DVI adapters or the like.

coreavcwc9The OS and software
After installing Windows XP on it I immediately installed the windows port of XBMC, but was very sad to see that regular playback of a h.264-encoded 720p file was running the processor at a good 80-95%, and that’s without any excessive motion on the screen, unfortunately finding a hi-def video that tried to push the CPU to its fullest proved to be a difficult task, but it was pretty clear that the poor soldier wasn’t going to make it. I had heard of CoreAVC, and decided to see if it performed better, as I was told that it was a far more efficient decoder than the one mplayer (which is what XBMC uses for playback) was using. Unfortunately, XBMC does not support the use of CoreAVC, and so with a little tear in my eye I set out to find a suitable replacement. I was earlier told of a windows-only fork called MediaPortal, and lo and behold – the 1.0.0 stable release had just come out! The software installed nicely, and you could select CoreAVC as the renderer for h.264 content. Now MediaPortal has its own flaws – despite being a direct fork of the XBMC project it has no support for playback from uncompressed RAR files. Also, subtitle support is simply broken in this particluar release, as you can not change the color or the size of the subtitles (they’re really miniscule by default!) which is outright embarrassing for a big release like this. Performing new tests on the same videos now showed a CPU usage ranging from 40-60%, which was an incredible improvement, and at 7.95 USD CoreAVC was definitely worth the cost for bringing flawless 720p playback to an old struggling computer.

large

The remote control
A remote control is something no media center should be without. MediaPortal has  support for multiple brands of remote controls, amongst them the Windows MCE Remote. Since they’re discontinued I couldn’t find a Swedish reseller and so I looked on eBay for some knockoffs, but I was afraid that there might be something that prevented it from working and that I’d have a nice 20 USD paper-weight (which wasn’t even especially heavy!) After some inspection of the market I decided that a full-fledged wireless keyboard would be out of the question too, seeing as they started at around 80 USD unless you wanted the low-end models. I was briefly looking at the Ione Scorpius P20 but was told that it had very bad syncing issues, where the receiver would lose contact with the unit itself after reboots, which would be very difficult to tolerate in the long run. Finally I arrived at my decision, a resonably priced Logitech Cordless Number Pad! Not only is it a quality product, it actually has somewhat of a remote control form factor thing going on, and it’s pretty stylish, although several people have said that it “looks like a calculator”, which truth be told isn’t really a compliment!

remapping

Remap hell
I had some hopes that the pad would run in “no num-lock mode” and would simply convert the numbers to corresponding arrows which works great for controls in MediaPortal, but that was not the case. The solution Logitech has implemented is actually very brutal. If you don’t have num lock enabled the drivers enable them for a split second on any attached keyboards when you press a button on the unit, which you can notice as the num lock icon flashes briefly on the secondary attached keyboard. I tried using the MediaPortal configuration utility, but even after removing all mapping to the 1-9 keys it was still giving me trouble with using them as controls. After some googling I found that the easiest way would be to remap keys under windows, but the key mapping software I tried (not naming any names) did not work properly. Finally I stumbled upon the Windows Server 2003 Resource Kit Tools (mirror), which contained the wonderful Remapkeys.exe utility. Unlike the other software I tried this worked like a charm. Since my keyboard keys are named in Swedish the picture above might not prove useful to you, but I remapped the keyboard arrows to 2,4,6 and 8, space to 0 and the escape key to 5, which makes for basic operations in MediaPortal.

Conclusion
Building and setting up a HTPC is a very fun and interesting project, not to mention that it gives you access to some high-definition glory!