Home Contact Search Syndication   Login
  191 Posts • 2276 Comments • 158 Trackbacks   

 Recent Posts


 Search


  

 Archives

 Post Categories

 Ryan Farley Sites

I love to take the approach of solving computing problems through programming. Sometimes it backfires and I over-complicate the problem (I have been known to prematurely generalize from time to time). But usually I bask in the greatness of being a programmer and having the skills to make my life easier and remove redundant or tedious tasks programically.

I read a post from Scott Hanselman where he discusses some great things about Skype and a big issue that Skype has. I am also a big Skype user. I use it daily for communicating with people I work with that live in other parts of the country. Skype is great. It is one of those programs that “just works” and exceeds my expectations for VoIP software. Scott's gripe with Skype is one that I share. It being that you have no way to store your contact's remotely. If you use Skype on more than one computer then you are forced to set up each Skype installation independently. You have to add your contacts to each install and go through the whole process of getting authorization from them each time. Well that just sucks. Scott mentioned how Skype stores it's contact information as a binary file. Not XML or something. I am sure it does that to prevent editing of the file allowing people to possibly spoof authorization or get around other rules of use.

If you've ever worked with the Skype API before then you know one thing. It sucks. It is a message based API. You communicate with Skype (and Skype with you) via SendMessage and WM_COPYDATA commands. Not only that but it is slower than you can imagine. Simple things like getting a list of the contacts and showing their online status is painfully slow. No fun at all. I mean, for such great software they sure did fall short on their API. But none the less, they do have an API and I decided to take a stab at solving some of the limitations of Skype with it. This time, instead of fighting through sending messages, I found a COM wrapper built by carcass (with C++ source) that wraps the required messaging, exposing enumerations, events, and nicely wrapped objects. Although easier to work with, still does not account for the crappy Skype API (but thanks carcass!)

Well, things didn't turn out so well. While it is easy enough to read data from Skype, place & answer calls, send messages etc with the Skype API, there is no way to programatically add a contact to the list. So what was going to be my Skype Backup/Restore utility turned out to be a “Export Only” utility. Well at least it is something.

Not what I set out to solve, but at least now I can get a list of all my Skype contacts (and calls if I need them). This way when I reformat my computer or set up Skype on a new computer I don't have to lookup all my contacts since I'll have my list. At least that is something, right?

Posted on Friday, January 14, 2005 9:18 PM

Feedback

# the Skype API - David's Blog


1/26/2005 8:19 PM

# the Skype API - David's Blog


1/26/2005 8:20 PM

# re: Solving problems through programming...and why the Skype API sucks - BERYL GOSNEY
Ryan, has anyone ever told you that you look exactly like BUCKY JACOBSEN on the Seattle Mariners??????

I am not sure where you're at to know this but I am a staunch Mariner fan...hahaha

Anyway, plain and simple, I love everything about SKYPE as a layman user...I despise the feedbacxk problem I am having however...and I believe it is in my system....probably a bad ground as when I turn up the speaker volume at a moderate level, I can hear myself in the speakers when I talk.....

On my system at the office I dont have that problem??????

Any ideas?

BERYL - jls0000@aol.com

2/5/2005 3:27 PM

# re: Solving problems through programming...and why the Skype API sucks - Ryan Farley
Hi Beryl,

No, actually, I've not heard that one. I don't follow sports much, and live in Arizona where you don't hear much Mariners talk down here ;-)

For Skype, I use a Plantronics DSP headset. It connects via USB and installs itself as a second audio device. In Skype you can set the headset audio device as the one Skype uses (So it is different than the main windows audio device - I can talk on Skype and still listen to Winamp at the same time - both through different audio devices). I've never had any problems with it and the sound quality is amazing (I wish I would get such clear sound on my land-line phone).

-Ryan

2/5/2005 4:02 PM

# re: Solving problems through programming...and why the Skype API sucks - pattyonthehill@yahoo.com
i can hear people but they can not hear me , i reset many times and checked recorder and it works, tried microphone on different computer and it worked, tried working head phones, no go, called skype many times
got nothing reinstalled skype, to new one i am still trying, if anyone can help plz patty

2/7/2005 10:24 AM

# re: Solving problems through programming...and why the Skype API sucks - Andrew
http://www.jyve.com Has an online uploader that stores your contacts in a directory, it is free as well.

For those that are so inclined.





2/9/2005 1:18 PM

# re: Solving problems through programming...and why the Skype API sucks - Ryan Farley
Thanks Andrew. I've looked at Jyve before. Doesn't look too bad, but it really goes too far beyond what I'm looking for. But still worth a look.

-Ryan

2/15/2005 9:03 AM

# re: Solving problems through programming...and why the Skype API sucks - chinese man
can you mail skype api to me?
i am a chinese man. i like skype and want to develop form using skype api.
thank you


my mail is liq0203@163.com

2/21/2005 1:02 AM

# re: Solving problems through programming...and why the Skype API sucks - Ryan Farley
chinese man,

You can get the Skype API by installing Skype (See http://www.skype.com/). If ou want to use the COM wrapper I mentioned in the article, first download and install Skype, then download & registrer the COM DLL from http://www.geocities.com/skypeapi/.

-Ryan

2/21/2005 6:43 AM

# re: Solving problems through programming...and why the Skype API sucks - Chris
Does anyone out there know how to send play a wav file through Skype? I'm looking to call someone on Skype and play the .wav file. Thanks.

-Chris

2/25/2005 6:51 PM

# Where my contact list was saved ?! - João Leite
Hey man, u know where my contact list was saved !?!!??!

Hasta

3/16/2005 4:10 AM

# re: Solving problems through programming...and why the Skype API sucks - Ryan Farley
João Leite,

The export dialog allows you to select the location to save the file. The default location is where the application itself was installed.

-Ryan

3/16/2005 7:06 AM

# re: Solving problems through programming...and why the Skype API sucks - Joshua
Looks like Skype 1.2 now offers centrally stored contacts list... Check it out: www.skype.com

3/25/2005 9:19 AM

# Skype Export Utility - Yul Agbay
Dear Ryan,

I downloaded your Skype Export Utlity, installed and found very usefull. I exported my call list as CSV and found that the first line is truncated to the headers. I use excell 2000. Hope this feedback helps.

Cheers!
Yul

6/19/2005 8:21 PM

# re: Solving problems through programming...and why the Skype API sucks - Michael Möller
I tried the download today. It failed miserably getting the contact list. On the other hand I have just upgraded to the latest Skype 1.3.0.57. Oh well, I'll try something else. I'm just trying to run Skype alternatly on my main machine and on my portable, and looking for some way to keep the contact lists in synch

7/8/2005 1:02 PM

# re: Solving problems through programming...and why the Skype API sucks - Ryan Farley
Michael,

I just tested it with version 1.3.0.57 and it works for me. What exactly was the error you received? You did catch that the .NET 1.1 Framework is required to run this (but not included in the install), right?

BTW, you can now export contacts to a vCard and then import them in again - built in to Skype. It also now has the ability (again, built in) to store contacts centrally.

-Ryan

7/8/2005 1:39 PM

# re: Solving problems through programming...and why the Skype API sucks - Nance
same as pattyonthehill.com No one can hear me when I call. Please help me someone!!

7/19/2005 3:15 PM

# re: Solving problems through programming...and why the Skype API sucks - Ryan Farley
Nancy,

Try visiting the Skype Forums (http://forum.skype.com/) and post your issue there. You'll have much better luck and getting a response.

Good Luck,

-Ryan

7/19/2005 3:22 PM

# Skype Export Utility - Yul Agbay
Hi Ryan,

Any plan for updating this nice utility? What I found that the csv format contains some extra delimiter that will give one space before the data as viewed in MS excell.

rgds,
Yul
icybernet@gmail.com

7/29/2005 4:36 PM

# re: Solving problems through programming...and why the Skype API sucks - Ryan Farley
Yul,

I fixed that - just for you ;-)

Download the install again and reinstall. The extra space is now gone and everything looks as it should in Excel.

-Ryan

7/29/2005 8:52 PM

# re: Solving problems through programming...and why the Skype API sucks - darren
only partially works for me, on skype version 1.4.0.71

imported my calls, but the formating for duration is messed up. longer calls of 25:35 (25 minutes, 35 seconds) came out 25:35:00

didn't import my contacts at all.

u need to mention that it requires the .Net 1.1 framework

get that here :
http://www.microsoft.com/downloads/details.aspx?FamilyID=262d25e3-f589-4842-8157-034d1e7cf3a3&displaylang=en

looks promising, good start.

11/23/2005 3:01 AM

# re: Solving problems through programming...and why the Skype API sucks - Yul Agbay
Dear Ryan

>>I fixed that - just for you ;-)

Sorry, I was away for a while. Confirm that the extra delimiter in csv are gone. Thank you for this very usefull utility, I use it for monitoring my calls.

I hope you can spare more time as the other (previous) bug (Can I call it :-)) was still there. What I mean is that the 1st line of the call list is truncated to the header. I wish I can send you my csv file for this one.

The other item I noted is that the conversion of the call duration has some random error i.e. the 25:15 (tweenty five minutes and fifteen seconds) is converted as 25:15:00 (tweenty five hours, 15 minutes and zero second). Still in the exported csv, actually I am only using the csv format also so I can not relate with the other (xml) exported format.

I hope you can take a look in to the code very soon.

rgds,
Yul
icybernet@gmail.com

12/7/2005 4:24 AM

# re: Solving problems through programming...and why the Skype API sucks - Karika
Hey Ryan,

In the Ruby application, I need to the contact list of the currently logged-in Skype user.
Can you suggest me appropriate Skype API for the same that I can use
and incorporate in Ruby on Rails client application?

Thanks and Regards,
Karika.

1/30/2006 1:31 AM

# re: Solving problems through programming...and why the Skype API sucks - jan geirnaert
hi. interesting utility. is anything like a skype "importer" too ?

gr

jan


3/12/2006 2:40 AM

# re: Solving problems through programming...and why the Skype API sucks - Frank
Here are the results with Skype 2.0.0.97 in Windows 2000 Server
I start Skype, then start Skype Exporter,
- Skype throws a dialog "Another program wants to use Skype...
Name: RF.Utility.SkypeExport.exe, Publisher: Ryan Farley - ryanfarley.com"
- I check "Allow this program to use SKype, but ask again in the future." I wait a few seconds. (If I wait too long, two more "Another program..." dialogs appear... I close the extra dialogs and click "OK". )

The API Access Control icon appears at the bottom of the Skype window (opposing arrows).

The Skype Exporter progress bar zips from left to right.
Nothing appears in the Skype Exporter dialog box.

I click Reload, and Skype Exporter throws up this:

"An unhandled exception has occurred...

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.Threading.ThreadStateException: Thread is running or terminated; it can not restart.
at System.Threading.Thread.StartInternal(IPrincipal principal, StackCrawlMark& stackMark)
at System.Threading.Thread.Start()
at RF.Utility.SkypeExport.MainForm.btnReloadContacts_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2032
CodeBase: file:///c:/winnt/microsoft.net/framework/v1.1.4322/mscorlib.dll
----------------------------------------
RF.Utility.SkypeExport
Assembly Version: 1.0.2036.39155
Win32 Version: 1.0.2036.39155
CodeBase: file:///C:/Program%20Files/Skype%20Exporter/RF.Utility.SkypeExport.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2032
CodeBase: file:///c:/winnt/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll
----------------------------------------
System
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2032
CodeBase: file:///c:/winnt/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll
----------------------------------------
System.Drawing
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2032
CodeBase: file:///c:/winnt/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll
----------------------------------------
Skybound.VisualStyles
Assembly Version: 1.0.5.0
Win32 Version: 1.0.5.0
CodeBase: file:///C:/Program%20Files/Skype%20Exporter/Skybound.VisualStyles.DLL
----------------------------------------
Interop.SKYPEAPILib
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Program%20Files/Skype%20Exporter/Interop.SKYPEAPILib.DLL
----------------------------------------
CustomMarshalers
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase: file:///c:/winnt/assembly/gac/custommarshalers/1.0.5000.0__b03f5f7f11d50a3a/custommarshalers.dll
----------------------------------------

************** JIT Debugging **************
To enable just in time (JIT) debugging, the config file for this
application or machine (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the machine
rather than being handled by this dialog.


===================================="


3/23/2006 1:10 PM

# downloading problems - cresha
hi...can someone help me. well i live in the country of Belize and for a long time now they have been trying to ban skype here. i thing they have done so through the dial up service and i use the broadband/cable service. i don't know if they banned skype through there yet but i've been trying to download it but when ever it reaches 60percent or so it brings up a message saying '' setup files are corrupt'' and it doesn't download at all. PLEASE HELP!! if there is a solution to this

4/13/2006 9:22 AM

# re: Solving problems through programming...and why the Skype API sucks - sebi
People, I am using Skype 2.0.0.79 and I never bought credits. But I need the call list that is stored in my computer!!! All the calls that imade and received...how do I do that. IT IS URGENT!!! I need it for my immigration file to canada. PLEASE!!!

Thank you very much.


sebicatana@gmail.com

4/19/2006 11:09 AM

# re: Solving problems through programming...and why the Skype API sucks - Steve B - Ops in Afghanistan
Buddy,

My wife has had 7 attempts in down loading skype 2.5 from the website. The step by step features are easy to follow but the snag is when the download is complete, nothing else happens. It should then go to install but doesn't. Can anyone help her?

6/30/2006 5:57 AM

# re: Solving problems through programming...and why the Skype API sucks - Xul
Umm. Once the file is d/led... just double click it to run install.

8/31/2006 6:11 PM

# re: Solving problems through programming...and why the Skype API sucks - fioricet
I downloaded your Skype Export Utlity, installed and found very useful !
Thanks a lot. By the way , did anyone use FireFly for VoiP communications.
All advices may be helpful. Thanks.

9/11/2006 5:27 AM

# re: Solving problems through programming...and why the Skype API sucks - michaela
evertime i try to downlad skype it keeps saying your setup files are corrupted

9/17/2006 6:19 AM

# re: Solving problems through programming...and why the Skype API sucks - Frank
1. In Exporter's Contact List, the Contact List remains EMPTY, even as the progress bar keeps moving.
In Call List, all call history is fully extracted and can be x
Skype 2.6.0.105(BETA)

2. When the Contact List progress bar stops, the Contact List remains empty. Attempting a "Reload" produces an exception which allows "continue". Clicking Continue shows a smaller progress bar in the wrong place on the screen, and extracts no contacts.

3. Please add a "Please install .NET 1.1" error message at startup or installation, either will do.

4. Please add a GROUP column in Exporter's Contact List window.

Question: My Skype Contact List has 300 contacts in 4 groups (All Contacts, other-misc, SkypeOut, UnGrouped). Does the db size, or number of Groups, or group naming characters affect Exporter's ability to fetch contacts?



10/30/2006 2:23 AM

# re: Solving problems through programming...and why the Skype API sucks - forrest
Ask for help here: I need to print out my skype chat history for immigration purpose. I exported the film in XML format, and it looks like the following:

<?xml version="1.0" encoding="utf-8" ?>
- <!-- Skype user: forrest75 - Skype version: 3.0.0.205
-->
- <SkypeCalls>
- <Contact>
<ID>2776</ID>
<Timestamp>7/13/2007 7:39:59 AM</Timestamp>
<PartnerHandle>su800216</PartnerHandle>
<PartnerDisplayName>bowen</PartnerDisplayName>
<ConferenceID>0</ConferenceID>
<Type>IncomingP2P</Type>
<Status>Finished</Status>
<FailureReason>0</FailureReason>
<Subject />
<PSTN_Number />
<Duration>24:43</Duration>


I need to print out the file that looks neat and simple, just as what the exporter page shows, and present this file to the visa officer. Does anybody have an idea how to do this? Thanks a lot!





7/13/2007 7:13 PM

# re: Solving problems through programming...and why the Skype API sucks - Juliet
I have the same problem as the previous poster. I also need to print my call history(for free skype to skype calls) for a marriage immigration visa. Additionally, i have a Mac, and it would not even open the Exporter download to begin installing. Sadly without this list and because i only use Skype to talk to my fiance, it looks like we hardly know each other! If anyone has any advice, please help!

11/27/2007 7:33 AM

# re: Solving problems through programming...and why the Skype API sucks - Jason Foster
To the poster who needs his skype call list to show his phone log - In the worst case, you could always take screenshots of each page as it is displayed in Skype, and then print the screenshots out and deliver this with your immigration visa application....

12/7/2007 10:32 AM

# Thanks for the p2p call log exporter - Ken
I am going through immigration proceedings for my wife and it was exactly what I needed. Happy holidays!

12/10/2007 2:33 AM

# re: Solving problems through programming...and why the Skype API sucks - Jan
Didn't work for me using Skype 3.6.0.244 with Vista. Call List worked, but Contact List takes forever to load (>20 min to be exact).

1/12/2008 10:59 AM

# Use of skype APIs with java - Rana
Does skype provides APIs so that i can use them to build an application to run on the office LAN?

i want to develop an application alike to skype that would run on my office LAN and the employees of different departments could talk to each other and could see each other without requiring internet and skype...


is it possible?? and if there r such APIs then from where i should get them?
I m a java developer...

2/17/2008 8:04 AM

# re: Solving problems through programming...and why the Skype API sucks - youtube
can you mail skype api to me?
i am a chinese man. i like skype and want to develop form using skype api.
thank you

3/6/2008 2:16 AM

# re: Solving problems through programming...and why the Skype API sucks - youtube
I am going through immigration proceedings for my wife and it was exactly what I needed. Happy holidays!

3/6/2008 2:16 AM

# re: Solving problems through programming...and why the Skype API sucks - şiirler
thanks

3/6/2008 2:16 AM

# re: Solving problems through programming...and why the Skype API sucks - Robin
Hi Ryan:

I'm using Windows XP and Skype (both latest versions) and installed your export utility. When I run the utility it is only exporting contacts with a Skype account versus the ordinary phone numbers added as a Skype Out contact. Is there any way to export ALL of the contacts? Thank you very much, Robin

3/22/2008 6:54 AM

# <Keyword> - <Keyword>
When i was at the biginnings of the internet (it was in old 1976 year), we made first sites, they all has design just like that one)).

4/1/2008 1:22 PM

# re: Solving problems through programming...and why the Skype API sucks - Youtube
It's a nice cover graphic, so it seems to be a nice opera. Will have a look for it.

4/3/2008 5:15 PM

# karadeniz - göknar
Hi…internet is very good world. Because we are learning the information. And than one day fall down internet, we are tobe orphanhood. Thank you very much…

4/4/2008 1:15 AM

# re: Solving problems through programming...and why the Skype API sucks - youtube
s it possible?? and if there r such APIs then from where i should get them?
I m a java developer.

4/17/2008 3:07 AM

# re: Solving problems through programming...and why the Skype API sucks - youtube
I am going through immigration proceedings for my wife and it was exactly what I needed. Happy holidays!


5/18/2008 9:32 AM

# re: Solving problems through programming...and why the Skype API sucks - bedava oyunlar
good system

5/20/2008 2:04 AM

# re: Solving problems through programming...and why the Skype API sucks - youtube
i definately loved this thank you for the post it was very informative

5/22/2008 6:36 AM

# re: Solving problems through programming...and why the Skype API sucks - Mike
D'loaded the Skype Exporter but when I run it, I only get the heading, no call list.
I am using Skype Ver. 3.8.0.139

Do you have a new version?

Does Skype have to be running to use the utility?

Thanks.

Mike

6/10/2008 5:21 AM

# Mozilla Firefox Free Download - Mozilla Firefox Free Download
Very interesting post, thank you very much.

6/13/2008 10:00 AM

# Mirc - Mirc
thanks you

6/29/2008 7:46 AM

# sohbet - sohbet
10x for gr8 info..

6/29/2008 12:45 PM

# re: Solving problems through programming...and why the Skype API sucks - bayrak
thansk

6/30/2008 6:03 AM

Post Feedback

Title:
Name:
Url:
Comments: 
 Enter the word you see: