July 24, 2018

New Feature! You can now include images & documents to News & Notice postings

A little while back we got several different town clerks who gave us similar feature requests. It was coincidental that three different town clerks asked for something so similar. I hopped on screen sharing session with Karla Hill, Clerk from Town of Lyons to really understand her needs.

A little while back we got several different town clerks who gave us similar feature requests. It was coincidental that three different town clerks asked for something so similar.I hopped on screen sharing session with Karla Hill, Clerk from Town of Lyons to really understand her needs. During the session, she was explaining to me that she wanted to send out a notice to residents and subscribers, and to include an attachment as part of the message.It seems like a great idea that would not just benefit her, but all other municipal customers. It was truly something that would "Make the Clerk's Life Easier"...so we put it on our list of things to work on. Ideas for new feature requests usually come from our clerk customers

I figured it would be interesting to describe some inside baseball into how we handle feature requests like this. The ideas often come from town clerks, who are typically the ones to maintain the websites on a day-to-day basis. Sometimes the ideas come from myself, Dustin, or from other team members during our weekly project meetings.The inspiration behind adding new features is really to make it fast and easy for the clerk to do what they need to do when posting information for their residents. It is often helpful that we have a screen sharing session with the clerk to get thorough understanding of what they're trying to do.

We continue by defining the feature in more detail

For this feature, I took a screen shot of what I wrote down after my meeting with Karla, which you can see here:

towncms feature request

Karla actually gave us two feature requests, and we implemented the first one them. The idea for the new feature was pretty straight forward. It was not something that drastically changes the normal UX (User Experience) for a clerk when posting News & Notices. A person who is used to updating her News & Notices can continue doing the same thing in the same manner she is used to without any additional steps. This is important, because we don't want to add on an extra layer of complexity.

Incidentally, we use Trello as a piece of software for managing the individual feature request we receive. It's using the Kanban style (which was made popular by Toyota's efficient project management system in the 1960s). As new features are added to the list, we as a team at Town Web discuss the technical details of each of them to prioritize which ones to launch.

We have a team meeting to discuss the technical parts of it

After the idea is put on the board, we have a team meeting to discuss the technical details. One of us will typically be the "champion" of the new idea and bring forward the benefits it provides to the customer and the reason for having this new featured added to our list.The developers and technical project manager will discuss different ways to solve the problem. Because we're using Wordpress, we can sometimes find an existing plugin or other module that we can use which will plug-into our system.

We also can develop our own solution in house.On a side note, one of the nice things about using Wordpress as the "engine" which powers TownCMS is that we can quickly evaluate other solutions that other developers have created to solve similar problems. Since Wordpress is open source, we can look at their code and test it ourselves.If the plugin author's code is posted on the Wordpress plugin repository, we can see how many other users there are. This lets us know if the plugin is used by hundreds, thousands, hundreds of thousands or even millions of users! The more a plugin is installed, the more likely that it's been tested on a variety of other hosting environments, with different version of PHP code.We can also see the public reviews that other users have left regarding the plugin's functionality.

This is a big help, because if a plugin has thousands of installs and has just one or two stars, then it's something we wouldn't consider using.The repository also shows how recently the plugin was updated. Since web technologies are forever changing, it's vitally important for reliability and security when the plugins are updated to match changes to the PHP code or to the changing codebase of Wordpress. Generally, when a plugin is updated recently (and regularly) it shows the plugin author is actively contributing to the betterment of their solution. Otherwise if a plugin hasn't been updated in over a year or more, it could be considered "abandoned", which makes it a poor choice for using.And one other advantage, is that we have access to the developer and can ask for further explanation or clarifications about their plugin.Getting back to the technical aspects, we can evaluate several existing solutions and discuss building our own system. Sometimes we have unique needs that a customer has for municipalities which of course isn't readily available on the Wordpress repository. So in this case, we decide to build out the feature ourselves.

We start programming the new plugin and feature

When we do the programming in-house, we use software for version control. In our case, we're using BitBucket. This gives us the ability to see which programmer did what to the code, when they did it, and who approved it. We can post our notes in the code so that sometime in the future, we can review why we did what we did.Below is a screen shot from the "commit" made by one of the developers. A "commit" is when the code in incorporated into the master code. A commit is only made after it's been tested out on a live server and when a separate developer also installs and tests what was written. This two-person code review by two competent developers ensures that two sets of eyes (and two brains!) sees the code in action.If the code works well and tests well on a live server, then the commit is approved by the other developer or by the technical project manager.

web feature committed on bitbucket

The new feature gets rolled out to all customers

Since we're using Wordpress, we have a system by which we can easily roll out new changes and enhancements to all customers. This is the main reason why we would like all Town Web customers to upgrade to TownCMS v5, which is based on Wordpress.Because we've developed a custom Dashboard for our customers to use, it becomes the main portal by which all customers can access and update their website. Below is a view of what the dashboard looks like. It was created so that 95% of what a municipal clerk needs to do can be done with just point & click. (The remaining 5% is stuff that we do for free for the clerk with our affordable hosting & maintenance plans!)

view of the municipal dashboard

A walk-through video and a help file gets made

Once a new feature is added, we expect it to be intuitive out of the box. But just in case, we also create a walk-through video that gets sent to all customers. We also create or modify an existing help file on our knowledge base, which can be viewed here:Town Web Knowledge Base: http://help.townweb.com/Here is a screen shot showing where to click when wanting to add an image of document to a News & Notice posting:

include attachments in notices

And here is a Walk-Through Video showing the mechanics of adding a document (and linking it) and adding an image. You can see that after watching the video, the process is quite straight forward.


We provide continued support for the new feature

Now that the new feature is live and ready for everybody to use, we are here to support it. It could happen that unexpected bugs pop-up. After all, aren't bugs unexpected?But the good news for our municipal customers is that we provide free technical support. So if something were to break with what we create, it's on us to fix it. And we do! That's why we've got over 450 municipal customers and 11 years of working with municipalities.Thanks for your time in reading this! If you have any questions, please reach out to me dustin@townweb.com, or call 920-645-2823.Dustin Overbeck, President