I stepped back from using libical which was likely going to cause more
issues with using it going forward so I decided to create a couple of
very simple RESTful web services.
http://services.mygroupsapp.com/Data/
These services take a feed URL and return JSON data. I have them
actually limiting the data as well. The sample iCalendar data is the
2009 schedule for the Packers and you will see it only lists events in
the future. (actually anything after yesterday) This way less data
goes to the phone which should make it faster. The web services also
cache the data, so this should be faster then going directly after the
RSS and iCalendar data. I may further limit the data to only return up
to 5 items to reduce data transfers as much as possible.
I can now parse the sample Group.xml file and return a JSON summary
for it. I could also put together a small database of groups and
provide a search by location feature as well. I could also do
something about filtering by tags. That depends on the UX/Workflow for
the app.
As as side note, I set up the data services to also host JavaScript on
the same site.
http://services.mygroupsapp.com/scripts/data.js
This script runs that page, but I am hoping that it can be used on
remote sites site the script and services are on the same site, so it
should get past the Same Origin Policy. I have not tested it yet. If
this works then any site could display RSS and iCalendar data on their
sites easily with this script. The script is using jQuery so that is a
dependency which must be included in the page using it before this
script. One way this script could be used is to pull the RSS feed for
your Twitter account to show your tweets on your personal site.