Skip to main content

Generic -vs- Specific Code

The bottom line for me is to provide something that others (we shall call them Users) find beneficial .  We take generic tools (languages, DB, logic) and hopefully turn it into a specific tool that solves some problem.

The basic software stack contains the most generic code on the bottom with subsequent higher layers getting more specific (through business logic and APIs) until the most specific code resides in the UI, that hopefully solves a specific problem.

The problem is that, as good little OOD engineers we just love re-use and generic all-purpose code.  We are always looking to making our logic, features and code as generic as possible because we just know that we may re-use it sometime in the future (yeah sure!).  Sometimes we try to push the generic code up through the layers and expose them in the UI, you know, because we love re-use and such.  It's in our nature.  Because we are sure the user will understand and love our code too.  We just have to convince them what a great feature it is and how it benefits them.

We add complex syntax, tools and options galore so they can do almost anything, except solve their problem out of the box.  Simple for the developer, lousy for the user.

We don't just do this to our users either, we do it to other developers too.  Ask for an API to do X and we may get an API back that does (a+b+c+z) so that we can get to X, because it's more generic, it's better.  The closer the code is to the end feature (UI, Service API, presentation, etc.) the more specific it should be.  At this top most level we should not be trying to write the next great tool or concept, but a solution for the user on the other side.

This is yet another area where you have to separate your desires from what your users need.  Your personal goals != User needs.


Comments

Popular posts from this blog

Still Life

 Life is never still, at least I don't think you would want it to be.  That's why so many of us (i.e., retired care free people) travel.  Keep seeing new things and places.   Well the Hurricane so far inland was a new thing and one I would have rather forgone but life is what happens.  Life keeps moving. Except a still life is forever and captures a slice of time frozen in a painting.  This is from a wooden bowl of pears onboard our ship during dinner one nice.  Again, just thought it looked nice. Enjoy.

A Trip Abroad

 Just back from our trip abroad as Asheville continues to recover from the hurricane.  This trip has been planned for a long time and we almost didn't make it because our dog sitting business will be closed for a while. But make it we did and now we are back. We love Amsterdam.  What a fun place to visit.  So many things to too and do there.  The weather was not the best but it did not have an impact on our visit.  Just bundle up. Got some quick painting in while on the boat (i.e., Viking) as we moved from port to port.  This painting is of a garden at a heritage site of windmills.  I thought it looked nice. Nice time on the trip to de-stress from what was happing back home.  We were fine back home but not everything is well with many others.

A Process

Once in a while I take photos of a work in progress.  This is for me as well as others as the work moves from stage to stage.  And it is done in stages with defined processes for each step.  On this walkway overpass up in Spruce Pine, I've done both an ink / marker and an Ink / Wash on the same piece. This is the finished watercolor of the work.  To start the process I did an ink drawing of it and then took a tracing from that.  It's the tracing where I did another ink drawing but this time on watercolor paper. Tracings of a work is done with standard tracing paper.  I get mine from CheapJoes.com and use the 8x10 size as that covers most of my needs.  The tracing is done with a 0.3 ink pen (Winsor & Newton Fineliner).  Once I have the tracing I can then use it for other paper or to do another work of the same subject. The tracing is just a start as I still need to get it transferred onto other paper.  For that you need a very bright light...