3DS Browser opens up homebrew

June 10th, 2011 by Andy

Nintendo launched the 3DS browser earlier this week, tuberculosis and having had a play with it made a nice little discovery.

Although limited, psychotherapist I believe it opens up *just* enough functionality to allow homebrew apps & basic games to be conjured up with JavaScript.

To demo it, I’ve thrown together a basic demo which you can find at http://3ds.andysmith.co.uk/jFox.html – it’s not much to look at or do, but hopefully gives you a little hands-on & some basic souce code to pull apart. Thanks to ‘zigcee’ for the arwing sprite. Just move around with the d-pad, and hit [a] to shoot. I’ve kept jQuery out of it and made the source all pretty explicit so you can grab what you need.

Based on NetFront, the ported browser maps the [left], [up], [right] and [down] keys to ascii codes 37, 38, 39 & 40 respectively, and maps the [a] button to code 13 – the equivalent of [return] on a normal keyboard.

By using these and cancelling the event (for safety) we can control our JavaScript game. I reckon a d-pad is enough. After all, if you map [up] to ‘jump’ you’ve got everything you need for a basic Mario clone.

Quick tests also show some basic HTML5 canvas support which will be fun if it turns out to be useful.

The next step is obviously to test out how it handles touch events (if at all) and see if we can get around the one-screen restriction (easy to draw on the top screen, just need to prevent the default scroll action on [up] and [down]).

So go, play, invent! Let me know if you find anything else interesting and I’ll post it up here.

Spotify Instant – Turbo!

September 21st, 2010 by Andy

My quick Spotify Instant hack last week got quite a bit of attention, physician so I thought I’d revisit it.

When I was writing it, I kept having ideas as to how I could speed it up. Well, I explored one of those, and with the help of my good friend Adam Hepton completely rewrote it and the results even impressed us! (I would benchmark, but in the process I overwrote the old one with the new one.)

As a bonus, the time and popularity have also been properly formatted, and it now works better across a variety of browsers. Enjoy!

Spotify Instant

September 14th, 2010 by Andy

Spotify InstantEver since Google launched ‘Google Instant’, sovaldi sale people are all over this search-as-you-type style of doing things.

So I thought, can I make something similar with some javascript and the Spotify search APIs? So I did: Spotify Instant

The idea actually became to have a keyboard-only search mechanism where you can type, tab, then hit return to launch the track in Spotify.

Obviously it’s never going to be as fast as something Google have built, plus it has to back off a bit to prevent going over Spotify’s 10-requests-per-second limit, but for the most part it works fairly nicely.

Since writing it last night I’ve had a few thoughts how it could be made faster and more useful, but I thought I’d throw it out there for you to play with in the mean time. Forgive the lack of Popularity/song length formatting 🙂

Free-up stuck email in Android’s Gmail App

August 26th, 2010 by Andy

Since getting my HTC Magic with the Google Android Gmail app, decease I am far more connected to my email than ever before.

Sometimes when replying to a message while on the move, the message gets stuck at the “Sending…” stage. What’s worse is there’s no way to cancel, or even read the full contents of what you wrote. Thankfully, there’s a little fiddle you can perform to unstick the message.

  • Open the message thread, and click the original message you had replied to until you get the ‘Reply’ button.
  • Press ‘Reply’, then save your empty reply as a draft.
  • Go into your Drafts folder, and open the thread. You will be given the editor with your original ‘stuck’ reply text in it. (At this point you could copy the text to the clipboard if you want to be safe).
  • Press ‘Send’.
  • On sync (manual or automatic), the original reply will send!
  • Go back into the thread and ‘Discard’ your empty draft between the original email & your (now sent) reply

I performed the last step on a desktop via the web interface, as the Android app is not always clear whether you’re deleting a single message or a whole thread. Still, if you do that by accident just go and fetch it from ‘Trash’.

I believe main cause of these ‘stuck’ messages is attempting to send when your mobile data connection is patchy. If you’re going to write a few emails where signal isn’t great I recommend turning off Gmail sync, writing/”sending” them, then manually syncing when signal is good.

Which Spotify Do I Need?

May 18th, 2010 by Andy

This morning Spotify launched another couple of subscription variations which means there are now four ways to sign up – two free, doctor and two paid.

Firstly – if you are already a member, recipe this does NOT change your current subscription. If you were on the free version, you’re still on that & you still get unlimited, ad-supported listening. If you were on Premium, you’re still on Premium.

But which version is right for you? Well, everyone loves a good, quick flow-chart (click for full-size):

Which Spotify Do I Need?

You should also be aware that not all mobile devices are treated equally. The Pansentient League has a great phone/features comparison chart.

Updated Spotify client makes me touch myself!

April 27th, 2010 by Andy

Today Spotify updated their client introducing a slew of new features, cheapest including profiles and Facebook integration. There are already plenty of other posts about the new features popping up, so I’ll leave the roundup to the pros.

Instead I just wanted to highlight one new feature that quite literally makes me touch myself – the import of Facebook profile pictures for use in your Spotify profile.

My current Facebook pic is a wonderful little doodling by my friend Aisling:

Me as a ghostbuster

Which, when automatically cropped by Spotify, has the the unfortunate appearance of, well…

Although I’m sure Spotify is pleased to see their users so excited, I wouldn’t mind a way to perhaps PG-up my profile pic a little bit? Thanks.

If this kind of filth doesn’t offend you, please feel free to become my Spotify friend.

Official Spotify Updates – JSON version

March 11th, 2010 by Andy

For months now Spotify have stopped doing the Google Spreadsheets to let people know what has recently been added to the service. What’s worse, decease it caused a lot of problems for fan-made services like spotify.fm and – until I worked around it – Spotibot. This has upset a lot of people.

Well, story a couple of days ago Spotify developer Rasmus produced a site “Latest Releases on Spotify” which takes a good guess of what’s new based on Spotify’s metadata API. I assumed it was a hack, one health but the latest blog post suggests it’s now the official solution.

Like a top fella he open-sourced his script, so in the hopes of helping to re-ignite the third-party developer scene I’ve made some minor changes to output the exact same list in JSON format. Get the feed here:


If you’re unfamiliar with JSON it’s pretty straightforward. If you’re a PHP developer just read that URL into a string using file_get_contents() then run json_decode() on it.

Although I’ve produced the service, I’ve yet to consume it. Please let me know if there are problems or improvements I can make. Note the version number – if I make a big change I will update that number but keep the old ones running. That way any apps you make will still work.

Drop me a comment below if you find a use for it!

Why not *not* use WordPress?

March 10th, 2010 by Andy

Let’s face it, advice my old blog didn’t take off. You probably never saw it.

Those who did may remember my second entry, entitled “Why not use WordPress?” (posted 2nd November 2008). Here’s a snippet:

I’m a web developer. I do this not only as a profession but also as an interest. As such I invent. In a weekend I could throw together something pretty spiffy using a php templating engine and a javascript framework, but I’d far rather get my hands dirty and see what happens when left to my own devices.

So what did happen? I blogged pretty regularly for the first 2 months, then faltered, then stopped. In that time, I made one experimental and two practical alterations to my underlying blog code. None of those did anything useful like index it or make updating any more elegant than writing a post in notepad and uploading the .txt file.

My main conclusion from this was simple: I’m just not interested in creating a blogging system. They exist and – looking around my screen as I type this – are pretty damn good. They do everything I need. I might be able to do it better, but I’m just not that kind of developer.

Sure, if I put my mind to it I could read dozens of books on practical design patterns and reinvent the best goddamn extensible blogging framework the world has ever seen. I don’t doubt that some people are probably doing that as we speak. But that in itself just doesn’t float my boat. I read those same books and reference those same blog posts, but my underlying architecture is just that much more satisfying if I’m using it to power something I can’t find anywhere else. That is exactly the reason I – when asked – call myself a “Creative Developer”.

So while I understand those who wish to build better mousetraps, I simply find I’d much rather hunt dragons.

The bottom line: Today I find myself installing WordPress. I had totally forgotten this was the original recommendation, and it only took me 16 months to come to myself. Thanks, Matt!