How many pieces of software does it take to run a tech start-up?
(Spoiler Alert: The answer is 64!)
When embarking on the long and winding journey of turning your great idea into a fully fledged company, you are going to come across countless challenges and tasks that need completing. Some of these tasks will fall within your skill-set, others you will need to adapt to.
As we tell every new member of staff at Soundwave: You will wear many hats! Some people love this, others not so much (only two of us actually wear hats). Thankfully the day of tackling everything with Excel, Word and MS Paint is a thing of the past. Most start-ups, even if in different industries will come up against the same tasks like payroll, logo design, comms, metrics etc. The more start-ups that need to tackle these, the more likely it is that creating a tool to optimize these processes becomes a viable business for another start-up. It is these tools you need to find and embrace.
Over the last two years, we turned our simple idea of ‘easily sharing what music you listen to with your friends’ into the fully fledged company: Soundwave. Our team have created an acclaimed iOS and Android app (Editor’s Choice on the Google Play Store) that has been installed 1.6 million times in 194 countries. This would not have been possible without finding, mastering and relying on a suite of third party software and services. Rather than taking our learnings to the grave, I thought it would be good to share the love! So here it is; the 64 pieces of software and services that helped Soundwave get to where it is today.
Proto.io — Prototypes
Proto allows you to make high fidelity mobile prototypes quickly that can be viewed on mobile or desktop. When creating a product of any kind, the ability to create a realistic prototype is necessary, if not critical, to its success.
After testing a few different mobile prototyping tools, Proto.io shone out from the rest. It’s ability to make detailed mobile prototypes easily helped us to get Soundwave into the hands of potential users long before development began. Once development had started, having a photo prototype made sure everyone knew exactly what direction the product was heading in.
Cost: After an email letting them know we were a poor startup they gave us access to Proto for half price ☺ (Thanks, guys!!) Once we got funding, we continued to use proto for full price.
Invision — Prototypes
Invision allows you to easily see and comment on new product designs. Where Proto wins on realism, Invision wins on simplicity. (We use both tools because we like them so much!) Invision acts as a live shared document where anyone in the team can discuss a feature within Soundwave. This means that if someone on the team is reviewing a feature, they can bring up the pages which contain that feature and see if anyone else has an opinion. For a brief period, we used Invision to keep track of bugs reported from usertesting.com.
Atlassian Jira (with Greenhopper) — Task tracking
Jira allows a development team to keep track of work done, work to-do and what everyone is currently working on. As Soundwave evolved from an engineering team of one to ten, so have the ways in which we use Jira. Essentially all of Soundwave’s development work is tracked here!
There is no getting away from the fact that Jira is a donkey. Unfortunately, sometimes a donkey is exactly what is needed to get the job done. There is nothing sexy about keeping track of engineering tasks. Depending on the scope of work and team size we use Scrum boards or Kanban boards. They are the core of our daily stand-ups, retrospectives and demos.
Teamwork — Team collaboration
I have reviewed competitors of Jira multiple times and the only one that I feel can take the fight to Atlassian is Teamwork.com. Bringing tracking into the 21st century, Teamwork does everything you would expect from a collaboration tool (the difference being they do it very well!) Everything just works! I haven’t used the product for long lengths of time but I would recommend you check it out.
(Also, it was built by some lads from Cork, Ireland so it’s just bound to be great!)
Alternative: Atlassian Jira
Aha !— Gantt Charts
Aha is another collaboration tool which we use for one feature: Gantt charts. We came across Aha when we were looking for a cloud based tool that could display what we had developed at Soundwave in gantt format.
Alternative: Atlassian Jira
Trello — Task tracker
Sometimes you just need to know who is working on what (including yourself) and what is coming up. This is where Trello comes in. The intentionally ‘bells and whistles’ free task-tracker puts simplicity first. At Soundwave, the design team use Trello to simply keep track of their tasks. We also use it for upcoming events or meetings where we need to divvy up a list of tasks that need to be completed.
Reflector — Screenshare
Reflector allows you to mirror your iPhone’s screen onto a mac computer. This comes in handy almost every week at Soundwave. During our development demos, when the team have built something cool on iOS, we reflect their phones to their macs and link up to a 50’ TV. This allows everyone else in the office to see the screen as we discuss the new feature.
Slack — Instant Messenger
Slack is an internal messaging tool that allows easy communication across the team. When someone asked Stewart Butterfield (the founder of Slack) who would use his product, he replied; “I have no fucking idea!”
Let me answer for you, Stewart! The reason that Slack has exploded in popularity is because everything just works with ease. If I want to chat openly with the team, I can. If I want to have a private chat with two of my colleagues, I can. This, added with the easy integration hooks of other tools we use like Jira, Trello and Datadog, makes it a brilliant tool to use. And let us not forget the hilarious Giphy integration which lightens the mood of most of the office.
Alternative: Hipchat, Telegram
Kin — Tracking Days off
Kin allows you to keep track of who is off on what days. They keep things simple:
1. You log the days off you want.
2. The days get accepted.
3. Everyone now knows who should be in or out.
It sounds simple but we struggled with this for a long time. Most HR tools we tried over-complicated things or relied on one person to keep all days off up to date. Kin is also a great way to welcome new hires to the company. The simple onboarding page allows us to introduce the team to a new employee before they even start making their first day a little less daunting.
Xero — Accounting Software
In our opinion, Xero is the best accounting software available for a company of our size. It provides all the functionality that you would expect from an accounting package but the user experience is head and shoulders above competitors. It genuinely makes bookkeeping a pleasure. We use it everyday for bank reconciliation to VAT returns and almost everything in between. It has it’s limitations in some areas but it’s perfect for the stage we are at right now.
Cost: $30 per month
Gmail — Email
It may seem easy, but setting up business emails can cause problems. As our initial web hosting was with Hostgator, we decided this would be a good (and free) place to set up our email accounts. However, as Hostgator encountered problems… so did we! We needed something more reliable so we moved to Gmail for business. This was a great decision. Although you are now paying for something that you can potentially get for free, it is certainly worth it. Everyone knows Gmail in detail. If we want to set up a forwarder or import mails from a different email, most can manage it on their own. This means no more tedious email tasks every time there is a new employee.
Google Calendar — Scheduling
The amount of time we have wasted trying to sync different types of calendars across users, laptops and phones would add up to days. Value your time and move across to Google Calendar. All of a sudden Google Business seems like a bargain!
Skype and Google Hangouts — Communication
These are not the greatest of tools but it gets the job done most of the time. Yesterday Google announced that hangout would be decoupling for Google+. Hopefully this will unshackle it and allow it to become the communication tool we all crave for so much.
Powwownow — Call bridge
Powwownow is a call bridge that allows multiple people in different geological regions to dial into the same call. Sometimes online chat clients will not do the job. Someone cannot get access to wifi or they are too “old” to understand Skype are the usual reasons. When this happens we revert to powwownow.
Cost: The cost is per call and depends on your location
Evernote — Notes
Evernote is a note-taking app which syncs your work across all of your devices. All I will say is: God Bless Evernote!
Something so simple, simply done. I like to use this app to catch all my ‘brain dump’. Anytime I come across new information, get new ideas etc. I immediately open Evernote.
Alternative: Atlassian Confluence
Evernote Business- Shared notes
Evernote Business allows you to share notebooks across your team. Now the team have access to some of my own ‘brain dumps’. Win win. We are currently trialing using Evernote business for all our development documentation. So far so good but we are only a week in.
Cost: $10 per user
Pocket — Reader
Use Pocket to save web stories for later. Whether you are beginning on your start-up journey or not you may start to accumulate lots of “must read later” stories. Pocket allows you to store them all one place and read them offline. I use pocket to store all the relevant music industry stories, iOS stories and Android stories to read when I have some down time.
Zartis — Hiring
Zartis is a great place to find new tech talent. There are two ways in which Soundwave uses Zartis. The first approach is to let the talent come to us by applying for an advertised position at Soundwave. The second approach is really innovative. Zartis source viable tech candidates and display their credentials on talent.zartis.com. It is then up to the company to go to the talent.
Alternatives: Evil recruiters
Linkedin has been an important asset to Soundwave. Knowing who you are going to meet and keeping track of who you have met is very important in the social world of startups.
Xcode is the defacto IDE for developing iOS apps.
Cost: One MacBook
Alternatives: Vim + xcodebuild/xctool
Xcode Server — Continuous Integration
Xcode Server takes developing for iOS to the next level. Used for setting up Continuous Integration Development (see Jenkins for Android), Automatic builds on commit and branch builds.
Cost:$19.99 (Clodagh thinks ☺)
Alternatives: Jenkins, TravisCI
Android Studio — Application Development
Android Studio is the official IDE for Android application development, based on IntelliJ IDEA. Only a subset of our developers use Android Studio as their primary IDE. Since Android Studio moved out of Beta and now onto 1.1 it has grown from strength to strength. Google are pushing it hard and use it in all of their training classes.
Alternatives: Eclipse, Vim
Tiny Png —Png compressor
Tiny Png decreases the size of any png. Any app that has a complex UI will rely heavily on png files. To cater for all screen sizes on Android, each asset has to be prepared in 4 different sizes and this adds to the size of the APK. TinyPng allows you to drastically reduce the size of each png. This came more into play for Soundwave when we started creating in-app animations.
Jenkins — Continuous Integration
Jenkins CI is the leading open-source continuous integration server. CI plays a critical role in Soundwave. Knowing you have not regressed one feature when building another allows the developers to focus more on the build at hand. Automating the build and release process will also free up a lot of time.
Cyberduck — FTP
Cyberduck is a UI that allows you to access your servers (hostgator, AWS). Having Cyberduck on your machine allows you quick access to host or change a file on your server. We generally use it for quick updates to our website or to host an .apk to allow testers to download it.
Atom — Text Editor
Atom is a text editor built by GitHub. Built and marketed around the ability to customise, it is used for quick website changes.
Alternatives: Too many to name
Vim + eclim — Minimal IDE
Vim is the progeny of vi, one of the two stalwarts of UNIX text editing. Although these days, modern IDEs have all kinds of extra features included, vim manages to keep up using eclim, which is a plugin to the Eclipse IDE. It works by running a headless version of Eclipse that is then connected to the editor using a vim plugin. This allows using all the traditional power of vim editing with added conveniences like code completion, automatic imports, inline unit testing etc.
Alternatives: Emacs, Eclipse, IntelliJ, Android Studio
One hour translation — Translation service
Soundwave has been installed in over 190 countries. In order to accomplish this we had to translate our Android and iOS app into 14 different languages. This is a difficult task, which caused some maintenance consequences but was well worth it for us.
Alternatives: Google Translate, Google Play translations service
Confluence — Internal Wiki
Confluence is where you create, organize and discuss work with your team. As Jira is such a core piece of software for us we automatically started using Confluence as our wiki to store our development documentation. More recently we have moved across to Evernote business to store our notes. Confluence may be great for bigger teams but the complexities with creating a ‘page’ and getting the hierarchy of the wiki correct meant people tended to stay away from documenting. Since we have moved across to Evernote, dare I say, the team are actually enjoying documenting their work!
Gradle — Build tool
The elegant build tool that Maven never was: Gradle is strong at automated dependency management, build and packaging of our Java/Android applications. It supports integration with Maven and Ivy, so it’s backwards compatible. Building, packaging and deployment of multiple projects with multiple transitive dependencies is a doddle. An essential first point of contact for any Java based project on any platform.
Gliffy — Diagram editor
Gliffy is a web based diagram editor. We use it for all our patent drawing as well as many of our infrastructure diagrams.
Datadog — Monitoring & Alarming
Datadog is a monitoring service for IT, Operations and Development teams who write and run applications at scale, and want to turn the massive amounts of data produced by their apps, tools and services into actionable insight. Datadog is critical for us to understand what is going on under the hood at Soundwave. We can monitor usage on all our machines and alert someone in the team if usage patterns change suspiciously. Datadog is the foundations to our on-call setup. For more information on how we use Datadog, see our Lead Engineer Dave’s blogpost.
Cost: A fraction of the cost of NewRelic (for us)…
PagerDuty — Paging
PagerDuty provides alerting, on-call scheduling, escalation policies and incident tracking to increase uptime of Soundwave’s servers, websites and databases. It does exactly what is says on the tin: if something suspicious is happening, someone in Soundwave gets told about it. Alerting by emails, SMS, and Phone calls makes sure even the heaviest of sleepers gets woken if needed. Prioritising alerts also means nobody needs to get woken for things that can be handled in the morning. More info here!
PubNub — Realtime messaging
PubNub allows you to add real time communications to your app without worrying too much about infrastructure. PubNub lies at the core of Soundwave’s Groups feature. It allows our users to chat about their favourite song with other people in real time on Soundwave. For more info on how we use PubNub in Soundwave, check out our iOS developer Brian’s blogpost.
Rubymine — IDE
Rubymine is a very clean IDE for our ruby projects, and with its support for different skins keeps devs happy whether they prefer vim or Eclipse.
Metrics & Analytics
Tapstream — Tracking
Tapstream allows you to find out which clicks or impressions were responsible for app installs, app engagement and even in-app purchases. Tapsteam was a great find for Soundwave. One of the main issues with tracking on mobile is it is very difficult to track where a user comes from when they download your app or alternatively how many users downloaded your app from a certain marketing campaign. (It is worth noting that we have long debates on the accuracy of Tapstream’s tracking.)
Cost: Tapstream attribution is completely free but when you start doing smart things like recording attribution to your own datastore, costs can go up fast.
Google Analytics — Metrics
Everyone at this stage knows the benefits of Google Analytics. What people don’t realise is the quality of their mobile analytics. Set up correctly, Google Analytics can give you all the insights needed into the movements of your users around your app.
Crashlytics — Crash reporting (iOS, Android)
When it comes to finding those pesky bugs in your live product, Crashlytics is the best we tested. Somehow they seem to always return that extra piece of information that will send you in right direction. I don’t think any app should be live without integrating Crashlytics.
App figures — Reporting
AppFigures is a reporting platform for mobile developers that automatically downloads and visualizes sales data, App Store reviews, hourly ranks and more. Soundwave uses AppFigures to keep track of where the app is featured. When Apple and Google feature your app, it can become difficult to keep track of what countries this feature are taking place in. AppFigures breaks down every feature by location. This becomes very helpful when you get an unexpected spike in users.
Alternatives: Sensor Tower
App Annie — App Analytics
App Annie provides app ranking data and high quality mobile analytics — app store downloads, sales and other insightful data for iOS & Android. One great feature in App Annie is the ability to see where your app lies for each keyword in the App Store. Using this feature Soundwave can tell what position it’s in for the word ‘music’ in the US Playstore.
Alternatives: App figures, Sensor Tower
Adobe Photoshop — UI Creation, wireframing
Photoshop, which is celebrating it’s 25th anniversary this year, is our go-to user interface creation app. We create full fidelity concepts and mockups with Photoshop. It is also awesome at photo manipulation.
These days however, it’s getting fierce competition from the ever popular Sketch made by Bohemian Coding. Despite stability bugs in the past, it seems to have become a decent competitor to Photoshop. It’s definitely a tool that we have been dabbling with and one which we will be looking at in the future.
Cut and Share — Asset exporting
Creating the assets of iOS and Android is a critical part of any designers day job working in a mobile startup with each asset needing to be exported 4 times for Android (hdpi, xhdpi, xxhdpi, xxxhdpi) and 2 times for iOS (regular and retina). Luckily this process can be automated from photoshop using the Cut and Share Plugin.
PS Play Mobile iOS App — Mirroring App
The amazing thing about designing for mobile is that things always look different on mobile! This is where PS Play Mobile comes in. It allows you to display a design you are working on in photoshop on your iPhone.
This is a really handy tool for creating illustrations (big surprise there), but also for icon creation. We also use it for creating lower fidelity wireframes.
We use Indesign for all our print needs, we design everything from posters to business cards with it.
Adobe After Effects — Animation Design, Video Editing
After Effects is a powerful video editing program. In recent years, it has gained massive popularity for UI motion design and we use it for this very purpose. It is an amazing tool that enables us to plot transitions, show flows and create some awesome and compelling animations.
Origami — Prototyping
Facebook’s open source Origami is an awesome app for designing prototypes and version 2 is a great update. The program allows designers and developers alike to create awesome interactive prototypes that can be downloaded and tested on the devices that we are building for. The best bit is that we can export the code to the developers to save time!
Pinterest — Content Sharing
Pinterest is a content sharing service that allows members to ‘pin’ images, videos and other objects on boards. We use Pinterest to keep track of any visual inspiration we come across. A perfect example of how we use Pinterest is our upcoming Material design build. Brendan (our CEO) created a board for all images related to Material Design. This board can then be used by our design team to gain further inspiration. You can see our Material Design Pinterest board here!
Dribbble — Inspiration
Dribbble is one of our sources for design inspiration. It is full of brilliant designers, designing brilliant things. It is also where we found our first designer (Hey, Rick!).
Marketing/ HR / Community
Desk — Customer Service
Desk is a fast, awesome customer service platform for small businesses. One thing to be prepared for when launching a product is the masses of feedback coming from many locations. Desk is a solid accumulator of all this information. From in app feedback to customer emails, having all of this information in one place will save your community manager lots of unnecessary hassle.
Intercom — Communication Tool
Intercom sends targeted emails and in-app messages, triggered by time or behaviour. The ability to send targeted emails and in app messages are critical to all communications within any startup. When a new customer signs up to Soundwave, they will automatically receive a welcome email. When they play their 1000th song, they get a push notification. These are just a few of the hundreds of triggered communications we have setup at Soundwave. We have also built a full suite for push notifications using Google Cloud Messaging (GCM) and Apple Push Notifications (APN). This setup is used to send out repetitive push notifications.
Mixpanel — Communication Tool
Mixpanel tout themselves as the most advanced analytics platform ever for mobile and the web. As we built our analytics and insights platform internally we used Mixpanel mainly for their triggered notification system. Mixpanel is a really professional and reliable piece of software. Once you get a full understanding of how it works, you can seamlessly add your notifications. One of the key sets of notifications we setup in Mixpanel were used to tackle churn.
Cost: Good value but can add up if when you start getting lots of users
Medium — Blog publishing
If you are reading this post on Medium then there is no need for me to explain what it is. If not, Medium is a blog-publishing platform. It was founded by Twitter co-founders Evan Williams and Biz Stone. One feature we use within Medium which some people may have missed is publications! A publication is essentially a magazine where you can publish all relevant posts in one place. We use publications to group all the Soundwave blog posts together. You can see our publication in action here!
Alternatives: Blogger, Wordpress
Usertesting.com — App testing
Usertesting.com allows you to get videos of real people speaking their thoughts as they use your product. It has become an integral part of our testing routine. When we are completing our Alpha and Beta stages of a new build we also send them into user testing. This allows you to test clean (new) phones, in a random location with a new user. You can be really specific about the tester you want, choosing age, location, and even device type.
Google Plus — Communities
Having a community of people that are willing to test your pre-release builds is a very valuable resource. Google Plus communities are perfect for this. Soundwave has it’s own testing community of over 315 users that help us with every new build. Google Plus Communities also slot perfectly into the Google Play Developer consoles Alpha / Beta setup meaning releasing to only this community is a breeze. Check out our test community here.
Mail Chimp — Email
Mail Chimp is an online email marketing solution to manage contacts, send emails and track results. When we want to keep things simple and send a mail to a big group of users we use Mail Chimp.
Vimeo — Video Hosting
Vimeo is a video-sharing website in which users can upload, share and view videos. We use Vimeo to host our video content. All the videos you can see on our website are hosted on Vimeo
Twitter — Social Media
We have quite a large and loyal community on Twitter! We use this platform to communicate with our users directly, share content and news about Soundwave and run marketing campaigns. Through our use of Twitter, we have also started to use complimentary services like JustUnfollow, Twtpoll, TweetStats and most importantly, Bufferapp.
Bufferapp — Scheduling tool
This allows us to schedule content for 10mins from now, a day from now or even a year from now! It helps our marketing team to structure campaigns and keep our online presence constant (even when we’re not in the office!)
Facebook — Social Media
We use Facebook to tell the world how great we are.
Instagram — Social Media
We use Instagram to show the world how great we are.
Where to store our files continuously comes up for debate in Soundwave. We started off using Dropbox. Once Dropbox started to fill up, we bought an internal setup and moved across to Google Drive when we bought Gmail for work. Finally, we moved to Box for a clean start. Despite this, we take full advantage of whichever service we are currently using! Every project we work on is stored in the cloud. This means I could pick up Brendan or Craig’s laptop tomorrow and continue on working on any of my projects.
Aaaaaand there you have it! The 64 pieces of software needed to run a tech startup company!
Thanks for reading — Feel free to connect with me and if you liked this post, please recommend it ☺.