The Big Idea
September 08, 2015 in bliss by Dan Gravell
Over the past months, maybe years, I've been harbouring a new idea for bliss at the back of my mind. It's ambitious, a little daunting and potentially risky. It's not a functional idea; it's a platform/delivery one.
My idea is to move all of bliss online.
Currently, bliss is an application downloaded and installed on a computer. It connects to music files in the local network, and connects to music information databases on the Internet to find metadata, cover art etc.
The idea is to change this so that only a very small, very lightweight "agent" was downloaded, capable of scanning and making changes to your local music files. Everything else would be done at, say, http://app.blisshq.com
. I'll use that moniker as the codename for this idea from this point.
I really want to know what you think of this idea. Would it stop you using bliss? Would you welcome it? I've tried to assemble the benefits of this move to me and you below, but first a little more detail about how this would work.
How it would work
For a new user, instead of immediately clicking the big "Download" button and then going through the installation process, you'd be asked for your email address. This is like signing up to any other service on the Internet; you'd then get an email with a login to get started.
Once logged in to app.blisshq.com
you would begin setting up your music rules. Maybe, in parallel, the agent software would download and install in as slick a manner as possible. Once the agent is installed and starts scanning, it sends information about your tags to app.blisshq.com
. It's there we assemble this information into a coherent music library, making sense of your tags. Just as bliss does now, except not on your computer.
With the information about tags being known to app.blisshq.com
and the requisite albums, artists and so on within the music library being understood, bliss's familiar rules can then be run over the music library. All the existing rules would run - checking cover art resolution, genres, artist name canonicalisation and more.
The difference is that it is the agent sitting on your computer which receives the instruction to update your music files.
Initially the existing "full" server version of bliss will also be available for download and would be supported. Its future would depend on its use; if app.blisshq.com
is overwhelmingly successful, the full version could be withdrawn.
Existing unlimited licence holders would get unlimited, indefinite access to app.blisshq.com
. For new users, I am pondering whether adopting time based subscription plans may be appropriate. When bliss is running "in the cloud" its operational costs would be higher, as I am no longer using the computing power you have already purchased, I'm using power I've purchased. This seems to fit better with a time period subscription plan, so payment can scale with the amount of use.
The elephant in the room
I want to highlight this now: the big issue with this idea which worries me and might harm its adoption. Privacy.
We've all heard the horror stories about social media companies storing all sorts of data, data breaches with banks, even music streaming services being a bit loose-and-free with what data they demand from you.
Here's how I'd go about addressing this:
I'd have a full privacy statement written up, with a TL;DR section at the start of the document in plainer language.
Usernames and passwords will of course be encrypted following best practices. No payment data would be held at app.blisshq.com
, that would be the responsibility of our payment partners (probably the same two as now; Paypal and Stripe).
There would be no requirement to provide data that identifies you in "the real world". In time we would probably look to integrate with social media (Twitter and Facebook profiles) but there would be no requirement to do this.
I may seek to use aggregated data in different ways. For example I might want to produce an infographic showing the most common album owned in bliss, or the most common genre tag, or the average resolution of cover art. All such data would be treated at an aggregate level and everything would be anonymised. I may consider selling the data, but again only in aggregate. There would be no link between the data and individuals/organisations.
You would be able to delete all of your data at any time ( we ain't Ashley Madison).
I wonder if there might be a way that we can provide all the data we hold about any one individual account in a download, for maximum transparency.
But back to the idea. So what does this mean to you and me?
Benefits for you
It's hard to prioritise the benefits to you because it depends on your situation. So I'll just list the things that spring to mind.
First, hardware requirement would be dramatically reduced. With less code running, it would be easier to support bliss on NAS and embedded devices, and bliss would run faster than ever on "normal" computers and servers.
The bliss download would be much, much smaller. The two key reasons for the current large size of the download is because we bundle both a Java virtual machine and the full Scala SDK with each download. Whereas our OS X download is currently around 100MB, I would've thought we'd be around 1% of that with this improvement.
I'd be able to offer help and support easier and faster. Because all of your data is held on our servers I am unlikely to need to delve into debug logs (unless the problem is in the agent).
Updates will be rolled out immediately. We may even switch away from the current "batch" of improvements in each release and move to a rolling upgrade process instead, just as any other interactive website functions. You wouldn't have to do anything; new features and big fixes would just appear.
Benefits for me
I'm in a better position to say what is of most benefit for me at this stage. The big advantages for elsten software would be an improved "onboarding" process, hopefully leading to more sales, and lower support costs as the service becomes easier to support.
"Onboarding" is the experience of first-time users as they use bliss for the first time. Currently this means: downloading -> install [not OS X] -> running -> configuring. This would change to: signup -> click confirmation in email -> configuring. The general rule is that the simpler the onboarding process the higher the sales.
Down the line I'm also hoping for better marketing of bliss; hopefully lower friction would lead to more people talking about the product, and social media integration may help with the "virality" of the product.
It may even be that bliss without the software agent may in some way be useful. Either for finding cover art, exploring musical metadata in some way, who knows? I also wonder whether there may be a way of integrating with streaming services in some way.
How do we get there?
The first stage has begun; this blog post is it! I'm writing this to assess the feasibility and get existing users' and site visitors' opinions. I'm interested in every ones thoughts, so please let me know, either in the comments below or via another channel.
In terms of implementation, I would probably approach this one OS at a time, to minimise risk. Which OS this is I'm not sure... although for some reason porting the OS X version makes a lot of sense; there are enough users for the results to be meaningful, but it also accounts for slightly more customer support issues than other platforms.
Comments?
This is a major change. It has far reaching implications to how bliss is delivered, used and sold. As such, I'm really keen to hear as many opinions as possible.
Would this make it less likely you would use bliss and, perhaps most importantly, why?
Thanks to The return of the spiceymexrice! and Music of the sun for the images above.