Author: Brandon West

  • The Third “S” To A Successful App: Street Smarts

    The Third “S” To A Successful App: Street Smarts

    We have discussed how scalability and simplicity are leading factors to an app’s success, but in addition to having a strong coding skill set, developers need street smarts, or knowledge of the state of the market and of themselves. Why? Because an app is unlikely to reach its full potential and achieve success without the developer knowing their strengths and what markets to build for. That is the third “S” to successful app.

    Know Your Strengths

    A key characteristic developers need to know is their strengths. People are always coming up with new ways of doing things, and it is easy to get caught up in the latest programming language or new database technology. While new tools can be helpful and support your development initiatives, it can also be time consuming to learn how to use them. When you have a great idea, stick with your strengths and build a product you know will work, without losing time.

    Identifying strengths also applies to choosing which platform to develop for. The language or platform you are strongest at or have a specific preference for should be used for at least the first version because it will allow you to make iterations more quickly.

    With strengths come weaknesses, and it is important to be able to identify those as well. For example, sometimes a developer is unable to go out into the field to gather user feedback. When this is the case, it may be wise to look into bringing in a market expert. This is an individual who is an industry expert in a certain marketplace; ideally for a market that you have an app idea for. By bringing in a market expert, you’re able to marry your coding skills to their market knowledge to gain deep industry knowledge of the marketplace while allowing the developer to focus on building something great.

    Market Validation

    Whether a specific market expert is brought in or not, a good app developer should realize the importance of user feedback immediately. More often than not, a developer will have an idea for an app and go into a code trance, where they start hacking and building code but does not take the time to develop a long-term plan for their vision. Building an app without market validation can be very risky, as developers want to get into the code but fail to take a step back to identify what they can use to validate the need for their app.

    AppSumo, an app that offers bundles of software for discounts, started out with a very lean model where the developers would manually input website traffic data into a spreadsheet and then analyze the purchasing behavior of their target audience. AppSumo had no code written at all, but this manual data input allowed them to validate the need and demand for their product. Because of this initial research, when they started writing their code, the team knew the app would be valuable.

    Ship Imperfect Products

    Once you have market validation, you’re ready to build and eventually ship your product. It’s important to know where to cut corners in the beginning so you can ship product as soon as possible, and also knowing where you can’t to ensure you’re shipping a quality product. This is ultimately the hardest facet of management: knowing how much tech debt to accrue and when to pay it off.

    In the case of a brand new app, it may be best to accrue tech debt and solve it at another time because shipping a perfect product that no one uses means you’ve essentially wasted precious time. Willingness to failure is critical to success. It is rare to release an app that has perfect product fit, that perfection comes from rounds of testing and versions. Therefore, a key component of developer street smarts is a willingness to ship imperfect product.

    Final Thoughts

    Gaining effective developer street smarts means interacting with other developers to learn their perspectives and gain their knowledge. Sharing stories, asking questions and challenging yourself are all a part of becoming a better developer. This means taking some time off-screen and going to meetups, listening to talks and elevating your skills by learning new things. You’re also growing your professional network which increases opportunities for your business and your personal brand. These opportunities begin through the online channels with research, but getting out in the world and making face-to-face connections is invaluable for becoming a better developer and creating the best apps.

  • The Second “S” To A Successful App: Simplicity

    The Second “S” To A Successful App: Simplicity

    When developing an app for the first time, there are important factors that need to be taken into consideration, such as scalability as previously discussed. Ensuring the app can scale with a growing user base is paramount to success, but how do we ensure the user base will steadily increase? While there are a plethora of factors that lead to app success and increased downloads, one to keep in mind is simplicity. Every app essentially starts as a simple idea, yet can easily become packed with unnecessary features and lose its focus and core purpose.

    Keeping an app simple starts with understanding the market need in the beginning of development, not losing sight of the app’s core purpose and understanding which features are most critical to the app’s functionality.

    How simple is too simple?

    There is a fine line between simple and too simple and developers are often faced with the challenge to find the right balance between the two.

    Finding that balance is a difficult feat, but not impossible. It begins with determining how the app meets the market’s need and building the app to meet it. From there, the app’s feature set can increase. Push for Pizza is a great example of an app that has one simple purpose: allow its users to order a pizza with a single push. The user simply chooses which toppings they would like, pushes the pizza button within the app and it’s on its way to their location. Push for Pizza began as a simple idea and the developers built an application to meet the demand. From there, the app has seen great success and has increased the feature set, such as the ability to add coupon codes.

    Using simplicity to create customer delight

    The moment of customer delight is a manifestation of having a really simple but powerful idea. There are few apps that have created customer delight by doing something for the first time or presenting an experience in a new way. The best example is Uber. When the service launched, users for the first time were able to see the cars moving in real time, which was unlike any other taxi or ride sharing experience at that time. Uber offered a completely painless service and has changed the way people travel.

    Using simplicity to create customer delight comes from focusing on doing one thing, and both Uber and Push for Pizza do it well. However, that moment of customer delight is hard to achieve; but when it is, the app has accomplished either something simple or done something complex but presented it in a simple way. The key to customer delight is focusing on the app’s core purpose.

    Be original and don’t take short cuts

    A current trend in app development is the “hamburger menu,” or the three line button within the app that pulls out to the app’s menu. There is pushback in the developer community on this type of design because there isn’t any taxonomy for what will be included in the menu itself. The hamburger menu is working against simple apps and is hurting effective user interface (UI) design. Effective, and successful apps should be guiding the user through each stage or feature in a simple manner, not using shortcuts to jump to the end.

    Instagram is a great example of an app presenting features and menus in a new and simplified way. The app walks the user through each step with the appropriate feature set as opposed to throwing each feature in one pull out menu. To achieve the same type of simplicity, stay focused on what the core purpose of the app is, to eliminate unnecessary features from piling up in menus.

    Final Thoughts

    Developers strive to deliver the experiences that will change the way people work and live, and they are created from simple ideas. When building your first app it’s easy to succumb to including every new, trendy feature. But it’s important not to lose sight of the app’s purpose, as that is what will drive customer delight and keep the user base growing. These are some of the keys to a successful app.

  • The Three “S’s” To A Successful App, Pt. 1

    The Three “S’s” To A Successful App, Pt. 1

    Developing your first app can be a daunting task. Many first-time developers may overlook, or over think, certain aspects of building their first app. Through scores of conversations and interactions with developers, I established common pain points and gathered advice that they themselves wish they had known before building their first app. With all of the collective feedback, I was able to identify the three “S’s” to building a successful app:

    • Scalability – knowing how to grow the app as user engagement increases
    • Simplicity – understanding which features are most critical to users
    • Streetsmart – analyzing the marketplace and differentiating the app

    This series of articles will discuss each “S” in detail, share developer stories and offer practical advice for first-time app developers.

    In conversations with developers about building their first app, several of them mentioned how the app turned out to be much more successful than they had originally anticipated, which in turn, lead to support issues due to the influx of traffic. These stories are what lead to the first “S”: scalability.

    What does it mean to scale an app?

    Scaling an app means architecting the app to accommodate the size of the audience that your organization predicts. While the future success of an app and brand it’s associated with is ultimately unknown, projected audience size is a key factor used to help guide developers to make the best decisions with regards to scalability. When projecting audience size, it’s important to make a bold prediction that’s an order of magnitude greater than the best case scenario. Why? Because it’s better to be over prepared than under. However, resources should not be exhausted and the app should not be over engineered.

    Finding the sweet spot

    Finding the sweet spot between scaling for a current audience size and a magnitude greater than the best case scenario can be tricky. The greatest factor in deciding this is the size and stage of the company. In the case of Uber for example, the app will need to be extremely robust right off the bat because the app is central to the operation of the organization. But with an organization such as Yo, the app does one thing and has a clearly defined scope, so the focus should be placed on getting the product out in the market and and scaling from there. Once an organization has found its market fit, scale should be at the forefront of the agenda. Because if scale is not top of mind, that’s when challenges will occur.

    Overcoming Challenges

    Developers are often faced with hurdles when their distributed systems do not allow for components to communicate together. Applications can’t achieve scalability if the different system components do not work seamlessly as the load increases.

    For example, if there is one server with one database that handles all of the read/write connections, it is rather easy to maintain; there is only one pipe to be concerned with. But when that database crashes due to traffic increase and lack of scalability, the app will stop functioning. So to add scalability to support the increased user-base, the database server needs to be replicated with load balancers that understand when the database server is overloaded and can transfer traffic over to a new one and so forth.

    To achieve this, it takes a combination of network expertise, smart app architecture and building smart connection points between the different services.

    Final Thoughts

    Scalability is just one factor that contributes to the success of an app. When developing your first app, whether it be for robust use or for a clearly defined scope, it is paramount to keep your database servers and the connections between them in mind because those smart connections are the key to building a successful platform for future users.