On this page.... RSS 2.0 | Atom 1.0 | CDF |
 Friday, August 08, 2008

I'm heading out to San Francisco Monday to get my UX on at UX Week 2008! It's my first time both in the city and at that conference. Looking forward to meeting new folks and talking about making great software experiences. If you're in the area or at the conference, send me an email (ambrogio[at]gmail) or ping me on crowdvine. I'd be glad to get together to talk about UX, software, architecture, whatever!

8/8/2008 10:36:18 PM (Eastern Daylight Time, UTC-04:00)  #    Disclaimer  |  Comments [0]  | 
 Tuesday, July 29, 2008

Wrox has started a new thing as of late they're calling Wrox First.  It's essentially a wiki of the book that I and my fellow Silverlight 2 authors are working on--Silverlight 2 Programmer's Reference.  Not only do you get early access, you can also shape how the book develops by making comments and suggestions.  My understanding is that it's just $19.99 and will get you access to drafts, revisions, and the final chapters as they are in the book for up to a year after publishing. 

Seems like an interesting option for those who want the book and sample code now rather than waiting until later this year when it is published.  Let me know what you think!

7/29/2008 2:35:41 PM (Eastern Daylight Time, UTC-04:00)  #    Disclaimer  |  Comments [0]  | 
 Wednesday, July 02, 2008

Phwew!  I just moved yesterday (actually all weekend and yesterday and still more unpacking to go now!).  Man, all that moving is starting to wear, but we're very happy in the new place.  A lot more space to make room for number four! :)

On to the point.  Josh Smith has extended his Podder skinning competition.  For those who don't know, Podder is this nifty WPF-based podcasting client/player.  He designed it so that you can completely change the look and feel using skins.  I suggested a better term would be skeletoning, since you can change the structure in addition to the styling, but so far that hasn't caught on.  Be sure to tell him you think that's a better term!

7/2/2008 9:39:04 AM (Eastern Daylight Time, UTC-04:00)  #    Disclaimer  |  Comments [0]  | 
 Friday, June 20, 2008

I'm not sure why this didn't occur to me before...  I read recently another brief article about the negative impact of email on productivity the other day, so I was thinking about a way to deal with it that didn't involve, e.g., closing Outlook and maybe even setting an "I'm not available by email until 3p today" out of office type message--seems a bit extreme, and it would also preclude my getting meeting reminders. 

It occurred to me that what usually happens is I get the nifty little toaster popup notification while doing something, almost always click on it for more detail, and then get drawn into a distraction over it.  Similarly, I was using one of those Gmail Vista gadgets that would highlight when I had Gmail waiting, or I'd leave it open and minimized and see the Inbox count in the taskbar.  The problem was not (for me) so much getting too much email as having the regular interruptions that were occasioned by these terribly useful notification mechanisms. 

Having isolated the problem, i.e., having framed the question correctly (which usually the most important part of solving a problem), I asked "How can I make these notifications go away?"  And the answer was immediately apparent: turn them off. :)

To that end, I went into Outlook advanced email options (Tools -> Options -> Email Options -> Advanced Email Options--who knew notifications were advanced?!) and deselect all the notification options:

Advanced E-mail Options Dialog

I then removed the Gmail notifier gadget, and I close my Gmail when done with it.  The magic is that I still get my task and meeting reminders, but I don't get the regular interruptive notifications.  This had an immediate noticeable effect--I could work through to a good stopping point on the thing I was working on, i.e., a point I'd normally take a break, and then I'd check my email.  Wow!  Who knew something so simple could make such a difference?  I figure if it is critical, somebody will call or come knocking on my door. :)

As a complimentary technique to that, I have taken my Inbox strategy to the next level, following a bit of advice given by Mark Hurst (who wrote a book on Bit Literacy [that I haven't read]).  One of his suggestions to avoid information overload is to keep your Inbox empty.  I previously already worked to do that because I used my Inbox like a to-do list (and don't like having a long to-do list), but Mark's advice is precisely not to do that--use it as an Inbox and get stuff out of it immediately. 

Having not read the book (in which I'm sure are tons of helpful little tidbits), I take that to mean act on it immediately if possible, file it if need be, or set up a task to do something with it later.  I was already doing the first two, but I've found this additional third technique to be a nice add.  There is a distinct satisfaction (for me anyway) to having an empty inbox--maybe it's my personality type. :)

I hope this maybe helps others out there in the same boat.

6/20/2008 5:28:31 PM (Eastern Daylight Time, UTC-04:00)  #    Disclaimer  |  Comments [0]  | 
 Thursday, June 12, 2008

Thanks to Mark Hurst over at Good Experience for blogging this one.  I thoroughly enjoyed it.  My favorite: "Procrastination is playing imaginary computer games with your furniture."  I laughed out loud in public..

Now I'm going to try my first embed; let me know if there are problems.

6/12/2008 9:38:08 AM (Eastern Daylight Time, UTC-04:00)  #    Disclaimer  |  Comments [0]  | 
 Thursday, May 15, 2008

I haven't done any research, so maybe it is out there.  But I had a thought the other day as I accepted yet another invite to connect from yet another social networking site from someone I have connected with numerous times. 

Wouldn't it be great if I could have one, unified set of social contacts, my social network, that I could then just share out to various social networking sites?  I mean, sure, folks would have to opt into it, someone would have to think about the privacy issues, but good grief, it seems like we need something like that...

5/15/2008 1:02:49 PM (Eastern Daylight Time, UTC-04:00)  #    Disclaimer  |  Comments [1]  | 
 Wednesday, April 23, 2008

Just reading the first article in the latest edition of Microsoft's The Architecture Journal.  It's called "We Don't Need No Architects" by Joseph Hofstader.  I thought, oh good, someone voicing a dissident opinion, but the article is rather a rebuttal to that claim.  I figure maybe a response to the response is in order. :)

Mr. Hofstader suggests that architects think in terms of bubbles and devs think in terms of code and, by extension, only see part of the picture.  He describes various "architectural" activities such as analyzing the problem domain, choosing and applying appropriate technologies to solve problems, and the use of patterns.

Is it just me, or is this a sort of dumbing down of the developer role in order to support a, potentially unnecessary, distinction between it and "the architect"?  I mean, a smart developer needs to do all of these things, too.  They're not just code monkeys.

In fact, in introducing such a division in responsibilities, we would actually seemingly perpetuate a long-standing problem in software development--a disjuncture between the problem and solution space because we keep trying to insert these business translators (call them technical business analysts, software architects, whatever you want) into our methodology. 

What's wrong with this?  First, it puts the burden for understanding the business onto one (or a few) persons, but more importantly, it limits that mind share to those individuals.  That is never a good thing, but it is especially bad for software.  In so doing, it also puts a burden on those individuals to correctly interpret and translate (a considerable challenge) and finally to sufficiently communicate a design to developers--enter large specification documents, heavier process, and more overhead.

On the other hand, domain-driven design, for instance, is all about instilling domain knowledge into the solution and coming to a common alignment between the business and the solution creators.  It's axiomatic in business that you need a shared vision to be successful, and this approach to software creation is all about that.  Shared vision, mutual cooperation, and a shared language. 

It eliminates the need for a translator because both learn to speak the same domain language.  It eliminates the knowledge bottlenecks (or at least really reduces them), and it increases shared knowledge.  And DDD is not burdened with the distinction between an architect and a developer.  Agile methodologies in general are geared towards reducing barriers and overhead in the creation of software (and that's why they're generally more successful, and they can scale).

I hope that all the brilliant and more-well-known/respected folks will forgive me; this is not intended as a slight, but I have to ask--are we creating the "architecture" profession unconsciously just to create a more defined career path (i.e., a way for us techies to move up the ranks)?  Are we just going with the flow from an old but broken analogy?  Are we introducing roles that really would be better served through other, non-architecty roles?

To this last point, I see some folks suggesting "infrastructure" and "business" and "software" and "whatehaveyou" architects.  Why are we so keen on the term "architect"?  I'll grant, it does sound really fancy, but it is so, so painfully clear that it is ambiguous and overloaded (and inaccurate, if you ask me) .  Maybe these other roles do need to exist in some organizations, but it seems like we're just bent on calling them "architect" for no apparent good reason other than we've latched onto it as a respectable (and well-paid) moniker. 

In choosing to proliferate the "architect" terminology, we're perpetuating and extending the confusion around it.  We're purporting to solve the problem of it being ill-defined, but in reality we're doing the opposite.  And everyone (IASA, Open Group, Microsoft, to name some just in the latest issue of the Journal) is trying to do it all at once with little coordination. 

It seems borderline insane. 

Or maybe I'm the crazy one?

there is no spoon

4/23/2008 3:15:42 PM (Eastern Daylight Time, UTC-04:00)  #    Disclaimer  |  Comments [2]  | 
 Sunday, April 20, 2008

I was just reading the sermon Pope Benedict gave today in the Bronx.  The following struck a cord:

The Gospel teaches us that true freedom, the freedom of the children of God, is found only in the self-surrender which is part of the mystery of love. Only by losing ourselves, the Lord tells us, do we truly find ourselves (cf. Lk 17:33). True freedom blossoms when we turn away from the burden of sin, which clouds our perceptions and weakens our resolve, and find the source of our ultimate happiness in him who is infinite love, infinite freedom, infinite life. "In his will is our peace."

Real freedom, then, is God’s gracious gift, the fruit of conversion to his truth, the truth which makes us free (cf. Jn 8:32). And this freedom in truth brings in its wake a new and liberating way of seeing reality. When we put on "the mind of Christ" (cf. Phil 2:5), new horizons open before us!

I've thought about this seeming paradox on a few occasions--that real, radical freedom is found in truth and living in conformity to that truth. 

Loss of Freedom?
There's a common perception that morals, ethics, and religion in general limit our freedom--that we're sacrificing freedom for some greater good.  But we're not actually sacrificing freedom--we're still free to choose to think and act otherwise, however, we are using our freedom, choosing to live in accord with what we believe to be true.  It's a different way to think about it, one that puts it in the right perspective.  I think it is put in a negative perspective so often because we focus on the things we're not supposed to think or do instead of on what we are freely choosing--positively--to think and do.

The funny thing that I've found is that in choosing to align my beliefs and actions with Catholic doctrine, I feel far more at peace and far freer.  I think it is because if we're constantly struggling with the basic (but important!) questions of life, such as our origins, the existence of God and our relationship to the Divine, as well as our right relations with others, we never get off the ground, so to speak--we're always stuck in an infinite loop, wondering and (maybe) worrying, if we are conscientious. 

But if we settle all that, we're free to move on and explore new horizons.  Not only that, I think we are better equipped to explore those new horizons, because we are aligned with truth, with reality.

Mental & Conceptual Models
This reminds me of the idea in psychology of mental models and conceptual models.  My understanding, based on Donald Norman's The Design of Everyday Things (a.k.a., The Psychology of Everyday Things), is essentially that there is a conceptual model that designers create and use when they design and build things.  This is the actual and correct model.  Then there are mental models that users of the design form and use when perceiving and interacting with the design.

The trick in design is to sufficiently express the conceptual model (through a variety of design mechanisms like affordances, feedback, "knowledge in the world," etc.) so that users will form the correct mental model--one that closely aligns with the design's conceptual model.  The reason this is important is that it empowers the users to use the design effectively and not spend undue time and energy trying to figure it out, dealing with frustrations and inefficiencies that come from having a wrong mental model.  You could say that having the right mental model makes the users more peaceful and more free to explore other things because they don't have the frustrations and aren't wasting unnecessary time on it.

Applied Mental Models for Freedom and Happiness
Now map that to how we think and act as human beings.  Imagine that there is a correct conceptual model that specifies how best we human beings can think, act, and relate to others.  This model can be discovered through a variety of the Designer's mechanisms such as nature (e.g., affordances in biology), reason, experimentation (use & feedback both personal, scientific, and historical/anecdotal), and even revelation (documentation, as it were).  Now if we form the correct mental model, one that most closely aligns with the human conceptual model, it follows that we'll be more at peace (less frustrated), more efficient, more effective, and freer to explore other things.  In short, having the right mental model would give us the most radical freedom and happiness.

Wouldn't we be crazy not to use the human design in accordance with the right mental model, once we figure it out?  I think so.  For instance, once we figure out that our door key is inserted into the key slot in a particular way that gets us through the door in the least amount of time, we'd be silly--bordering on insane--to keep trying to use the key in ways that don't match that mental model.  We'd be wasting time, getting frustrated, and getting stuck outside!

No, once we discover the right mental model, the only sane thing to do is to keep using it unless someone comes along and demonstrates a model that seems to work better.  Doing this--adhering to this mental model--is not "blind faith," as many liken the faith of Christians (and others) to be.  On the contrary, adhering to a mental model that seems right  to you is pure sanity, absolute reason; doing anything else would be idiocy of the first degree.

Sharing Your Mental Model - The Right Thing to Do
It also follows that if you see someone standing outside a door, fumbling with a key, unable to figure out how to use it, that what else could you do but walk over, show, and explain the right mental model--the one that you've found is the most effective and least frustrating?  Would it be kind of you to just say "well, whatever that person believes is fine for them" and just leave them stuck and frustrated?  (I'd suggest not.)

So it is with those who share their faith, their mental model about life, the universe, and everything.  They think they've found the right mental model, the one that is most aligned with the ultimate human conceptual model, the one that if applied will provide the most peace, satisfaction, and happiness.  It is an act of kindness, an act of caring, indeed an act of love, to take the trouble to share such a mental model with others.  Correspondingly, it would be an act of meanness, selfishness, even perhaps of hatred, to not share it and try to help others to understand and use it.

So to those who think having faith is ignorant, blind adherence and loss of freedom, I'd suggest they reconsider.  Using the analogy illumined here, it seems clear that such faith is actually the opposite--it is wide-eyed, reasoned, experiential, and ultimately more radically free and more likely to provide lasting happiness (which is a goal I think any sane human being can agree upon, no?). 

Similarly, perhaps the most popular philosophical adage of our age--"what you believe is okay for you and what I believe is okay for me"--is not in actuality the most humane, reasoned, or livable approach.  On the contrary, it seems far more humane--even positively caring--to try to show each other why we think we have the right mental model.  It's something to consider, anyways.

4/20/2008 6:24:28 PM (Eastern Daylight Time, UTC-04:00)  #    Disclaimer  |  Comments [0]  | 
dotNetTemplar Icon by Aylar Studios

Disclaimer
The opinions expressed herein are solely my own personal opinions, founded or unfounded, rational or not, and you can quote me on that.

Thanks to the good folks at dasBlog!

Copyright © 2008 J. Ambrose Little