Planning, developing and launching products has both never been easier and never been harder. The explosion of tools and platform eco-systems around the internet, have opened the doors for product developers everywhere. The problem is that it’s also easier then ever before to derail your product development efforts.
Keeping these tips in your arsenal will help to give you a better perspective when making product development choices.
- Assign your own “right fit” budget – it’s common for projects to suffer from either not enough funding or resources, or having too many. While there’s nothing harder then making product development estimates, try to gauge from your own experience where money or resources would’ve helped, and where you didn’t need much.
- Focus on the money – I’ve written before about making sure you’re being “choosy different” not just “different”. We all have bills to pay for and/or staff or family to take care of. When scoping a path for your product development make sure you’re following the money. Use tools like Google Keyword Planner to help create a map of how large your market is. A big warning sign here is that you’re trying to enter a market with little competition. While sometimes “little competition” means you’ve got a market to capitalize, it may also signal that there is little competition because there are no customers.
- Engage with iterative collaboration – While you don’t want to derail yourself by surrounding yourself with too many different opinions, you do want to make sure that you’re engaging and eliciting feedback from many different angles to your product; not just your internal team. Front-line support staff, sales and perhaps existing customers should be engaged to make sure you really nail with laser focus the key elements of your product launch.
- Wasted time and/or Devil’s Advocates should be eliminated – While you can really benefit from increased communication with people / stakeholders outside of your team, this needs to be tempered against those who are either just wasting your time or continuously “playing Devil’s Advocate”. Having different viewpoints is extremely important during the creative process, but there’s also a time when everyone involved with the product need to go into heads down focus mode to just crank things out. These are the development periods where objectives shouldn’t be continuously challenged just for the sake of challenge.
The explosion of platforms and tools have increased product development to new heights.
Multi-Page Application (or MPA) Design has been a stable application pattern of web development since nearly the beginning of the world wide web itself. It is still a popular application approach of technology bases such as PHP / Django, Ruby on Rails and the ASP.Net stack, yet is under constant fire from some recent application design purists. Despite it’s popularity, they commonly argue that it is a pattern best left on the scrap heap of the World Wide Web.
Rather than stick to the academic or theoretical discussions, I’m going to use my own application development experiences to run through some of the benefits and costs of using such a pattern for your project.
the benefits of a multi-page application design
- A Page-Per-Function – in typical MPA design, a physical page in your application is nearly always responsible for a single function in the app. This can really help the development team behind the application. Suzy can take pages x and y, while Tom can work on CSS and layout for page z.
- Strong SEO – if this web application is accessible by the Internet at large, then part of an application development strategy could be to structure the page and/or content a specific way to try and increase visibility and ranking with Google, Bing or Yahoo! indexing. For every page in your app, you can create and fine-tune its own specific keyword focus.
- Application Security – another benefit of the MPA design is that application security is handled in the safest spot it can be; on the web server. Permissions, tokens and authorization can be controlled and enforced by the server making it a little more difficult to be exposed to the client.
- Deep linking / preserving browser navigation history – one of the cornerstones of the internet in general is its strong and careful preservation of site navigation. The MPA design allows for the browser to manage and control the site’s history taking it out of the hands of the application developer. This also comes into play when the requirements for the application involve the support of “deep linking”.
the cost of using a multi-page application
As you might imagine by now, there is no such thing as the perfect application design. The MPA has several costs associated with it, so let’s go through them now.
- Common is never usually “common” for long – the typical developer will start MPA design by creating common HTML markup that is defined once, but used around the application. For example, the header and footer areas of an app are usually common pieces of markup and/or business logic that quickly get muddled over time. As the application takes on more and more of a life, these common areas usually begin to pick up many “special cases”. Only display this header in case X and Y, but not in case Z where a different menu or text is required. The sales team have added role W which requires additional header display logic, etc.
- Lots of duplication – Because most areas of a web application often require similar-but-different layout, presentation and/or behaviour there can be a lot of areas with duplicate code. A “simple” change to one layout, can cause a ripple effect through the app as other areas may be forced into needing a fix as well.
There you have it. This is my own experience and education coming into play for this breakdown of the Multi-Page Application design pattern for the web.
What did I miss? What would you say is a benefit / cost of the MPA?
WordPress as a product has come a super long way in the past several years. Long since moving on past a mere “blogging tool”, it is often a multimedia platform for many companies trying to stay connected with their audience.
As a product it has also been consistently improving. With each release, either stability is improved or a few features are added – most oftentimes both – which is a real feat in software engineering.
What is the hardest WordPress task?
But let’s get real here. The hardest thing about WordPress is NOT the software. The hardest problem is still getting a theme.
If you do any kind of research at all in product development, a common phrase spun by most of the online gurus is to “be different” in order for your product to stand a chance within the same marketplace that is swamped by other companies.
On the surface this passes as “good advice” but when it comes down to the meat and potatoes of actually building or launching your product, it’s nothing more than useless vague platitudes.