Dylan's profileDylan PhillipsPhotosBlogLists Tools Help

Dylan Phillips

Occupation
Location
Interests
Bohemian Techie in Love with Life
Links  
Photo 1 of 1
June 28

Amazing Nature

 

My family has always loved the outdoors, and especially the awe inspiring parts of the out doors.

On Friday, Andrea and I witnessed an amazing event.  The cell phone video, does not have the best resolution, but I was able to track down these pictures from the internet.  In the second picture, you’ll see a McDonalds across the street from the Yellow ‘PET’ Superstore sign.  Andrea and I were across the street from the McDonalds.

 WaterSpout1

 

WaterSpout2

February 27

Borderific

Like all SilverLight newbies, one of my first projects was an image carousel.

Step 1:  Make the images rotate.

Step 2:  Add some rounded corners to my images, via RectangleGeometry.RadiusX{Y} and Image.Clip

Step 3:  Let's add a shiny border...my brain totally page faults at this point.

In XAML it's pretty straight forward:

<Border BorderThickness="5" CornerRadius="10" BorderBrush="Black">
  <Image x:Name="doSomeCoolness"/>
</Border>

But, I'm a programmer damn it and I like to build all my stuff dynamically in code.

image

At first, I thought adding a border would be as simple as:

image

Notice there is no Image.Border property.  A careful look at the XAML will reveal the error of my ways.  The Border is not a Property of the Framework Object, the Border is the container of the Framework Object.  I was hoping Border would work something like an inverse .Clip.

My work around, and yes it sucks, was to treat Border as the Container object in all my calls, including the .Tick event which repositioned the Carousel in the ellipse.

image

Being an Ex-Microsoft, I know this is a hack, and I have a sticky feeling that I need to be thinking of my object as a Control Template.  But, I'm still a SilverLight newbie and this is about learning, and understanding through exploration.  I guess my next Blog Entry will be about Control Templates

 

Follow Ups:

@ryantherobot - Totally get the decorator bit, but I don't see it as appropriate for containment.  It would be like Margin also being a parent of the Framework Object.  To me at least, but thanks for the Tweet Back.

February 25

Catching up on 45 Days of Busy

BLUF (Bottom Line Up Front)

I've been crazy busy for the last 45 days.  While I'm still committed to "living la vida start up", the market has me a bit freaked out; so I'm upping my steady contract work to accumulate some "just in case" capital.  With luck, six months from now, I'll be back to at least 50% of my time experimenting with technology.

Does that mean, I've turned into Al Bundy.  Hell no, I'm still me, and I still LOVE TECHNOLOGY.

Since I don't have a ton of time, here are the cool things that have captured my attention and imagination.

The Heterogenic Future and SilverLight

In my January 7th Post, I honestly felt that Flash was the future.  I picked up some ActionScript books at the library, and cracked open CSS3.  For all you programmers out there, take my advice and stop there.  Holy crap, Flash is a nightmare.  It just doesn't feel like a development environment.  I love the pervasiveness of their plug-in, but ActionScript is exactly that; a Script Language.  I know I'm old school, but I just don't get the Script Languages. 

So with my Adobe foray cut strikingly short, I felt pretty bummed for a few weeks.  Then I had some free time about two weeks ago, and I needed to do some animation work for the Jax EBikes catalogue.  I decided to crack open SilverLight.  I had my animation going in like 4 hours, and after about 3 days, I felt really at home in the environment.

SilverLight runs on Mac(s) and Windows Boxes, and it is the backend of NetFlicks' Streaming Video.  Thus, I think it's a safe bet that it can at least be a player over the medium and long term.  In the near term, I don't have a ton of use for SilverLight RIA(s), because the plug in is not ubiquitous, but I can definitely see it reaching critical mass.  That will be an awesome time for the Internet, because RIA(s) are fun as hell to write.

Jax EBikes

So I must be mental, but I just don't want to close Jax EBikes.  They are too much fun, and I want people to be able to see how they can be used to change our conceptions of transportation.  Sales suck.  Gas is cheap.  People are worried.  And its been a cold Winter.  It's not my bread and butter, the only thing is that it's having a negative impact on my relationship with Andrea.  NoTimeOff == StressAtHome.  Gotta figure out what to do.  I thought good Karma was supposed to make things easier, not harder.

January 07

Welcome to the heterogenic future

I have been fascinated by UX (user experience), since I left Microsoft.  When I joined in 2004, the world was HTML Tables on IE Browsers.  The world has truly changed.  The UI metaphor has become rich and beautiful, but the homogenous nature of the platform has deteriorated into islands of implementation.

From an economic (and social justice) perspective, I applaud diversity.  But the complexity of developing in a multiplatform world, will ironically devolve the richness of the user experience.  How can this be?

Appropriate parallels can be found History.  Civilization advances as specialized production becomes commodified freeing up the resources required for new specializations to develop.  This commodification is a function of standardization.  Standardization then leads to mechanization which dramatically reduces the resources required to produce a good or service.  Yet the opposite is also true.

My professional career has been encompassed by a Pax Romana, dominated by Microsoft homogeny.  As an independent business owner, looking to invest resources in new Rich Internet Applications.  I am truly challenges by the disintegration occurring in the marketplace.

I had hoped to develop rich applications that spanned Mobile, Desktop, XBox and Server environments seamlessly; leveraging the .NET CLR VM, and providing those services at a commoditized price point.  Instead, I am confronted with islands of devices whose integration and independent evolution becomes prohibitively expensive.

I always found it ironic how Microsoft was vilified in its relentless pursuit of standardization.  Few realized that standardization enabled richer dreams to be realized.  I wonder, if we will look back 5 years from now and say, "that was the golden age of technology."

 

References:

Browser diversification in 2008

image

OS diversification in 2008

image

Plug In Deployment

image

December 31

Widget Programmer finally gets CSS / HTML

I've learned a ton of CSS in the last two days, by reviewing 7 Chapters of CSS the Definitive Guide 3rd Edition. I certainly feel more comfortable with the idea of CSS Layout. And I begin to see the elegance of the architecture. The 'sticky' part for me, is that CSS has no concept of an object that combines both text and graphic metaphors, outside the basic HTML controls.

For example, I cannot easily define this widget, in a reusable manner.

clip_image001

My brain describes this widget as a set of elements that are encapsulated in an container, but can be manipulated independently

image

A web based user agent can describe the button in two ways:

 

A Single Image

clip_image001[1]

Pro: Simple to assemble and position on the page.

Con: Image and Text cannot be easily replaced, providing for reusability

Con: Global changes cannot be impacted by a simple modification to a style sheet. For example if the button background no longer fit with the theme of the site, all buttons would need to be replaced.

 

A grouping of independent elements that are 'rendered' by the user agent to appear as a button.

clip_image002

Con: There is no explicit definition of the container.

Con: Because there is no container, the 'container' is not reusable.

Con: Images, as border agents, restrict container's ability to be resized.

Pro: If correctly defined, global changes could be applied via modification to the style sheet.

Eureka

In fact, this second description is the way I need to think about all HTML/CSS layout. Three dimensional layering. The <div> and CSS definition provide the wireframe, skeleton, etc. of how the information will be displayed on the screen. A set of images are used to decorate the wireframe layout. Finally, images and text are used to convey the linguistic and visual metaphors for action and information.

When viewed from the Y-Axis Apex, the layers form a single structure. Yet, when viewed askew, there is no containment.

For someone who has been programming in OO for 15 years, the lack of visual containment is very difficult to wrap my mind around.  But by 'layering' the implementation, I get back containment through the use of <div>(s).  I just need to let go of visual containment.

Now that I think of it, this is probably why we programming types are clutching desperately to tables.  <td> gives me containment. 

I cannot wait for Silverlight / Flash ... somebody to rebuild the metaphor.  But until then, at least I get it.  When viewed from this skewed perspective the architecture is quiet beautiful.  As an engineer it makes me cringe, but as someone who loves art, I find it lovely.

December 04

Living La Vita Startup

It's been 10 1/2 months since I left Microsoft.

The first part of this time was a period of well spent self discovery.  Connecting with the Graphic Design and Web Development community in Jacksonville, helped me ground myself to the local area.  The wonderful trip out West, reminded me how to dream.  And the countless days enjoying the beauty of Riverside, brought me a sense of peace and place.

The next part of my journey was the creation of Jax EBikes.  I've learned so much about business in these last 6 months.  The store is beautiful and my neighbors are a community of entrepreneurs, that inspire me everyday.

But it's time to return to my roots, and get back to developing the kind of cutting edge applications I've dreamed about.  I had hoped that I'd be able to leverage the local .NET Developers Community.  But the Users' Group seems more focused on Enterprise Applications.  While the Enterprise can be a rich and wonderful space, it's complexity is more about maintenance and structure than the kind of creativity and beauty that inspires me.

So over the next few months, I'm hoping to build the 'Creative Coop' part of the space.  I hope to foster the kind of 'StartUp' energy we all felt in the 90(s), by funding a space for people to come and build on their ideas.  I'm hoping to connect back with some of my Microsoft friends to explore what we can create with Microsoft Expressions, WPF and Silverlight. 

We'll see, no matter what the outcome, it should be a wonderful experience.

October 13

Jax EBikes and the Creative Coop

The last three months have been amazing, and very busy!

The Creative Coop and Jax EBikes is finally done!  We've been open for 3 weeks, and I feel very satisfied with what we've created.

Before After   

The Jax EBikes events of this Saturday's Night Ride marked the end of a grueling 3 month effort.  But we are finally done.  

Stores Open.  Warehouse has plenty of inventory, and we already have happy customers!

Happy Customers

I'm still deeply involved in Software, but my faith led me to making a difference in global warming and socioeconomic equality.

I've learned so much over these 90 days.

  • I've learned how lucky I am to have married an amazing talented wife!  Thank you Andrea for making our shop look beautiful!  If I spent a lifetime, I'd never be able to describe how much I love you.  I hope my actions do my heart justice.
  • I've learned the importance of friends and the importance of letting other people drive.  Thanks Matt for our awesome motto and your tireless work with BikeJax.  Thanks Joe for your cheerful company.  Thanks Jon for the beer ;)  Thanks Philip for teaching me about how to integrate other peoples dreams into my own.
  • I've learned how helping just one disabled customer realize a new found freedom can be rewarding in ways I could never have imagined.
  • I've learned that I come from a rare and amazing family.  Thanks Dad for showing up, unannounced, at the boat show with a four pack of energy drinks and a six pack of Red Stripe.  Someday, I hope to be half the man I see when I look at you.
  • I've learned that we all care about the environment, about our community, about our city.  I'm so proud to be here, and I hope my energies make this city a better place for all.

Now that I've nurtured this dream.  I can get back to my passion for Software:  Serialized Principles, Microsoft Expression (Silverlight/WPF) and Agile Programming (speaking of a lot to learn)...hope you missed me.

Best to all.  And now that things have settled you should see me blog a bit more often.

 
My wife is an AIGA Graphic Designer, and I'm a tool that doesn't know Navy Blue from Royal Blue. So here are the links that help me, make my way in the world.
Links to Cool SilverLight Stuff. Wanna add something, drop me a line. Let the SilverLight Love Shine.
Links to Stuff I'm Interested In