i met chris chris

So Much Mandated Technology

"So much mandated technology…they [generally large companies] just take the [provider] with the most steaks and the most strippers; typically from companies who have expense accounts and sales people who can sell them very expensive application servers over six months." http://twit.tv/floss79

Drupal - Features Module - Moving a CCK (Content Type) From One Feature to Another

3086495495_ab338eecc4.jpg Recently ran into an interesting problem - I wanted to move a content type (cck) that I had created from one feature to another (specifically to move it into a spaces enabled feature to gain some of those benefits - thanks devseed!); however, as you might be aware (if you are stumbling across this) features is pretty smart - often *too* smart. When removing the content type from one feature it will effectively remove the content type from your drupal install; whilst if you add the content type to another feature in parallel features will ingeniously mark the other feature you have as a dependency. What we are going to exploit: drupal features caches with a version control system (VCS - I prefer git) and drush:

vernacular:
* laterBranchOrTag - the later time we are trying to get to in our source
* earlierBranchOrTag - the time when our feature we are coming *from* was correct
* featureNameOld = old feature (to delete from)
* featureNameNew = new feature (to be added to)

What we have done - we have basically loaded many of drupal’s caches (note: some items like variables, with strongarm, do not use the db for cacheing - this is a different animal) with the feature and CCK defs and then switched the code base beneath it. When the features-update occurs the items that are cached are written out into features code, but in the featureNameNew namespace.

simple enough?

What Apps Really Are - Services

This weekend I was hypothesizing how three apps I think are very cool operate, specifically: Google Voice search, Shazam, Square. What shocked me about all of them was how available they were across platforms - particularly mobile. Then I came to quickly realize the only investment in development for each platform was front-end work; the piece they all had in common was the backend. Now, some might be familiar with some patterns that make this possible like MVC; but what really surprises me is how unbelievably seamless these apps work in the face of having to support different platforms. This leads me to a more philosophical question about touting an "app for that…" - really what we are seeing is that behind many of the good apps there is a terrific service that is capable of being abstracted from that devices interface.

What apps really are - services

Caveat Emptor: Its probably very short sighted to assume that this is a one sided conclusion, but I think there are some great reasons to follow this pattern; there are many great reasons to have a fantastic UI, but when thinking about reaching the maximum audience it is comforting to know that following this pattern can help development remain agile in the face of new device releases (see: iPad).