Permalink
Browse files

Add edit article feature

  • Loading branch information...
adamdawkins committed Jan 21, 2019
1 parent 56c2ba2 commit 5eea3d391522b01f2ecd1658f8649002370665ae
@@ -1,4 +1,5 @@
class Adam::ArticlesController < AdamController
before_action :set_article, only: [:show, :publish, :edit, :update]
def index
@articles = Article.all
end
@@ -7,6 +8,14 @@ def new
@article = Article.new
end

def edit
end

def update
@article.update(article_params)
redirect_to adam_article_path(@article), notice: "Article updated successfully"
end

def create
@article = Article.new(article_params)

@@ -18,12 +27,7 @@ def create
end
end

def show
set_article
end

def publish
set_article
if @article.publish!
redirect_to long_post_path(@article.params), notice: "Article published successfully"
end
@@ -36,6 +40,6 @@ def set_article
end

def article_params
params.require(:article).permit(:title, :content)
params.require(:article).permit(:title, :content, :published_at)
end
end
@@ -0,0 +1,18 @@
<%= form_for @article, url: adam_article_path(@article), method: :put do |f| %>
<%= f.text_field :title, autofocus: true, placeholder: "Title" %>
<%= f.text_area :content, class:"textarea--article" %>
<div>
<% if @article.published? %>
<%= f.datetime_field :published_at %>
<% else %>
<%= label_tag :publish do %>
<%= check_box_tag :publish %>
Publish
<% end %>
<% end %>
</div>

<div style="margin-top: 1em">
<%= f.submit %>
</div>
<% end %>
@@ -1,4 +1,5 @@
<div class="action-bar">
<%= link_to "Edit", edit_adam_article_path(@article) %>
<% unless @article.published? %>
<%= form_tag adam_publish_article_path(@article), method: :put do %>
<%= submit_tag "Publish" %>
@@ -1,45 +1,75 @@
<%# An example article %>
<h1 class="title">Why enterprise software is&nbsp;terrible.</h1>
<h2 class="sub-title">(Or, ‘A declaration of war on crappy software for businesses’.)</h2>

<p>Technology, for the most part, is becoming more usable. I’m writing this post on Medium, and it feels as good as my favourite Desktop word editor. Afterwards, I’ll mention this post in an email that I’ll send out painlessly via <a href="https://tinyletter.com/" target="_blank">TinyLetter</a>. I only had to type a few letters of the band I wanted to listen to into Spotify’s search, and they came up top of the list. <br>
<br>For users these days, things just work.</p>
<p>Then you enter the world of Enterprise (or “Business to business”) software and everything changes. Most enterprise applications are <em>terrible to use</em>, and it’s that way for one good reason: <strong>The businesses behind these products forget they are building software for <em>people</em>
</strong>.</p>
<h2>When you forget the end-users, everything goes to shit.</h2>
<p>I was helping a client set up a mailing list segment with an enterprise-level email provider. The instructions we were given by the staff were to ‘exit the application’ we’d be trained on, and open another application, and follow a series of very specific, unintuitive steps to achieve this simple task.</p>
<p>So unintuitive were these steps that the ‘Send email’ button was labelled ‘Save’.</p>
<figure class="float">
<img src="https://dragondrop.uk/static/img/articles/why-enterprise-software-is-terrible/2.jpeg">
<figcaption>The “Send email” button was labelled “save”.</figcaption>

# Why enterprise software is terrible.

## (Or, ‘A declaration of war on crappy software for businesses’.)

Technology, for the most part, is becoming more usable. I’m writing this post on Medium, and it feels as good as my favourite Desktop word editor. Afterwards, I’ll mention this post in an email that I’ll send out painlessly via [TinyLetter](https://tinyletter.com/). I only had to type a few letters of the band I wanted to listen to into Spotify’s search, and they came up top of the list.

For users these days, things just work.

Then you enter the world of Enterprise (or “Business to business”) software and everything changes. Most enterprise applications are _terrible to use_, and it’s that way for one good reason: **The businesses behind these products forget they are building software for _people_** .

## When you forget the end-users, everything goes to shit.

I was helping a client set up a mailing list segment with an enterprise-level email provider. The instructions we were given by the staff were to ‘exit the application’ we’d be trained on, and open another application, and follow a series of very specific, unintuitive steps to achieve this simple task.

So unintuitive were these steps that the ‘Send email’ button was labelled ‘Save’.

<figure>![](https://dragondrop.uk/static/img/articles/why-enterprise-software-is-terrible/2.jpeg)

<figcaption>The “Send email” button was labelled “save”.</figcaption>

</figure>
<p>I laughed at the complexity of the task, and the friendly, sharp-suited salesman explained:</p>
<p>“Sorry, it’s just that we’ve acquired several businesses and we’ve yet to unify them into one interface; <strong>I’m sure you’ll understand</strong>.”</p>
<p>Business-to-<em>business</em>. A business might understand an acquisition, but a human? <em>Je ne comprends pas</em>!</p>
<p>The person that has to use what you sold as a ‘complete email engagement solution’ doesn’t appreciate the complexities of mergers and acquisitions when they just want to send an email to all customers that bought a dress! And nor should they have to.</p>
<p>When you forget that <em>people</em> use your product, and not businesses, everything goes to shit.</p>
<h2>Lowest Common Denominator</h2>
<p>What makes the situation worse is that the people at businesses have come to expect convoluted, complex solutions to their basic problems. They’re told it has to be that way; and after all, they’re not the experts.</p>
<p>I built a simple Product Relationship app for a client&#8202;&#8202;you started with Product A, and you could search for other products to ‘relate’ to it. When I walked it through with the Content Team, they had their pens at the ready and were furiously taking notes:</p>
<blockquote class="inset">
<p>Me: “You search for the product, then you click ‘Add to relationship’.”</p>
<p>Them: “And then what?”</p>
<p>Me: “Then it’s on your website.”</p>
<p>Them: “But… with [our current solution] we have to do about eighteen steps.”</p>
<p>Me: “Well, now you don’t.”</p>
</blockquote>
<p>A training session shouldn’t be mandatory. You shouldn’t need to write down an 18-step guide for yourself, and you shouldn’t need to know the entire acquisition history of the company that made a product to be able to use it.</p>
<h2>And they charge more…</h2>
<p>Where crappy enterprise software solutions really take the biscuit in in their pricing. We moved our client away from their convoluted ‘customer engagement solution provider’ onto Mailchimp. They have saved £8,000 per month in costs, and probably added a few years to their lifespan with the reduced stress.</p>
<p>Salesmen at other enterprise software firms in similar areas at times patronise the choice of Mailchimp.</p>
<blockquote class="inset">
<p>Mr Salesman: “Really, Mailchimp? How that working out for you?”.</p>
<p>Client: “We love it.”</p>
</blockquote>
<p>‘But’, thinks Mr Salesman, ‘they haven’t shown you a slide deck with their company history… they haven’t even bought you coffee?!’</p>
<h2>The Way of The Dragon</h2>
<p>At Dragon Drop, we’re committed to building person-to-person software. Even if those people work in businesses.</p>
<p>We’re declaring war on crappy, overpriced, hard-to-use software.</p>
<p>You don’t need to know our company history, an 18-step plan, or our excuses. It doesn’t have to just be that way.</p>
<p>Software can be simple and easy to use. It can make your life better, and your business more productive.</p>
<p>But don’t worry, we can still buy you coffee, too.</p>

I laughed at the complexity of the task, and the friendly, sharp-suited salesman explained:

“Sorry, it’s just that we’ve acquired several businesses and we’ve yet to unify them into one interface; **I’m sure you’ll understand**.”

Business-to-_business_. A business might understand an acquisition, but a human? _Je ne comprends pas_!

The person that has to use what you sold as a ‘complete email engagement solution’ doesn’t appreciate the complexities of mergers and acquisitions when they just want to send an email to all customers that bought a dress! And nor should they have to.

When you forget that _people_ use your product, and not businesses, everything goes to shit.

## Lowest Common Denominator

What makes the situation worse is that the people at businesses have come to expect convoluted, complex solutions to their basic problems. They’re told it has to be that way; and after all, they’re not the experts.

I built a simple Product Relationship app for a client — you started with Product A, and you could search for other products to ‘relate’ to it. When I walked it through with the Content Team, they had their pens at the ready and were furiously taking notes:

> Me: “You search for the product, then you click ‘Add to relationship’.”
>
> Them: “And then what?”
>
> Me: “Then it’s on your website.”
>
> Them: “But… with [our current solution] we have to do about eighteen steps.”
>
> Me: “Well, now you don’t.”

A training session shouldn’t be mandatory. You shouldn’t need to write down an 18-step guide for yourself, and you shouldn’t need to know the entire acquisition history of the company that made a product to be able to use it.

## And they charge more…

Where crappy enterprise software solutions really take the biscuit in in their pricing. We moved our client away from their convoluted ‘customer engagement solution provider’ onto Mailchimp. They have saved £8,000 per month in costs, and probably added a few years to their lifespan with the reduced stress.

Salesmen at other enterprise software firms in similar areas at times patronise the choice of Mailchimp.

> Mr Salesman: “Really, Mailchimp? How that working out for you?”.
>
> Client: “We love it.”

‘But’, thinks Mr Salesman, ‘they haven’t shown you a slide deck with their company history… they haven’t even bought you coffee?!’

## The Way of The Dragon

At Dragon Drop, we’re committed to building person-to-person software. Even if those people work in businesses.

We’re declaring war on crappy, overpriced, hard-to-use software.

You don’t need to know our company history, an 18-step plan, or our excuses. It doesn’t have to just be that way.

Software can be simple and easy to use. It can make your life better, and your business more productive.

But don’t worry, we can still buy you coffee, too.

0 comments on commit 5eea3d3

Please sign in to comment.