Where Do I Start To Develop My App for Skype?
Of course it would be impossible for me to read your mind and know exactly what you are trying to develop and design.
I can however provide some helpful hints on ways to save you both time and effort to make your Skype application as quickly as possible and become a “Skype Application GURU” to a much larger audience than your friends and family.
Soon, instead of saying “How come nobody has created..?..for Skype” people will be talking behind your back saying.. “Ah, that’s that Skype developer GURU”. So, grab some coffee and let’s get moving on making you the envy of those other “Cough” companies that wish their API interface could do what you can with Skype.
]]>First and foremost:
“Pick your Poison”
There are two methods which can be used to interface to Skype for developer applications.
One is a direct interface using the API, this is a very low-level interface, and I suggest that only seasoned programmers who have prior experience interfacing to other applications use this method “At First”.
The Second method is via the Skype4COM lib, which is a bridge between the API low-level interface and is much more easier to use to create your first Skype application.
Read Read Read
Most if not all your questions about Interfacing to Skype with your application can be answered by simply reading the documentation provided by Skype for these interface methods (“Created I might add by a very nice young lady”) and can be found here:
Take time to learn how to attach your application to Skype, how to process status messages like user status, connection status, focus on processing events provided by the API or the Skype4COM lib well before you start any coding effort on specifics to your actual application.
If your application can’t process these events properly, it matters little what your application does because in the end, it won’t work as planned anyway.
If it can’t stay connected with Skype, or process important events like is the user logged on, is Skype running and the like.
Try and imagine all the possible situations and conditions that your applications will be required to deal with and what actions your application will need to take when or if these situations occur.
Build and test this framework well in advance of actually working on specifics of your application and you will reduce your stress level and decrease your development and testing time as well. Test it, see if you realize Skype has been stopped, or that a user is no longer logged on.
Plan your Work, Work your Plan
The beauty about having all the event status code done first is now you can focus on the detail of what your application is going to do, and also include paths to take when Skype is not running, a user is not logged on and so on.
Break things into pieces. If you are going to interface to calls and chats for example. Don’t try to do both at the same time.
Focus on getting one of them working and move to the next one, and then link the code logic if needed afterwards.
If you don’t do this, you might be dealing with more than you can handle, you might have too many things in the mix that will only delay you when trying to isolate code bugs.
When Things Go Bad!
There are a multitude of examples you can use when or if it seems like something is NOT working, is it your code, is it a Skype bug?
Use other tools and examples to see if maybe your code has a logic problem, who cares what language the other tool or example is in, if it can help cut down your troubleshooting time, use it.
You might learn something helpful as well from the current examples and tools, things you may not have thought of handling during your intial design or realized you may need to deal with in your code.
So don’t blow-off examples or test tools because they are not using the language of your choice.
You can find many posts on examples and tools in the Skype Forum API area here:
When You Find a Skype Bug
Sometimes it is us Skype developers that find a Skype Bug first.
When this happens, and you are sure something seems to be not functioning as it should be, there is a place to notify Skype about these issues located at the link below, called Jira.
Skype Staff will be assigned to your issue and you can follow the progress in real-time. Jira is the proper venue for reporting any developer issues with Skype.
Additionally, if you have any good ideas for suggested modifications to the Skype interfaces, don’t be shy, you can also make suggested change requests as well here:
Let Your Fingers do the Walking
Try to not always use the forum as your first resort when you encounter a problem during development, using a little bit of digging in the documentation provided by Skype on these interface methods will help you in the future.
Soon, you will be able to find answers to your questions literally in seconds, in most cases, by understanding and using the current documentation. If you don’t become familiar with the documentation, how it is cross linked, and only depend on answers in the API forum, you will create a tremendous delay on getting your application completed.
Of course, you can always ask any question in the forum, but please remember, it might take some time to get the correct answers vs using your own fingers to look for examples in the API forum and taking another look at the documentation, poke around, because your answers to your questions are there, even if at first you can’t see it.
Good Luck and Welcome.
In a future post, I will try to break down dealing with Skype status events to help decrease your development time. Show some proper methods that you can use as a basic framework to help you focus on your application design more quickly than maybe you can at this stage. There are some examples already of these methods in the API forum as well.
Until then, see you in the API forum.