Jump to navigation

Matthew Kuhrt

Web Services

Error message

  • Deprecated function: TYPO3\PharStreamWrapper\Manager::initialize(): Implicitly marking parameter $resolver as nullable is deprecated, the explicit nullable type must be used instead in include_once() (line 19 of includes/file.phar.inc).
  • Deprecated function: TYPO3\PharStreamWrapper\Manager::initialize(): Implicitly marking parameter $collection as nullable is deprecated, the explicit nullable type must be used instead in include_once() (line 19 of includes/file.phar.inc).
  • Deprecated function: TYPO3\PharStreamWrapper\Manager::__construct(): Implicitly marking parameter $resolver as nullable is deprecated, the explicit nullable type must be used instead in include_once() (line 19 of includes/file.phar.inc).
  • Deprecated function: TYPO3\PharStreamWrapper\Manager::__construct(): Implicitly marking parameter $collection as nullable is deprecated, the explicit nullable type must be used instead in include_once() (line 19 of includes/file.phar.inc).
  • Deprecated function: UpdateQuery::expression(): Implicitly marking parameter $arguments as nullable is deprecated, the explicit nullable type must be used instead in require_once() (line 1884 of includes/database/database.inc).
  • Deprecated function: MergeQuery::expression(): Implicitly marking parameter $arguments as nullable is deprecated, the explicit nullable type must be used instead in require_once() (line 1884 of includes/database/database.inc).
  • Deprecated function: SelectQueryInterface::getArguments(): Implicitly marking parameter $queryPlaceholder as nullable is deprecated, the explicit nullable type must be used instead in require_once() (line 1884 of includes/database/database.inc).
  • Deprecated function: SelectQueryInterface::preExecute(): Implicitly marking parameter $query as nullable is deprecated, the explicit nullable type must be used instead in require_once() (line 1884 of includes/database/database.inc).
  • Deprecated function: SelectQueryExtender::getArguments(): Implicitly marking parameter $queryPlaceholder as nullable is deprecated, the explicit nullable type must be used instead in require_once() (line 1884 of includes/database/database.inc).
  • Deprecated function: SelectQueryExtender::preExecute(): Implicitly marking parameter $query as nullable is deprecated, the explicit nullable type must be used instead in require_once() (line 1884 of includes/database/database.inc).
  • Deprecated function: SelectQuery::getArguments(): Implicitly marking parameter $queryPlaceholder as nullable is deprecated, the explicit nullable type must be used instead in require_once() (line 1884 of includes/database/database.inc).
  • Deprecated function: SelectQuery::preExecute(): Implicitly marking parameter $query as nullable is deprecated, the explicit nullable type must be used instead in require_once() (line 1884 of includes/database/database.inc).
  • Deprecated function: session_set_save_handler(): Providing individual callbacks instead of an object implementing SessionHandlerInterface is deprecated in drupal_session_initialize() (line 245 of includes/session.inc).
  • Deprecated function: DrupalEntityControllerInterface::resetCache(): Implicitly marking parameter $ids as nullable is deprecated, the explicit nullable type must be used instead in include_once() (line 3575 of includes/bootstrap.inc).
  • Deprecated function: DrupalDefaultEntityController::resetCache(): Implicitly marking parameter $ids as nullable is deprecated, the explicit nullable type must be used instead in include_once() (line 3575 of includes/bootstrap.inc).
  • Deprecated function: Decorator::__construct(): Optional parameter $decorators_applied declared before required parameter $app is implicitly treated as a required parameter in include_once() (line 3575 of includes/bootstrap.inc).
  • Deprecated function: Decorator::__construct(): Optional parameter $relations declared before required parameter $app is implicitly treated as a required parameter in include_once() (line 3575 of includes/bootstrap.inc).

Many organizations treat a web site as a static object, which leads them to treat web development as a capital project. Buying a web site based on its look and feel is like buying a car based on its color and styling. Your web site serves as a dynamic set of marketing collateral, and a powerful communication channel between you and your customers and clients. In theory, you can adapt your online materials much more quickly than your print materials. In practice, many organizations wind up paying huge sums for sites that look great but don't quite fit with their evolving communication needs. Others settle for an inexpensive platform that, while easy to use, limits their options for expansion or complexity. In either case, they eventually wind up back at square one where a new design company pitches them the moon and the stars with prices to match.

You need a web site that grows with you and adapts to your needs, even if you don't know all your needs just yet. I treat site design as an ongoing process, whether we start from scratch on a brand new site or refocus an existing site to make it better fit your needs and workflow. You don't have to do everything all at once—in fact, it's often easier if you move incrementally so that you can capture and use new ideas you may have along the way. But there's no reason not to get started.

  • Editorial Services
  • Web Sites
  • Transcripts
  • Business Services
  • Blog

Web Services

Example Projects

  • Site design
  • Site redesigns
  • Content management
  • Site appraisals and recommendations
  • Hosting and domain assistance
  • Social media integration
About Matt