02 February 2011

SlimDXControl 1.0.0 released!

I've just released the first version of SlimDXControl on CodePlex:
SlimDXControl is a WPF control that wraps the complexity of managing a D3DImage for you. You just have to implement the actual DirectX rendering pieces you care about -- no messing about with device management or IsFrontBufferAvailableChanged or window resizing events.

D3DImage is a Microsoft-supplied WPF control that allows to embed DirectX/D3D9 graphics into a WPF application. Unfortunately, but necessarily, to use D3DImage you need to write quite a bit of code on the application side that is completely foreign to many WPF developers. Yes, you can find several good articles on the web on how to use D3DImage – from which I have learned much, thank you! -- but they are largely blogs or sample code snippets. The project is designed to be a standalone control, supported and maintained, that you can directly use in your code today.
It's seems fully functional and stable to me, but we'll call it a beta release until we get some feedback.

17 January 2011

WPF 1, WinForms 0

From the .NET Reflector folks:
We've also taken the opportunity to start using WPF for UI development, which has frankly been a godsend. The learning curve is practically vertical but, I kid you not, it's just a far better world. Really. Stop using WinForms. Now. Why are you still using it? 
Nice.

07 January 2011

libLAS 1.6 beta release

Hobu announced the release of libLAS 1.6.0b4 today, for which Flaxen Geo contributed some work to bridge liblas over to Martin Isenburg's laszip format.

-mpg

Goodbye, Outlook -- Hello, Thunderbird

I spent WAY too much time today trying to get my world stabilized for email, contacts, calendaring, and tasks lists.

Outlook 2010 is, of course, what I really want and need -- but it just doesn't work with Gmail.  Read this post, then read all the comments posted on it about how bad the performance is.  I tried, I really tried -- I wanted it to work, I really did -- but it's just too painfully slow to sync.  Major bummer.  And using Gmail as my mail host is not negotiable.  So maybe I'll try again with Outlook 201x, but for now it's off the table.  And so began the long slog to build up an alternative ecosystem.

My requirements:
  1. I need to have mail, contacts, calendar, and tasks
  2. I must be able to sync these between the web, my (Windows) laptop, and my iPhone 
  3. My Windows client must be very robust and stable, as I'll live in it all day long. 
  4. Gmail must be the hub for storing all my mail, and ideally the hub for {contacts,calendar,tasks}
The only client that seems to be fully featured and robust enough for everyday usage under Windows is Thunderbird.  It has email, contacts, calendaring, and tasks -- so now was just a matter of configuring everything to sync up to the web and over to the iPhone.

Mail

For the web access, Gmail rocks -- 'nuff said.

For Windows, Thunderbird syncs very easily with gmail via imap (and performance is just fine).  The "Mailbox Alert" extension adds an Outlook-like notifier in the lower right -- would be nice to have a delete button on the notify popup, but that's pretty minor.

The iPhone syncs nicely too, although I've noticed some cases where mail deleted in Tbird might not be getting deleted on the phone -- still investigating that one.

Contacts

Gmail maintains a reasonable database.  Web interface is kinda klunky, but, I don’t use the web for contacts much anyway.

Thunderbird syncs with Google via the "gContactSync" extension.  There are some problems here, though: you can only reliably get name, email address, and phone number back and forth.  So I'm going to use Tbird to store all full contact info, and let Gmail just store what it can.

Phone: syncs up via the Google Sync app process.  What gmail has is less than what Tbird stores, and I don’t quite grok the different calendar lists the phone shows me, but it appears to now have all the basic info for all the contacts.

Calendar

On the web, I'm not too fond of Google's calendaring system, but for a web-based interface it's okay -- and, again, I don't do much calendar work on the web.

On the laptop, Thunderbird supports calendaring via the "Lightning" extension plus the "Provider Extension for Google".  This all syncs up with the GOOG pretty well.

Phone: here again, Google Sync pulls everything in.

Tasks

And here's where things fall apart.  Tbird/Lightning supports tasks just fine, and Google has something too, but as of this writing, there is no way to sync the two -- the problem is allegedly on Google's end, so maybe we'll see this eventually.  For now I'm using Tbird's tasks directly, with no syncing to anywhere; no having my task list on my phone might get irritating, but we'll try it and see.

Side note: Both systems have this notion that tasks are somehow philosophically related to their calendaring systems.  I don't like that much, and since the two wouldn't sync anyway I looked around for alternatives.  Remember the Milk (RTM) is the leading candidate, and does offer lots of syncing and integration, but I found it to be just a little too barebones even for me.

Additional side note: the iPhone has native apps for calendaring, mail, and contacts -- but no native task list app.  In my Outlook days I used a couple different task apps which sync'd with my corporate Exchange server, but they were never as good as a native Apple-designed task list app would be.

Conclusion

Goodbye, Outlook -- I'll try you again when you have your next major release, but for now you're being replaced.  It took all this kit to do it though: Thunderbird, Google Sync, and four Tbird extensions.

-mpg

Update (11 Jan 2011) - Google Sync for mail is no good: messages that have been deleted (via Tbird) do not disappear from the phone's inbox.  Long-standing known bug, apparently.  So now we're back to iPhone's "normal" gmail connection, which doesn't sync contacts, but we can do that via iTunes (only syncs when connected, but I can live with that I guess).  Outlook, I miss you so.