Lately I’m working on a collaborative book project; three authors, one editor, and a small collection of raw content contributors. It’s an exciting prospect but have to say, when it comes to co-managing a project like this sometimes little things become surprisingly big. Like platform preferences. Everyone has their pet tool and trying to get consensus on one easily reduces to finding the Least Worst Overall Not-Quite-Hated solution. We’re working through that, but…

In our first conversation, Charlene the editor she asked me something about iPhones and the conversation went

Me: I wouldn’t know; I use a Windows Phone
Charlene: Oh, I’m sorry

So many ways to go with that… but suffice to say that from my perspective it proves how much more convincing a distortion field can be than reality. I’m in no way impugning Charlene– she’s definitely sharp or I wouldn’t have started following her in the first place. But Apple and others have done a spectacular job at misinforming even the discerning public.

I‘ve been working with various developer communities for several years, and there’s a common question I encounter regardless of the platform:

Q: “What should I work on?”

This isn’t always easy to answer specifically, because a great deal depends on the skills and interests of the person asking. But there is an easy general response:

A: “Solve a problem for yourself.”

I’ve found that the developers not asking that question tend to do exactly that. They have a need, see no available solution, and jump right into solving it for themselves. Often enough, that tends to work for others as well.Continue reading »

Greetings all! It’s time to dive back into Windows Phone developer community land. In this post I’ll be sharing the good and not-so-good news for WP development in my region, which is physically centered in the Dallas-Fort Worth area but also includes Oklahoma, Kansas, Colorado, Nebraska and South Dakota. I’ll summarize the year and share some ongoing/upcoming stuff too.

I’ve just recently gotten serious about learning XAML for Windows Phone development, and it’s been a real rollercoaster. Hours of bad-document-reading, tutorial-deciphering and hair-pulling punctuated by brief bursts of accidental success. My wife has learned to ignore my cursing but my poor dog Peanut still runs under a corner desk when some seemingly innocent code breaks.

Part of the problem for myself (and others, based on threads on MSDN and stackoverflow) is that documentation is woefully incomplete. Too many examples telling you WHAT needs to be done but annoyingly omitting critical HOWs. Too many segments of potentially useful code lacking the necessary prerequisite references to run.

But I digress. And if you just want to avoid further background and skip to the solution, scroll down.

I’m working on a C# Windows Phone geolocation app designed to route an email recipient to a person in need. One of my goals as always is to craft the best user interface for the solution. For touch devices, that often means stripping out conventional interface objects like buttons because they tend to occupy a layer between the user and what he or she wants to do. In this case, I want the app’s Map object to be the center of attention, and most if not all user interaction to take place on or around it. As is my norm, I dose this work with lots of context sensitivity.

I began with PNG objects like those shown in this post. I got that working fine eventually; tap on the graphic, and a context menu of several options pops up. Select one, and the graphic updates to reflect the user’s purpose.

But as I began the task of replacing Application Bar buttons with more Map-centric interaction objects, I began thinking that bitmap graphics were too low fidelity. If I went with vectors, and added more Map layers, I could truly orient the user better and improve engagement. The Map itself could host most of the UI.

It’s easy enough to add polygonal objects to XAML. Many of the Windows Phone content objects can host them. But once you get beyond simple shapes, editing can be a pain. One quickly misses Adobe Illustrator.

I found a really sweet XAML export plugin for Illustrator, but the creator has been unable to update it past CS4. I’m using Creative Cloud, and older plugins no longer function [edit: as one reader pointed out in comments, Microsoft’s Blend can import AI files. Part of my purpose here was to identify a completely free solution. For many uses, Inkscape works fine]. I discovered that the free vector editor Inkscape supports XAML export, so it was a no-brainer to bring my AI graphics into it and export. Below is an SVG file of my Map Pushpin object:

Other than redundant schema info and unknown tags, it looked okay. I cut out the portion I needed (Canvas tag content) and plopped it into a XAML MapOverlay in my project. Visual Studio immediately complained:

TypeConverter for “PathFigureCollection” does not support converting from a string

The offending bit was the Figures object. Time to Bing for an explanation… but while I found many examples of people encountering the error, there were no useful solutions. Some mentioned Kaxaml, which I downloaded. While it’s a very helpful tool for visualizing and troubleshooting XAML, it didn’t see any problems with my code and offered no way that I could see to refactor what I had into something Visual Studio would like.

The Solution

But reading more about the PathGeometry object tickled a few brain cells. I found a Path example that looked like it would work for what I wanted. So I changed the essential code to what follows (key portion in bold):

Success! In a nutshell, the trick was to remove the PathGeometry and use the Figures string as Path Data…. which just makes sense. My custom Pushpin rendered exactly as it should, and looked much sharper than the PNG bitmap. Now to construct other UI elements, add Map layers, and wire up the events. I’ll post more later, and will provide the full code on app release.

I’m behind on publishing some content but an opportunity has come up that trumps just about everything else. Except beer and pizza. First the background.

Many of you know that for several years now I’ve been supporting creative communities, both on and offline. If I really want to date myself then this activity goes back further than I’ll usually admit, to a stint as a writing forum moderator in the heyday of America Online. Don’t judge: it meant free dial-up. ;)

As you can see on LinkedIn, my more recent history has gone from Maemo to MeeGo to Windows Phone plus local Makers. An interesting mix of communities that has helped me understand myriad arguments for and against various platforms and preferences, as well as learn to socialize with creative types from all walks of life. This understanding has pushed my thinking above and away from the sort of religious dogma that can cripple a project, and in turn helped me (I think) be a really good all-around community leader. And even as I’ve helped Nokia’s efforts to pull in Windows Phone developers, I’ve kept a watchful eye on Jolla and kept fairly current with Qt developments. I even assisted Tuukka Ahoniemi with Qt outreach in Dallas (although other activities got in the way, something I would fix if I got this role).

Which leads me back to the opportunity.

Against all odds, I will be interviewing with Digia soon for an Online Community Manager position. Exciting! I think I’m the ideal candidate, and so do a few others who have already spoken on my behalf. But landing this position will take some serious effort: they really want someone situated in Norway, Finland or Berlin. I have to prove that I can do even better than someone in close proximity.

Now, I’ve done the remote working thing both voluntarily for the aforementioned communities and professionally for Nokia. I know I can perform this role with the same success. Heck, I’ve always said I can work from Antarctica as long as I had Internet. I just need to convince Digia.

To that end, I’m looking to the communities I serve for advice. What should I emphasize? In what areas do I still require polish? Feel free to add comments here. Be critical if you feel led. Or contact me privately, too.

I had a similar opportunity with Scarlet Motors at one point, and touched on that in an article about keeping a childlike aspect in communities, but unfortunately they lacked the means at the time to make it a paid position. The Digia role will be full time, and involves work I love and have been preparing for. I relish the opportunity to take lessons learned from other communities and see where it will support Qt’s desire for broader adoption.

I really, really want this job. Your feedback will help, and perhaps so will lobbying Digia. Make sure to hit Qt Project and Qt by Digia on twitter, as well as their Facebook page. After all, a good online community manager should mobilize Internet citizens, right? ;)

General Promotions

Unity and Microsoft are inviting Unity developers to enter a new contest by submitting beautifully crafted, high-quality new or existing games or content for the upcoming Windows Store Apps and Windows Phone 8 platforms. Over $100,000 in cash and prizes will be awarded to a number of talented and lucky winners.

In 2012 I “attended” Microsoft’s //build/ developer-focused event virtually, envious of friends with the good fortune to attend. Thanks to my Nokia Developer Ambassador gig, this summer I got to enjoy the excitement first hand. Instead of a lot of text, though, I’ll share some highlights with the focus on photos (all taken with a Nokia Lumia 920):Continue reading »

For those who have been active in the Dallas-Fort Worth Windows Phone developer scene for some time, the headline here may seem odd. After all, the Meetup.com group has been gathering on occasion since this time last year.

But what’s been missing, according to the most common feedback I receive, are semi-social gatherings with a focus on Getting Stuff Done. Attendees have had enough consumption; they’re ready to create.

With that in mind, I have spent the past few months scouring DFW for good venues for this activity. I put together the following criteria for sites:

Should be free (or at least low-cost)

Should have easy facility access (preferrably no security hurdles)

Must have decent, dependable WiFi

Must have easy access to power

Must have comfortable seating for at least 15 attendees for 3+ hours

Should have easy access to food and drink (including catering)

Must be available weekends and/or evenings

This is not an easy bill to fill. I encountered many potential venues that had one or more of the must-have items but lacking something critical (usually weekend/eveing access). To increase our prospects, I asked community members to aid in the search. Pointing out a possible location wasn’t enough– I needed these foot soldiers to compare sites against the requirement list, talk to managers, and even take pictures.

It may come as a surprise to readers that grocery stores turned out to be generally good locations. Specifically, the Tom Thumb flagship stores, which meet every Must and Should. The only drawbacks I’ve run into were man-made… such as the strange reluctance of one store manager (who was worried about us displacing customers, when I saw only 3 people occupying a 35-seat area) and human mistakes. Mostly mine.

I had scheduled a meetup for May 25 at a Tom Thumb store in Arlington after one member, Dallas .NET’s Omar Villarreal, got clearance from the manager. Unfortunately I misread Omar’s instructions and secured the wrong store. When the group arrived, we discovered that there was no WiFi or Starbucks.

Oops.

We waited for stragglers to show before moving to another Tom Thumb a few miles north. This cost us an hour and a half of valuable time. Lesson learned: read the fine print.

The second store turned out to be acceptable. WiFi was mostly reliable (I had a couple of brief drops) and the deli sandwiches were excellent (I recommend the pulled pork). The 5 other attendees seemed fairly pleased. However, the late start combined with another error on my part got in the way of getting any work done.

I had set aside the beginning of the meetup for introductions and announcements, which would be okay for social meetups but took way too much productive time from this one. Socializing is certainly useful, but we’ll hold separate events for that.

I would like to think that the attendees at least benefitted one way or another, but I welcome constructive criticism to help shape future get-togethers. I definitely need to arrive early to get things set up.

The good news is that this somewhat-rough experience was useful in certain contexts, especially since we had new members attend, and allowed me to get a good idea of what works and doesn’t work. Going forward, I will put together a handout for updates and trim the initial verbal presentation down to about 5 to 10 minutes. Less time of me chatting, more time Getting Stuff Done.

Ideally, we will see a good mix of skill levels and experience at these sessions. I really want to pair mentors and experienced app publishers with beginners, for one. Same with bringing in more data modelers and UI designers. To motivate members in that regard, I am offering a recruting incentive: bring in any new member with any useful skills for app creation, and get a $10 gift card. Bring in any new member with at least one published app, and that amount goes up to $20. Stipulation: new members must agree to sign up at DVLUP and also provide me full contact information before I award the gift cards. This promotion runs until I am broke or we have too many members. ;)

Speaking of DVLUP, I’m also considering holding specific “DVLUP Days” events with the goal of just tackling DVLUP challenges at the event. XP building opportunities, if you will. I’m also working on partnering with various companies and instructors for educational meetups– stay tuned!

My intent is to “bounce around” the metroplex and hold these sessions in various parts of the area, with a preference for central locations. If you know of any, let me know! By all means, ask the managers about the items on my list, and pictures of the venue are very helpful. And ask your employers about hosting!

We’ll probably hold another such event in North Dallas next, at an office near highway 35E and Beltline Road. Registration will be at the Meetup.com website, and I will announce in the usual social channels.

Ultimately, we’ll get into a rhythm that will benefit everyone involved. I can’t wait to see the results!