Friday, December 23, 2011

We abandon GoDaddy in protest of their support for SOPA

Due to recent support from GoDaddy, the world's largest Internet registrar, of the SOPA legislation I have decided to abandon the company as a customer. I will vote with my wallet and move all my domain to Namecheap.

The new SOPA legislation has been going strong through Congress in the US. It will allow the middle men to censor websites for all American netizens. They will be their own judges and doesn't even have to notify a website that it's about to lose all traffic from the US.

These people are already abusing the current law. They are taking down critical videos which they have no copyright over. Now the laws are about to become even more extreme just to protect this industry. Remember, an industry that is among the strongest right now, with record profits, during a financial crisis.

Now the world's largest Internet registrar, GoDaddy, have announced their support for this madness. Enough with this.

On 29th there will be a "move your domain day". A lot of people have gone together to move away from GoDaddy and give our money to other registrars instead. If you own a domain on GoDaddy please move it, it's really easy and cost less than $10 per domain.

Stop SOPA!

Update: GoDaddy has announced that they no longer support SOPA. But it's too late. We will switch to Namecheap.

Friday, December 16, 2011

Support your artists, a new way to tackle piracy

The last couple of months I have been trying to figure out a way to both raise some money for our project so it can sustain itself, and find new ways to tackle piracy.

Send any amount of money to any artist.

I have come up with a number of ways to both ensure that artists get money to make sure that they can continue to practice their arts, and also let culture flow to enhance our society. As a first step towards this masterplan I am working on a way to let fans all over the world send money directly to their favorite artists.

We all love our artists
All of us have a special connection to the music we love. Music has a certain way to fill us with good feelings and enjoyment. Of course we want our favorite artists to continue making this great music but unfortunately they have been trapped between new technologies, greedy managers and freedom advocates.

Here at Stoffi we want to help fight piracy and ensure that artists can make a living. But we oppose measures such as SOPA, Protect IP Act and IPRED. We even see big holes in "compromises" such as the OPEN Act. We fear the long term consequences of actions such as Operation In Our Sites.

There must be a way to find peace between fans and artists without having to censor the Internet, remove due process and the ability for citizens to defend themselves in court, monitor all communications and force people (whom may be innocent) to choose between paying legal fees or settlements.

Removing the middle man
Some of the reasons people download music for free (I don't want to call it illegal because in many countries it actually isn't... yet) are many. However, a few one stands out. First of all is the availability. A lot of content and services are not available to people outside US. Here in Sweden there's no Rdio, no Pandora, no Hulu, no Netflix, no iTunes Match, and so on). And a lot of underground music cannot be found in your local store or on Amazon or iTunes. Technologies such as P2P have helped a lot of smaller artists gain a wider audience and find new fans.

Secondly is price, a lot of fans would simply not be able to enjoy as much music as they do today if they were forced to pay the amounts that they are asked. Resulting in they never getting to know a lot of the smaller artists that are just today gaining ground.

Lastly, and the point that suggest a solution to, is the fact that most of the money goes to record labels and other middle men. When you buy a CD or listen on Spotify the majority of the profits made just doesn't reach the artist.

That's why I am building a system to let fans send money directly to their favorite artists. As a donation. Making sure that the money really goes to the artist they want to support.

Control your money
The system will let your keep the power over your money. When you send money to Lady Gaga you can make sure that she gets 100% of it. If we are unable to deliver they money to the artist (the artist is dead, we get no answer because the artist thinks we are a scam saying "Hey, we want to give you money", or we just don't have enough time) you can be sure to get it all back, no fees or charges applied.

You can choose exactly how your money should be distributed.
Note that this is just a mockup, the minimum will probably be lower than $10.

The system will use PayPal which will let us return all your money with just one click. We need to do that in 60 days so you can be sure that within those 60 days the money has either been delivered successfully or been sent back to you. PayPal is even nice enough to refund their fees so you will get 100% of your money back.

That's keeping control over your money!

A way for us to ensure our existence
This system can help Stoffi as well. We don't make any money but we still have bills to pay. The server is not free, the bandwidth is not free and the domain is not free. Then there's always things that are not as easy to measure in dollars such as the time we all spend on the project.

That's why we by default will take 10% of the donations. But we still give you the ability to remove those 10%, change them to 5% or even increase it to 20% if you want to. Again: you control your money.

Future prospects
I really believe in a system where you, the users, can control exactly how your money will be distributed. We could expand this to have you decide how to distribute the money over the artist, the producer, the song-writer and so on.

If the fans gets to decide who gets how much money, it will in effect put pressure on the people involved in music to advertise themselves, convincing you why they deserve your money. I truly believe that such a system will be benefitial. If the producer wants a big cut from your money, s/he will have to make it clear to the fans why s/he is needed, what purpose s/he serve. Very remenisent of how democracy is supposed to work.

I am also envisioning expanding this to letting you decide how we should distribute money inside the Stoffi project. How much should we spend on server, on domain, even on salaries (if we ever get that far). Of course, we will still have defaults, you could just say "here's five bucks" and be done with it. But you can also do precise adjustments of how to distribute your money if you choose to.

Giving you an easy way to actually vote with your wallet.

Thursday, December 15, 2011

Project Remote: Report 9

Project remote has been progressing slowly the past few weeks due to me prioritizing other projects.

Last few weeks
I have reworked the app-side login system. After a valid authentication token has been received from the server, the app now determines if the device has been used as remote before and downloads the desired configuration to synchronize with. Some GUI changes have also been made, most importantly the removal of the time slider.

As usual, server communication. I find it very hard to debug my code when the stack trace (which might contain clues to what the problem might be) is from the server code.

This Week
I will finalize some under-the-hood networking code to account for all problems that might occur during login. I will also allow the user to choose between the available configurations.

Tuesday, December 13, 2011

Project Mind Reader: Report 8

Change of plans and way to many other things to do.

Since last report

Mostly have had to focus on other school assignments, but some big changes have been made to the mind reader. It is no longer client side but rather an analysis done on the server. This can be global for all users to give you a bit more interesting results or done on your own songs. This will be used to recommend new songs to the users (this would require global setting). And also just recommend the next song to be played. Some collection of data has been implemented, but the mining itself is not.

Future plans
 Until Christmas I will be totally out of time but after that, I will implement the mining functions so that the interesting results can be returned to the user, and hopefully hook this up with the cloud functions. More info will come at a time when the work is on its way.

Monday, December 12, 2011

Project Genesis: Report 13

A week full of bugfixes, tests and preparation for a demonstration of our progress this Tuesday. Also got time to move the old "Join" page to the new "Contribute" page. Check out the screenshot below. It features a nice grid of tasks that you can choose from and will now include more information so you can get started with contributing to Stoffi faster and with more ease.

The old "Join" page has been renamed to "Contribute".
And that is a week I had both a written exam and an oral exam. Not bad, huh?

Last week
Just as last week I have been able to complete the goals I set out for myself. Most of the work has been fixing bugs and stabilizing stuff. I started to write some unit tests for the server code as well. Hopefully I can have a full set of tests done before Christmas is over.

I have also started on the new "Contribute" page (which is the old "Join" page). Currently I have more or less just moved some of the original content to the new website, but this is one of those parts of the new website which will feature a lot of new stuff. I plan on doing a web based translation system and get some new content up here so people can get started faster. The old "Join" page was more or less just a text telling you to send us an email. Now I want to add more resources and give people an idea of what they can do before they have to contact us.

Lastly, I have been preparing for a demonstration which we will hold tomorrow for some people at the university. We will show off our progress and hopefully impress a little bit with our new, cool features.

As usual during these bug-fixing times there's not too much challenges showing up. The biggest hurdle is the limit of time and the amount of work that has to be done. At our last meeting we decided that the next feature freeze will be moved to the time we finish our report, essentially removing the second beta period from our Hackathon and placing it after the Hackathon has been finished.

This week
This week I will continue to write tests for the server code and I also plan on start hacking on the next version. Perhaps work a little with both Carl and Mark and get them going a bit. I would like to have Stoffi upload playlists to the server for synchronization before the end of the week as well but that is a bit of a stretch. I may have to push that unto the next week. We'll see.

Making sure that nothing breaks during the demonstration tomorrow. I have run everything and it seems to work fine, but you never know. Hopefully it will work fine and we can get some people impressed with our work.

Project Social: Report 12

Project Social have been put on ice for the time being.

Last Two Week
So now the exams have started again and I've got little to no time to spend on the project. The plan now is to focus my time on the exam next week and after that, well, then it's Christmas! So as it stands now, I will wait until at least Christmas have passed before continuing on this project.

Future Plans
So in two weeks (give or take some days) I will continue with coding and getting into the registry to let Stoffi take control over the supported music files/playlists.

Wednesday, December 7, 2011

Project Visual: Report 3 and 4

Lack of time, technical issues and a slight redefinition of my part of the project.

The past couple of weeks have seen pretty slow progress. The tests i have been trying to run have been halted by windows access rights to files and folders (that is what seems to be the problem at least), and finding a solution for this to be able to run my test plugin.

Last two weeks
Due to other things requiring my time i have not been able to put proper time in to stoffi. That is about to change though. What has been done however is some slight modifications to the code design as well as a redefinition of the plugin system itself.

The idea is a more general plugin system, so my job will focus more on getting good and robust code platform to expand the plugin system in the future. The idea is still to have a visualizer plugin system more or less ready to go, at least in a basic sense.

Oh you taunt me with your access rights system...

Im currently having some issues loading my test plugin file in debug mode, or for that matter checking if it loads at all when not in debug mode. But all in all it SHOULD work, so in theory i could keep coding like nothing is wrong. In doing so i might end up having to redo alot of what ive written if im wrong though, and that would suck.

This week
Im going to attempt to solve the issues, and while doing so ill focus on updating the schedule and documentation to match the new parts of project visual. Ill start putting code in which i will not be able to test, but i want to keep such things to a minimum. If i have not solved it until friday ill keep the ball rolling and count on a sollution further on.

Hopefully this issue turns out to be nothing more than a road bump and ill soon be making progress like crazy. I intend to find out soon.

Monday, December 5, 2011

Project Genesis: Report 12

When looking back at the plans I had for last week I am amazed that I actually managed to get everything done. Well, almost everything. I haven't written any tests yet but I have a few left over from a previous project which are not that different from what I'll need for this project.

Just look at the news page I pushed into the new website. The color theme makes it look even more beautiful than it currently does. Especially the action buttons are much easier on the eyes now.

The news page of the upcoming website.

Overall, a very productive week. Even got some studies done for other courses as well. Yay for efficiency!

Friday, December 2, 2011

How to preserve privacy in the cloud

I thought I might ask you guys for some input on how we should formulate our rules of engagement, privacy policy, terms of use, whatever you want to call it, when it comes to our cloud services. And in order to do so we first need to know exactly what data might be shared between you, the user, and our servers.

I think that any user should always be presented with the ability to keep his or her data private, as much as that is possible when it comes to putting data on the Internet. That's why, for example, our cloud services are not essential to your music experience. The services are there if you want them, but you should never need them.

But if you start to utilize our cloud services you will have to send us some of your data. So what data will we get?

Every Song You Listen To
First of all there's the ability to send us what songs you are listening to. We do this because then we can send that data to Facebook (when they open their new API from closed beta) and (when the OmniAuth gem works).

To begin with this feature is disabled by default. But when you enable it (when you send data to us) we will send out data to other services you might have connected by default. We think that this is a fair balance. It makes it easy for the average user (they only have to enable it in a single place) while at the same time enabled the more savvy users to keep control over where their data is sent.

We also think it would be cool to build some nice graphs for you guys so you can see which artists you listen to the most or which genres you ditched last year. Kind of like but directly inside the music player.

Listening patterns are also a vital part of information for our Project Mind Reader, so its algorithms can determine which song you would most likely want to hear.

Every Song You Share With Others
When you share a song in Stoffi it is sent to our servers where they send it out to any of your connected services, such as Twitter or Facebook.

Again, this is information that our mind reader would benefit greatly from. Songs that you share are naturally more likely to be candidates to songs you want to hear.

The Devices You Are Using
I wanted to add the ability for you to track the devices you are using Stoffi on. For example when you want to remotely control something you are presented with a group where your work laptop is, and a group where your desktop at home as well as your personal laptop is. Because even though you actually remotely control profiles, it is always nice to know which device belongs to which profile.

This way you can also monitor how different devices interact with your account. If an unknown device is connected to your account you can track it down, see which application its running (Stoffi Remote? Stoffi Music Player? Some other app that some guy in Korea made?), where it's located and when the access occurred.

But of course, if you know this then we know this. We will in effect be able to track your devices and determine their location, just as you can. We could encrypt the sensitive information (such as the IP address) but then that information might help if your account is compromised and you need us to restore it.

Again, this will only happen if you connect Stoffi to our cloud services, which is totally optional. But I would still like to get some thoughts from you guys.

The Ability To Change Your Mind
A pretty big thing to point out here is that I plan to provide the ability to completely wipe your data of our servers. Either by just removing your account, or by removing certain kinds of data (just like when you clear cache in your browser).

I believe that the combination of having all data sharing off by default and providing the ability to completely remove any data associated with your from our servers will be big steps toward building some trust. Trust, which we need if we are to ask you to give us your personal information.