9 Lessons learned while creating a WordPress app
Posted on June 15, 2015 - 10 Comments
We recently created a WordPress app for one of our clients. With this and our past experience in the field of WordPress app and SaaS development, we thought it would be fair to share our knowledge. There are quite a few lessons we learned while building WordPress apps. Here are nine of them.
1. Start with a minimum viable product
The first thing you want to do with any idea — not just a WordPress app — is wireframe and brainstorm the product or service you are selling. There is a whole job description for the management of these ideas, “creatively” titled Product Management. The idea with this role and with the build of an app is to keep it as simple as possible while still providing a solid customer experience.
A good example of keeping your initial idea simple is Spotify. The product launched in February 2009 as a music streaming service where you could listen to what you wanted. They had a free and paid membership model and the ability to search for and stream music.
That was it. But that was enough.
For those doing the math, that was six years ago. Today Spotify has 1,500 employees and continues to receive hundreds of millions in shareholder capital. Six years later, Spotify continues to add awesome additions to their service that almost seem second nature now. Chief among these are social sharing elements, lyrics, and an expanded new release section.
Having all of these features were not necessary at launch, because the basic need was there. If you have proven your app concept, don’t build more than you need to. Create today.
2. Focus on the user experience first
When you start creating a WordPress app, think about what the user would want, not what you or a venture capitalist would want. Apps succeed because people need them and understand how to use them.
It is easy to come up with a list of 1,000 things that you can add to your service. If you are passionate enough or spend enough time thinking, this list can become quite large.
What is equally easy to do is to forget why the app exists in the first place. Using the Spotify example, they could have integrated lyric functionality into the initial build of the site. But time was better spent making sure that it was simple to log in to the app and that the app was easy to navigate for the user.
Make sure that the user is satisfied before you are satisfied.
With user experience in mind, ironically the next lesson we learned when creating a WordPress app is to…
3. Make a list of 1,000 things
At Slocum Studio, we know this as a client list of “nice-to-haves”, but it can be whatever you would like. Apps will grow in scale. The best thing you can do to keep an initial build minimal is keep a list as you go.
With many of our clients, new ideas are cultivated before we even begin development of the app!
We all want our eCommerce website to be Amazon.com, but we all don’t have that sort of budget. Amazon took years and millions of dollars to create. Thousands of tweaks were made to the site over its years. Do the same with your WordPress app. Create the initial app, but keep mind of all the wonderful ideas you have by making a list.
WooCommerce, the biggest eCommerce platform for WordPress, keeps a list of all of the ideas they cultivate internally and from users of their product. Currently, the number of “Hot ideas” or “WooIdeas” is up to 2,404!
4. Test all responsive viewports
Now that we have talked a good deal about initial strategy, let’s get into the more technical elements of creating a WordPress app.
This point should be fairly obvious, but the importance is fairly overlooked. Responsive design is important on all websites these days. But with a WordPress web app, responsive design is the whole point.
Designing or developing an app, it is a necessity to account for all of the devices and browsers people can view it on. Make sure that when you are styling your app, your theme framework accounts for all media views.
By viewing windows through a web inspector tool — like those found natively on popular web browsers — you can play with sizing and adjust viewport sizes to maximize the experience across all devices. you never know when the next oblong iPad is set to release in the market. Prepare for it ahead of time.
5. Take advantage of WordPress standards and plugins
The reason why WordPress is being so heavily adopted is because its code base is strong and the support/community is wonderful. Oftentimes, when we look at building apps for clients, the first thought is to think outside the box with a free plugin or external solution.
However, this is often better resolved by venturing into the WordPress codex and finding a more solid way to accomplish a task through code.
For example, you can install plugins to change the look of the standard login page to mimic your brand. But these can consume resources you don’t need to, leading to a slow-to-load website and a poor customer experience. Alternatively, you can tap into user roles and login privileges using the WordPress codex for a more clean and WordPress-centric solution.
If you are more comfortable using plugins (easier when starting out), here is a list of some of our favorites that you can start with:
- Paid Memberships Pro – Allow people to sign up to your site to view content or access features great. Great for membership and SaaS WordPress apps.
- BuddyPress – To create a platform for people to be a part of a community. BuddyPress is also very good for WordPress directory apps and websites.
- bbPress – Discussion forums for your fans and/or customers. Great for providing support for a SaaS or a digital product.
- Easy Digital Downloads – Sell downloadable content and downloadable software.
- WPTouch – Turn your unresponsive website into a responsive mobile site (if you lack the responsive coding chops or time)
- WooCommerce – Create an eCommerce platform to sell your physical or digital content.
For many of our clients, we have found that the best solution is to start with the base of one of these supported, popular plugins and build the remaining pieces to fit individual needs.
For an even greater technical look at building apps, here is a great article from our friend Josh Pollock that describes a more technical look at good WordPress app standards.
6. Remove WordPress features before you add them
WordPress is a fantastic platform. For getting recognized on Google searches and creating content, there is really no simpler or better platform on the web.
WordPress gurus like ourselves sometimes preach the platform so much that we forget some inherent downsides.
WordPress is a blogging platform first. While it will work wonderfully as an app platform through use of smart development, plugins, and CSS, there will most likely be “features” you want to disable.
Disable stuff with plugins
To disable comments, use the free, popular Disable Comments plugin to quickly remove comments from your WordPress app entirely.
To disable users from being able to use functions normally assigned to their user roles, install the free User Role Editor plugin. This will allow you to go to the Users section of your Dashboard and tweak what different user roles can or can’t do.
You could also try tapping into other membership plugins that might have enhanced restriction features. A good free example of this is Paid Memberships Pro.
The WordPress toolbar is not exactly the most user-friendly looking aspect of WordPress, especially to outsiders. I have always thought it looked too “codey” for the average Joe.
To remove the toolbar from the top of your WordPress app, you will want to use code or the Global Hide Admin Toolbar plugin. If you are using code, tap into the function remove_admin_bar in the functions.php file of your child theme to help remove the toolbar for users if you want to prevent the app from looking like another WordPress add-on.
7. Do customer test runs
Once you have finished building your app, send it by some test customers for their approval. RUN THROUGH IT YOURSELF TOO!
As someone who writes quite a bit, I can tell you the best practice to revise is to read your work out loud. If it doesn’t make sense to you, it certainly won’t make sense to a third party (as it is, I am in a mad rush and probably won’t reread this article here).
The same policy holds true on a WordPress app. If you are confused by a step in the process of using your app or wish something was easier to access, trust us. Make it easier.
Have your friends look at the platform as well and have them create user accounts. Perhaps open up your app to the public in beta format or gather a focus group in your field.
8. Use tools like AppPresser for iPhone and Android implementation
In our last post, we discussed the disadvantages of creating a native iPhone or Android app. The beauty about developing a WordPress app is it is generally simple or less time consuming to take an existing WordPress website solution to an app and make it an app for Android or iOS.
Our favorite solution here is AppPresser, a WordPress service that takes your existing WordPress website and converts it into an app for iOS and Android. You pay a one-time fee for the access and convert your site into an app.
While some code may be required for specific functionality, and you still need a developer account with Android or iOS to distribute, you can get 80% of the way there with the AppPresser solution. Sometimes, 100%!
9. Sometimes, you need a WordPress team
WordPress apps are extremely fun and rewarding, but sometimes there are just too many elements to handle as a small business or team. As a team that likes to empower people to create their own websites and apps with our WordPress videos, plugins, and themes, even we admit that sometimes you need a WordPress agency to build a WordPress app.
If your project is more involved or is too much to handle, contact us so that we can help build your WordPress app and realize your dreams and goals.
Have any stories to share?
How about you? Do you have any app creation nightmares or successes to share with us? How about other WordPress plugins to help build apps? Let us know in the comments below!