Skip to content
Chris Millar edited this page Jan 3, 2024 · 12 revisions

Project Dark Alley - One Page

Abstract

Project Dark Alley is a research project. Its goal is to be a first-class content provider to AEM Edge Delivery Services. It aims to provide a fully integrated and authenticated experience for common tasks that are hyper-specific to WCMS needs.

While Microsoft SharePoint and Google Drive solve many common repository needs (compliance, authentication, authorization, versioning, collaboration, etc.) they are also not tailor made for the needs of AEM Edge Delivery Customers. When pushed to their limits, these existing content repositories provide a feeling of, "square peg in a round hole." Companies of a certain size with certain acceptance criteria may find that bolting on WCMS-friendly tools can feel cumbersome.

Screenshot 2023-11-28 at 10 13 48 PM

Dark Alley is

  1. An API to store docs, sheets, and media at scale.
  2. A UI for humans to create content.
  3. A content provider for AEM Edge Delivery Services.

Dark Alley is not

  1. A WYYSIWYG editor
  2. A markdown editor
  3. A universal editor
  4. A SharePoint / Google Drive replacement.
  5. An AEM Assets replacement.
  6. Meant to host direct web traffic.

Dark Alley is inspired by

  1. AEM Edge Delivery Services - Serverless, Simple, Fast.
  2. Apache Sling - Where ever you POST, that's where your content will be. Wherever you GET, that's what you'll get.
  3. SharePoint & Word - The muscle memory of using Word is critical.

Dark Alley goals

  1. Provide a rich, performant, scalable, and stable API that eclipses what Microsoft Graph + SharePoint provides.
  2. Get feature parity with Word editing. Including muscle memory behaviors like keyboard shortcuts.
  3. Provide instant content previews.

Dark Alley principles

  1. No markdown. - Markdown is great for viewing and writing, but provides a poor developer experience when considering different flavors and the ubiquity of DOM APIs.
  2. Un-apologetically a document-based editor.
  3. The server should be as dumb as possible. The goal is to serve static (html) files with no manipulation.
  4. Build like it will last 20 years. Prototype like it won't last more than 20 days.
  5. If it doesn't work on mobile, it doesn't exist.

Dark Alley status

After much research, the Dark Alley POC is done. The next phase is to provide enough MVP features to entice a pilot customer there are enough benefits to make the switch.

  1. POC - Done
  2. Pilot - Not done
  3. Collect pilot feedback & iterate - Not done
  4. Security, privacy, etc. review. - Not done
  5. Customer #2. - Not done

Getting to the pilot

  1. Editor - still needs a tremendous amount of work
  2. IMS Authentication
  3. Browser - pivot to Web Components, support all common ops: move, delete, replace, etc.
  4. DAC / DAS - Better separation between the editor and the Worker

Research

  1. What type of content repository? Filesystem, Sling / AEM, MongoDB, Azure Blob Storage, S3 / R2.
  2. What editor? CKEditor, WYSIWYGHTML, TinyMCE, ProseMirror. - A relatively sane API with a lot of prior art, examples, plugins, collaborative features, comments, etc. You just have to build it all. Maybe most importantly is the UX is 100% customizable to provide an experience Adobe customers are used to.

FAQ

What started this?

"Never build your house on someone else's land."

"Think of Word + AEM like Dreamweaver." - Making a single change across thousands of documents will require a lot of work. No (easy + fast + common) automations exist.

"For not needing to train people on Word, we sure do a lot of training." - The complexity of authoring is in the project knowledge, not the UI of the editor. Often there is training to say what buttons in Word can or cannot impact a page.

"Funny how applying rate limits to the wrong people can spur innovation." - Frustrations with MS Graph API + un-fixable SharePoint versioning limits + not enough innovation in Word for common tasks (linking images).

"What happens first? Word and SharePoint become suitable for our needs or we build our needs."

Why the name Dark Alley?

  1. Anyone who is crazy enough to attempt this should realize this is a very dark alley to go down. For every pain point you may solve, you will create several others... "You can now link images, but versioning doesn't exist at all."
  2. "We go down dark alleys to see if there is light at the end of them."
Clone this wiki locally