Showing posts with label C#. Show all posts
Showing posts with label C#. Show all posts

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!

Sunday, August 8, 2010

Silverlight progress

I've put the XNA programming aside for now, moving on from samples and examples to trying to get an honest-to-goodness app finished and running. To do this, I'm leveraging libraries written by others, something that I find hard to do because I rather enjoy the process of implementing the same code myself.

But, time is of the essence, since I don't have many hours a week that's mine for WP7 projects, and thus it makes sense to not re-invent an internet-available wheel. Of course, I'm completely new to Silverlight, having at most run downloaded WP7 samples and read a few book excerpts. This means I really have no idea how to use other Silverlight controls in my own or how to include other C# projects in a Silverlight project.

I thought the first was easy enough to figure out -- even though I'm pretty new to Visual Studio (again), I know how to include references to other projects, and Silverlight does it the same way. But no, not really. And including an existing C# library in Silverlight doesn't work the same way. Only certain project types are able to be included in this way, and this one library isn't one. So as not to waste time (YET AGAIN) fighting with tools instead of developing, I've just copied the code from these downloaded libraries and controls into my own project, and am now fighting with dependencies that are expected from "full" environments but aren't available in the Windows Phone restricted set of APIs.

At this rate, I might end up coding these libraries myself, after all.

Tuesday, April 6, 2010

Slow start

I've yet to do more than compile a few intro Windows Phone apps and take a look. Part of the reason is that the Windows 7 Phone Series CTP, which comes with Visual Studio 2010 Express, can't co-exist on a machine that already has Visual Studio 2010, which my one machine has. The add-on to the full Visual Studio 2010 that will allow WP7S development hasn't been released yet, so I'm unable to work on that machine.

My first intuition was to run a virtual machine that doesn't have VS2010 installed, but of course the virtualization of the phone hardware doesn't play nicely inside a virtual machine (nor next to a virtual machine, for that matter).

And, my other Windows 7 machine which I purposefully left without VS2010, specifically for WP7S development with the CTP... doesn't have a DirectX 10-compatible videocard, so I can only do Silverlight-related development on that machine -- no XNA.

Not all is lost, however. I've been browsing the UI Design and Interaction Guide for WP7S, which is interesting, if not a bit zealous. I'm also reading the Special Excerpt from Programming Windows Phone 7 Series by Charles Petzold, which works through at a good pace, but would really be more fun if I could play along while reading...

My O'Relly XNA book is being neglected for now because of my lack of an XNA-able videocard. Granted, I could try some XNA development on the non-WP7S machine, but... I haven't. I've got no Silverlight book, and all I've seen available have been for Silverlight 2, and I believe they're calling the WP7S version Silverlight 4, so I don't think I'll be picking up a book on the subject quite yet.

The O'Reilly C# 4.0 in a Nutshell book has been very good, giving me exposure to all sorts of good, new features in C# that I've already forgotten about and will reread about months later and curse not using. I've got a few non-WP7S projects that I'm working on with C#, to get to know the language better so I'm more comfortable when I start doing some phone development.

Expression Blend is being pushed quite a bit as the manner in which you design layouts and UI in WP7S, and I've never touched it before. I've installed it, watched a few videos on Channel9, but that's it. I've never been a good interface designer, and since a phone is all about design, I'm going to be thrown headfirst into it. Luckily, there will be a bunch of Silverlight templates to be used and keep me on track.

I'm hoping in the next week to play with more samples, modify them, and actually get a feeling that I've written my own first WP7S app.