#10: Cloud Sourced iTunes

Recently, I got a HTC Hero. It’s a beautiful smart phone. I managed to get my contract with unlimited data (well, 750Mb fair usage) and that’s made me start thinking more about just storing my media online, and streaming it when I need it. Things will obviously be cached, so I figure my album or two shouldn’t take me too close to that.

I think it’d be fun and useful to recreate the iTunes experience, just for a mobile device in an online environment (browser-based). Different to Spotify because I already own the media, and don’t want to pay a monthly fee. It’d just be my personal use of DRM-free media I have. My library would not be publicly available, or usable by other users.

I’m not too sure on how I could prove that the user owns the song though, and didn’t just illegally download it before uploading it. If this were ever to be a popular service, I’d have to have lawyers and people look into that. Meanwhile, it’ll just be me using it and a few close friends so I can make sure none of them are breaking any copyright.

Not just music media though – podcasts too. They could just be steamed from the server they come from. The service would have to be able to remember where I left off listening to the podcast though, since I rarely finish Geekbox in one sitting for instance.

Update: I found Google Listen! It seems a bit odd at the moment, but I’m sure that’s just me getting used to it. I wish it had a web interface though…

Posted in An Idea A Day | Leave a comment

#9: SMS API (UK)

I know that sending an SMS from my phone to another phone costs Orange almost nothing. Orange to another network probably doesn’t touch a foreign mast (I expect that data is just sent via Internet, a much cheaper way, and it keeps load of the masts) during the network transmission (it obviously uses a mast from the receiver’s network to their phone though). Meanwhile, a lot of businesses would really love a free-to-cheap API for sending messages. Twitter and Google would definitely be up for that, being as they had to make individual deals so far with whoever they’re working with. There’s two massive customers already.

There’s a weird myth about each phone having an email address associated with it for text messages, but I’ve never got that working.

There actually is a way to receive messages, and send messages to a group of users. I use it to get a message whenever a customer emails me. It just takes a little messing around with Twitter. But it shouldn’t have to be that awkward.

Posted in An Idea A Day | Tagged | Leave a comment

How To Waste A Lot Of Time When Storing A Password

A little while ago, an article on how to “safely store a password” was on the front page of reddit. I thought it interesting and saved it. I was just looking through my old, saved delicious links and found it again.

On second read, it’s actually a bit stupid. The first time, I remember thinking “heh! well, come tiny server couldn’t possibly handle a brute force attack on it, so I won’t need to spend the cost of using bcrypt.” Reading it this time, who on Earth has a machine that can handle seven-hundred million requests to log in per second?

Google or Facebook, I suppose. But after the first few millions wrong attempts to log into my account, I’d hope they’d be sophisticated enough to catch on that something is a little weird with these requests and just boot the IP address.

All using bcrypt will do is slow your user down by 0.3 seconds each time the log in — which is a noticeable lag.

tl;dr: Use a double hashed MD5 string. It’s fine.

Posted in Uncategorized | Tagged , | Leave a comment

#8: Better BBC Design

The BBC website isn’t that bad looking. The largest chunk of the page still goes to the content. However, my problem is that it’s a fixed width website. BBC isn’t the only person that I’m annoyed with because of this (The Times and to a lesser extent the Guardian website also only gives a fixed amount of room to the page). Fixed width isn’t bad, but it is when you’re still being supportive of smaller (older) resolutions.

On my not-so-large monitor there’s still a large amount of white space that’s going unused that the content of the site could fill up. The BBC has an obligation to support legacy things for a short while, but they’d still be supported with a variable width design.

The ideal solution to this was if people took more seriously the concept of design and content separation. Blizzard do this amazingly — by just ditching HTML all together. That way I can just disable their CSS, and add my own. I could literally do whatever I want without having to worry about badly formatted or too tailored HTML getting in my way.

Posted in An Idea A Day | Leave a comment

#7: Tables to design

I’m sure there’s  a proper name for this. I know Rails does it. (I should have paid more attention to Agile classes.) I think has something to do with Model-view-controllers? But I’m not sure what that is really either. Showing my ignorance a little here..

So, a class that looks at your table that has the information you which to be displayed on a web site, and it just ahead and formats it for you. I don’t ever want to write that loop again.

Posted in An Idea A Day | 1 Comment

#6: Javascript voice API

This is a little late, so I’m going to set the release time of this entry to about half an hour ago.

I’d really like the ability to do voice commands in my web apps. “Jeeves, send an email to Bob saying I shall be attending lunch today!”

Enough said.

Posted in An Idea A Day | Leave a comment

First week summery

Honestly, I’m a little shocked that I managed to come up with five ideas for the five days that I’ve been doing AIAD. This weekend I’m away in London though, so I probably won’t be able to spend much time on working on one of these ideas. I’ll have my laptop with me, so I can hack something up at least whilst on the coach, or just sitting around.

I’ve not run out of ideas just yet though, so there’ll be more next week.

Posted in An Idea A Day | 1 Comment

#5: National Rail API

A free National Rail interface that let me recreate their journey planner. It’s not that their journey planner isn’t good, it’d just be cool to integrate it’s services into my own services.

Websites for events could have a feature that tells customers what the best train (specifically) would be to get to the event. Not just “Get off at Kings Cross station”, but “Get the train that arrives at 13:23 at Kings Cross”. The API could even let the provider book and order train tickets for the customer.

My calendar could automatically update times for services changes or cancellations.

I probably won’t be able to do this one myself. But it’s a cool idea.

Posted in An Idea A Day | Leave a comment

#4: Better YouTube Conversation

One of the most popular pages on my blog is the YouTube comments suck one, so obviously people are bothered by it and since my independent, ranty blog is still getting traction from moaning, no one is doing anything about it.

Essentially, it’ll be cool to make a new website based around the community rather than the videos. Using the YouTube API, and maybe the Disqus API, I think it’d be pretty easy to make a better place. It wouldn’t be a rip of YouTube — that’s against the API terms — but so long as there’s a definite focus on the conversation about videos, I think it’d be okay.

Also, I’d like to pull comments from reddit and other places that have an API for comments on articles onto the page for the video. Maybe news articles if the video has any related stories. A general mashup of information about the video you’re watching.

Posted in Uncategorized | Leave a comment

#3: Linear, webbased RPG

I’m not sure any of these exist. A story centric RPG that I can play in my web browser that isn’t based on Flash. Final Fantasy or Dragon Age in your browser, or even on your iPhone.

I don’t mean an MMO. Whilst it could be interesting to see that, what I really want is one storyline (maybe with the occasional sub-quests, a la Fallout 3) that I can play through and ultimately complete the game. Then I can start it over again if  like. Or not, doesn’t really matter.

I’d like actual save game files, so I can save at one point and load it again. Something that we do with PC games and console games all the time but I’ve never seen on a web based game.

The pluses for web based games are that they’re cross platform (baring a hack or two to get the Javascript to work in IE, or whatever), and run on almost every machine in existence. Nothing more to download or install whilst you’re at work on a school computer (don’t play games at school, kids).

Posted in An Idea A Day | Leave a comment