Saturday, November 13, 2010

Another of those "I'm still here" blog titles

Wow, almost two months since I last posted here...

Windows Phone 7 has released in Europe and Asia, then in the US... but not Canada! I had such hopes to have my hands on a Windows Phone the day the North American release happened, especially because my carrier (only) carries the Samsung Focus, which seems to be the popular one, but all we Canadians have been told is "the end of the month". Apart from it just being fantastic to have a Windows Phone, I had also wanted one in my hands as a way to spur me further, faster -- something -- to get an app finished.

It's not that I haven't been working on it; my spare time is devoted only to that, at the expense of everything else: my Wii and PS3 scowl as I enter the room. Still, my spare time is at a minimum lately, with wife and kids, baby on the way, new house being built, work and teaching (I wisely resisted taking any classes this semester), but it's going slowly forward.

Part of the problem, as I've mentioned before, is that I'm new to .NET, to C#, to Silverlight (haven't touched XNA for months, which is unfortunate). This means I'm wasting a lot of time fighting with things that experienced programmers in these areas would breeze through. Still, I'm learning my way around them all, feeling more comfortable with them, and with luck, once this first app is finished, future apps will be a relative breeze.


This is still the GEDCOM viewer app I mentioned last time; it fetches a GEDCOM file from the web, parses it out and gives an index of the individuals within, using the fancy LongListSelector that the Silverlight Toolkit for WP7 (link on the sidebar) added to the regular set of controls. Individuals are represented with a Pivot control, breaking up the most important information, secondary information, and perhaps source information into separate pages. Each individual also adds buttons to their families, ones in which they're a child, and ones in which they're the parent, if these exist. The family view shows the parents and children on one page, and secondary information (such as marriage details, census details, etc.) on another. Except for the ugly layout (that design skill I've yet to learn), it has the basic functionality going.

Still to go, in no particular order: support to save/delete GEDCOM files in isolated storage; ability to switch between bookmarked GEDCOMs (whether in storage or bookmarked online); saving browsing potition, both for tombstoning and even on complete exit (if desired by the user); support for multiple values of data (multiple sets/versions of Birth information, Marriage information; multiple marriages).

This version is just a viewer, not meant to provide any data editing ability. Maybe version 2.0. Before that, though, I'm considering features other genealogy packages provide, such as calendars of living persons' events (birthdays, anniversaries), Bing map overlays with the locations of birth/marriage/death/etc. events, graphical family tree representations (ancestor/pedigree trees, descendant trees, hourglass trees, etc.). All of these would expand my Silverlight experience, strengthen my C# skills, and further my .NET knowledge. I'll likely start a second app before adding this next set of features, hopefully moving forward with some of the ideas that @bytemybits and I have been talking about.


So, no one has been blessed with my amazing app yet, but on the other hand, I couldn't be using it myself, either, since I can't get a phone yet. The numerous blogs I follow have been a tremendous source of information (and I'm only 50 articles behind at the moment!), and the Twitter community for #wp7 and #wp7dev is great; I just wish I was able to participate more in the community.

As for the whole developer process, I've gone through the whole GeoTrust thing, so I believe I could submit an app for approval to the Marketplace today, if I had one. Being Canadian, I don't have the easy route of submitting my SSN and bank account info to get paid, but instead have to go through hoops to get an ITIN, all so I don't get overly taxed by both the US and Canadian governments. One thing I wonder about is whether they'd just hold any earnings if I was to have an approved app on the marketplace before getting any banking information to Microsoft, or if they'd not allow me to post until it was done. Depending on how long the IRS takes to get me my number, I might be able to find out!