Wednesday, October 07, 2015

Acquia - Lock-in Risk?

Just received an email from the Real Story Group warning followers about the risk of being locked into Acquia's web hosting services.  Here's a link to their web page containing similar content:

Here's the text I'd like to discuss:
Today, Acquia offers hosted products for:
  • Search
  • Behavioral personalization
  • Multi-site management
  • CDN
  • And more on the way...
Note that unlike a standard Drupal module you could swap in or out, these products bind you to Acquia. There is no formal community around them, save your fellow customers.  With some exceptions you can only use them in conjunction with Acquia's own cloud service, based on its own distribution of Drupal.  In short, these products mimic offerings from a commercial software vendor.
Taking each one of these products individually:

Search - Acquia uses Apache Solr, a free, open-source product.  There's nothing keeping you from implementing Solr yourself.  No lock-in.

Behavioral personalization.  I believe Acquia provides this service separate from its hosting service.  So even if you moved your Drupal site to a new IaaS provider (or your own data center), you can continue using this service.  No lock-in.

Multi-site management.  This is a core Drupal capability.  If you take your Drupal implementation elsewhere, you can still implement multi-site management.  No lock-in.

CDN.  CDN services are incredibly easy to implement - and replace.  I see no lock-in here.

Maybe Acquia provides some service/services that actually do increase your risk of lock-in, but nothing on RSG's list seems to have any relevance here.

Tuesday, May 28, 2013

Drupal Overview for Tire Kickers

I frequently get asked by managers for my opinions about Drupal.  Rather than re-draft them every time I get a request, I'm posting some thoughts here.

Drupal strengths:
  • While there are a lot of Drupal developers, they are not cheap. Demand for their services is incredibly high.
  • If you host your own site(s), know that major version upgrades (which happen about every 2 years), are not trivial. You can get by skipping a version, leaving you with a 4-year upgrade cycle.  While this will cut your upgrade costs in half, you should still be prepared for a lot of work for the upgrades you do. Note that you shouldn't skip more than one version - The Drupal community only supports the current and previous versions.  If you have an older version, you're on your own.  It will be interesting to see what Drupal hosting companies do in terms of migrating customer sites to the next major version. If they handle it, that’s a significant benefit of those services.
  • If you host your own site(s), you cannot simply install Drupal and leave it alone. You need to employ (or contract) system administrators to manage your database (normally MySQL), your web server stack, PHP, and Drupal.  Each of these has periodic security fixes and version upgrades, and you shouldn't ignore them.
  • For any site of any complexity, you can't install Drupal and simply let authors "have at it".  You should do a professional site design (preferrably by designers with experience with Drupal sites), and then you will need Drupal developers to select pre-existing community modules and develop custom modules to meet your requirements.  You will then either need to keep developers on staff or retain a consultancy for the inevitable on-going enhancements you want to make to your site(s).

Saturday, March 19, 2011

Is Promotion the Elephant in the SEO Room?

I've listened to many SEO gurus' presentations on SEO over the years. There's always a lot of discussion about keywords, meta tags, url's, page titles, headings, javascript, etc. And usually the presenter mentions that Google puts more weight on the links to your pages (and the "quality" of the referring site) than on the factors you can control on your site. But after that short statement, they always quickly move on. Even Google only reserves two of 31 pages to this subject in its SEO Starter Guide (see pages 28 and 29).

So hold on - the most important factor always gets the least amount of air time? Why is that?

My guess is that the things you can control are many, they are somewhat technical, and so they make site owners feel they need the services of SEO gurus. At the same time, the "external factors" are few, easily understandable, and take a lot of time and effort to get right. And you can probably do a better job in this area than your consultants could anyway.

I'm not saying that keyword research, meta tagging, etc are not important - they are. But those are just table stakes. If you want to differentiate your site, you have to focus on the external factors, and spend the time and effort to get this area right.

So what is it you should be doing? Here is a list of possible activities:
  • Find the most influential (i.e., highest ranking) sites that publish about the same subjects as you do on your site. If you make widgets, find out who publishes the most influential reviews of widgets, who posts educational content about widgets, who the biggest users are of widgets, etc.
  • Review your content to ensure that it will be seen as having value to those influential sites.
  • Build relationships with the influential sites' publishers. Show them who you are. Convince them of your authority in your shared market.
  • Build out your online relationships with these publishers. In other words, you want them to understand that linking to content on your site will enhance their content. At the same time, if they have content that your site visitors would value, be sure to link to it.
  • Use your relationships to find out what content they - and their visitors - want. If it's something that you can provide, and that will build your reputation or make people interested in you, develop that content - and let the publishers know when you have done so.
In other words - you have to promote your site - with the right crowd. If you can build your reputation as a valuable resource, and get influential sites to link to your content, you can optimize your search results rankings much more than you could by solely focusing on your internal factors.

Here's a good article on this subject:

Sunday, May 02, 2010

How a Web Design Goes Straight to Hell

Lately I've received several requests for web site changes that don't make sense, either for our web site visitors or for us. The latest request reminded me of a comic I read a long time ago. It was a great comic, so I spent some time searching for it. I'm sure I'll want to reference it some day, so this post is to make sure I can easily find it again. And you may get a kick out of it.

Friday, March 26, 2010

converting text to numbers in Excel

I found a helpful trick in Microsoft's Excel help for converting text to numbers in a range of cells. Thought I'd pass it along.
  1. Enter any number in a cell.
  2. Copy it (Ctl-C).
  3. Select the range that you want converted to numbers.
  4. Select the menu options Edit, Paste Special.
  5. Select "multiply" on the pop-up form.
  6. The range you selected should now contain numbers, not text.
It's in Microsoft's help, but who looks there?

Monday, December 21, 2009

Drupal - Better way to translate blocks

There are custom blocks on a site I manage that contain simple English text. We just started a push to add Spanish to the site. So I researched how to make blocks multilingual. The documentation I found mentioned 2 ways to do this: 1) use Drupal's string translation to translate whole blocks into different languages, or 2) create separate blocks for each language and enable them only for the nodes in the associated language.

I wasn't happy with either of these options. I don't want my contributors creating and maintaining string translations, and neither do I want them editing blocks.

Meanwhile, content (node) translation in Drupal is elegantly implemented. To translate a node, you go to the node and create a translated version. The translated versions are then always tied to each other. With this my contributors can create English and Spanish content easily.

Happily, I found another - and I think better - way to do this with the "node as block" module. I don't think this module was developed with multilingual content management as a prime driver, and I don't see much discussion about this valuable use.

There are a couple of quirks you have to know about. One, by default the block only displays a subset of the content of your node, so you have to include the "<!--break-->" tag to make sure all preceding content is displayed (if you know a way around this, let me know!). Two, when you translate a node, you have to make sure to specify with the translation that you want a block created (even if you've done so with the original node). And yes, this means you'll end up with 2 blocks.

Even with these quirks, this is going to be a much better way for my contributors to edit content in multilingual blocks.

Note that there are several other seemingly similar modules that I haven't researched, including "nodes in block" and "node blocks". If you've found that these or other modules serve this purpose better, let me know!

Wednesday, November 11, 2009

Can this be called agile?

Background: corporate I.T. talks about wanting to become agile. It has already stopped using the traditional waterfall methodology (requirements, design, development, test, implementation...). High-level requirements are documented. Some development groups document use cases, others document screen shots, data flows...; often the developers simply meet with and email back and forth with customers to understand what's wanted. Most development groups next include the customer when they have questions, or when they are ready to show functionality to the customer. Note, though, the following:
  • I.T. follows a standard, hierarchical organizational structure. There is no use of self-organizing teams.
  • None of the development groups use pair programming.
  • Some groups have developers on the other side of the world. Of these groups, some may have daily scrums or stand-ups via teleconference - though it should be noted that customer representatives do not attend these daily meetings. It should also be noted that there is little overlap in working hours with the remote development staff.
  • None of the groups have their customers sitting near them during development.
  • No one has the title of "project manager" or "scrum master". Customer representatives act as project managers for some projects, and senior developers take on that role for other projects.
  • Some groups support single applications. Others support many applications. Of the ones that support single applications, some release enhancements on regular schedules (1 - 2 months).
  • There is talk about standardizing on using use cases or feature cards and working with customers to prioritize these.
  • Large projects (over 100 hours of work) have to go through an approval process, requiring specification of effort, risks, ROI, ...
  • Continuous integration, automated testing, and test driven development are NOT being used.
While I.T. has definitely moved far from old-line development methodologies, it seems to me there is a lot lacking with respect to abiding by the agile philosophy.

What do you think?