Back in October the Cisco Cius was featured in TechWiseTV Episode 103
. It's a really nice overview of the Cius from several different angles. I was asked to do a short section on application development, and I also agreed to do a TechWiseTV Workshop entitled "Developing Your First App for the Cisco Cius."
When I started preparing for the Workshop I wasn't sure what I was going to do, I just knew I had to do it in about an hour. My team and I talked about it a lot and agreed that it needed to be more than just another "Hello World". We get a lot of feedback when we present that people want more in depth examples of writing applications. We also decided that it needed to be something that could be written completely, beginning to end, in about an hour. We didn't want to write part of the application and leave the rest as an "exercise for you to do later." We considered writing an application that uses the Call Control API extensions unique to the Cius, but ultimately decided against it because there are some concepts that might be too complex for a beginner. We continued to remind ourselves that this was about writing your first
Se we finally agreed on the following goals
- Must be written from beginning to end in about an hour
- Must utilize existing technology (to make life easier)
- Must produce an app worthy of being posted to the Android Market
- Must pay homage to our friends at TechWiseTV
With those rules in mind we created an application that uses an Android ListView to display a YouTube playlist. When an item in the play list is clicked, the app launches the built in YouTube application.
The finished product installed on you Cius or other Android device by clicking here
A WebEx recording of the workshop can be found here
. Just click the Register
button, fill out the information and you will be able to access the recording.
And finally, the full source code, as posted to the Android Market is available here
A few notes about the source code. I made a few changes to the source code after the workshop. Here are the changes I made.
- I fixed the "getYouTubeIntent" method that I struggled with at the end of the presentation
- I added support for more devices by changing the AndroidManifest.xml and adding some new resources
- I added version numbers as required by the Android Market
One final note about the package name. The package name is what uniquely identifies your application. If you decide to use this application as a starting point, I strongly recommend that you change the package name right away. If you plan to create multiple applications, I also suggest that you chose a scalable package naming convention. An Android device like the Cius can only have one application with a given package name, so try to pick something descriptive and unique. We learned this lesson the hard way long ago when several members of my team independently chose the package name "com.cisco.sample". The first time we tried to share our applications we got a naming conflict.
As always, let us know what you think.