Weblog

Welcome to my Weblog!!  I am Cadent's founder, Doug Oucharek.  I intend to use this Weblog as a way to communicate new changes to Cadent's products and consultancy direction.  And, as with all blogs these days, I will be expressing some of my views with regards to the industry I am in.  After over 20 years of developing myself as a craftsman of good software/firmware, I have become very opinionated.  I hope not to offend, but simply to express my own thoughts here and to generate discussion.

wineCellar Release 1.0 Available


I cannot believe I have not done a weblog since August!!  Wow, has time flew by and have I been busy!  I hope, going forward, I will be able to be more diligent in updating this weblog.

In this weblog, I'm proud to announce the full release of the Cadent wineCellar application!  This is a unique data storage/browsing application aimed at wine collectors; both serious and amateurs (I put myself in this later group).

I expect I will be creating several weblog entries on this product and its evolution in the months ahead.  For now, I just want to invite all Mac users who collect or track wines to download the 30-day trial of this application and give it a try.  Also check out the screencasts I have done describing how to use this product (in lieu of a manual) and download the sample wine database to get a quick start at trying out the wine browsing features.

At $20 US we have kept the price of this powerful tool down to a minimum.  With Christmas around the corner, this would make a great gift for a wine collecting family member or friend!


Apple and Objective-C


I have had the opportunity to do a lot of MacOS X development lately using Xcode and the entire Apple Cocoa framework.  On the whole, I am impressed and have a great appreciation with what Apple has been able to achieve.  

Objective-C is an excellent extension to C striking a good balance between introducing OO programming concepts without loosing the simplicity of raw C.  I've many times criticized C++ for adding too much complexity to the task of programming to be useful in the embedded/real-time disciplines.  I won't go into a rant of C++ here but rather direct you to a paper by Felix von Leitner which summarizes many problems with C++.  And don't get me started on that cursed STL library!!

I'm still getting into the details of Objective-C so I won't say it has avoided all of the issues I see with C++.  Time will tell on that front.

A criticism I do have is not with Objective-C, but with how Apple's Cocoa frameworks are using it.  A new curse word for me is "late binding".  After banging my head against the debugging brick wall with some MacOS X programs, I can say that I absolutely hate the late binding Apple does with their GUI frameworks.  These things make testing near impossible.  Late binding adds a dynamic aspect to running Cocoa programs making them operate much like interpreted languages.  I cannot use interpreted languages for mission critical programming like network devices.  They are way to difficult to QA and qualify.  As such, I have concluded I can never use Cocoa frameworks in such projects.  Objective-C, yes, that I can use, but Cocoa frameworks, no way.

Message to Apple: introducing even more runtime dynamic behaviours like garbage collection and the new Grand Central Station are going to make program more and more difficult to QA.


iPhone 3G: Do I Get One?


The 3G iPhone is being released tomorrow.  I am struggling on whether I plan to get one or not.  The big problem for me: I am in Canada and Roger's is just not a good company to have to deal with and the CRTC (our regulatory agency) seems to like the monopoly which, in my opinion, it had a big hand in creating.

For me, this goes beyond a personal toy.  I signed Cadent up for the iPhone dev program and was accepted.  We are ready to go and have a couple of good ideas we want to develop.  I would like an iPhone for development purposes.  However, to get locked into a crappy Roger's 3 year contract just to have a development device does not make good business sense.  Over three years, such a contract will cost us over $3,000 when taxes come into play (our government is in on this gravy train).  As I'm watching iPhone users rush to the trough of free (as in beer), I cannot justify spending $3,000 along with development effort just to make no sales just because I am, gasp, actually expecting to get some sort of return on investment.

I've heard nothing from Apple about the availability of iPhones to developers for dev systems (hello, Apple, where are you?).  Perhaps we will hear something tomorrow.  Otherwise, I am finding it difficult to justify committing to developing for the iPhone under an oppressive Roger's contract.


WWDC Thoughts 2


Many bloggers have been commenting on one of the more subtle announcements at WWDC: Apple's adoption of SproutCore.  I had never heard of this technology before and decided to take a look.

As an embedded/real time programmer, the prospect of web-apps never really excited me.  I just did not consider web technologies mature enough to make web-apps a good replacement for native apps.  Java tried to make web-apps possible, but in my opinion, failed miserably (in a future posting I'll get into more detail of why I am so hard on Java).  Everything else I have tried left me feeling like I was dealing with a patchwork "Frankenstein" rather than a well-crafted native app.

Recently, two technologies have come to my attention which are attempting to make web-apps more native-like: Microsoft's Silverlight, and Adobe's AIR.  I took a look at these and found Silverlight to be confusing and not that useful to anyone but die-hard .NET programmers; it is not a platform-independent open standard.  I do not like closed standards.  Adobe's AIR feels clunky to me and way over-engineered.  There is no elegance or craftsmanship to what they pulled together bringing us back to the whole "Frankenstein" feel for an application.

When it was pointed out to me at the WWDC that SproutCore is in competition with Silverlight and Adobe's AIR, I got very interested.  What I found was a good evolution to accepted standard technologies done as an open source project.  So far, so good.  I was impressed with the new MobileMe apps which were demonstrated and someone said they were built with SproutCore.  Wow, now I am impressed.  These apps have a true native feel and deal with much of the ugliness of pass endeavors (i.e. Java).  My thinking on web-apps has changed thanks to SproutCore.

The 3G iPhone may have been the announcement getting all of the attention, but the technology which has the potential of changing the nature of apps, in my opinion, is SproutCore making it the most important of all the announcements.


Copyright © 1997-2008 Cadent Computing Inc.

All rights reserved