Announcing Beebdroid for Android

ask about 32-bit emulators like ArcEm, Red Squirrel, Arculator or RPCEmu here
User avatar
kenton
Posts: 87
Joined: Thu Jan 08, 2009 3:25 am
Location: London, UK
Contact:

Announcing Beebdroid for Android

Post by kenton » Tue Jun 14, 2011 3:39 pm

Hey y'all,

At Android development house and boutique consutancy Little Fluffy Toys Ltd we've always been mad Beeb fans, since that's what we used when we were kids. Hopefully you've all tried our rocks-and-gemstones classic Mole Miner including dozens of levels designed by Michael S. Repton of this parish.

Well, we thought we'd take this love a bit further.
beebdroid.png
Beebdroid for Android by Little Fluffy Toys Ltd
beebdroid.png (23.12 KiB) Viewed 3327 times
It's very early days, but this is not a mockup - this is a real screenscrape from a working BBC Micro Model B running on a Samsung Galaxy S.

More details in the coming weeks! Comments, wishlists, and so on greatly appreciated. We'll be recruiting testers in due course, so if you've got an Android phone or tablet and want to get involved, we'd love to hear from you.

Feel free to comment here and/or contact me direct (kenton@littlefluffytoys.com) if you prefer.

Cheers

Kenton and (the genius behind the operation) Reuben
Little Fluffy Toys Ltd

User avatar
tautology
Posts: 369
Joined: Wed Sep 01, 2010 2:26 pm
Contact:

Re: Announcing Beebdroid for Android

Post by tautology » Tue Jun 14, 2011 4:28 pm

Cool - having just upgraded my phone to one made in the 3rd millenium and choosing an Android phone (as it's not Apple and doesn't run Microsoft software), I'd be happy to test this for you!

User avatar
Kecske Bak
Posts: 692
Joined: Wed Jul 13, 2005 7:03 am
Location: Treddle's Wharf, Chigley
Contact:

Re: Announcing Beebdroid for Android

Post by Kecske Bak » Tue Jun 14, 2011 4:37 pm

I think this is fantastic news - in my view there's really no better way to celebrate the Beeb turning 30. =D>

User avatar
LeeB
Posts: 207
Joined: Sun Aug 20, 2006 1:51 pm
Contact:

Re: Announcing Beebdroid for Android

Post by LeeB » Tue Jun 14, 2011 7:08 pm

ooh, very nice! have always wanted a beeb emulator for my android.

I have an HTC Desire HD if that's any help with testing?

User avatar
davidb
Posts: 2231
Joined: Sun Nov 11, 2007 10:11 pm
Contact:

Re: Announcing Beebdroid for Android

Post by davidb » Tue Jun 14, 2011 10:10 pm

How are you dealing with the issue of distributing the ROMs? It would be good to finally get some sort of agreement/license sorted out for those, and for the Electron ones, too.

User avatar
kenton
Posts: 87
Joined: Thu Jan 08, 2009 3:25 am
Location: London, UK
Contact:

Re: Announcing Beebdroid for Android

Post by kenton » Tue Jun 14, 2011 10:15 pm

davidb wrote:How are you dealing with the issue of distributing the ROMs? It would be good to finally get some sort of agreement/license sorted out for those, and for the Electron ones, too.
No idea yet. Ideas?

User avatar
kenton
Posts: 87
Joined: Thu Jan 08, 2009 3:25 am
Location: London, UK
Contact:

Re: Announcing Beebdroid for Android

Post by kenton » Tue Jun 14, 2011 11:17 pm

...and here you go - my first BBC Micro program written on an Android device!
helloworld.png
Hello World
helloworld.png (74.42 KiB) Viewed 3284 times

User avatar
tautology
Posts: 369
Joined: Wed Sep 01, 2010 2:26 pm
Contact:

Re: Announcing Beebdroid for Android

Post by tautology » Wed Jun 15, 2011 6:58 am

I thought I'd have a look at Mole Miner and I've fallen at the first hurdle: permissions. Mole Miner wants the following:
  • Network based location
  • Internet access
  • Read phone state and identity
  • Prevent phone from sleeping
Now I could probably understand Internet access (if adverts are used) and preventing the phone from sleeping, but the other two are ones that I'm not going to give to a game without a good reason. Why are they needed?

Android has strangeness about permissions: it's has a relatively fine-grain set of permissions, but has the design flaw that it doesn't let the user over-ride them, hence I'm very picky about what I install.

(I've actually seen games/silly out there that request the ability to call premium numbers and I bet that there are people who install them without thinking!)

User avatar
kenton
Posts: 87
Joined: Thu Jan 08, 2009 3:25 am
Location: London, UK
Contact:

Re: Announcing Beebdroid for Android

Post by kenton » Wed Jun 15, 2011 7:16 am

tautology wrote:I thought I'd have a look at Mole Miner and I've fallen at the first hurdle: permissions. Mole Miner wants the following:
  • Network based location
  • Internet access
  • Read phone state and identity
  • Prevent phone from sleeping
Now I could probably understand Internet access (if adverts are used) and preventing the phone from sleeping, but the other two are ones that I'm not going to give to a game without a good reason. Why are they needed?
If you don't like it, don't install it - that's fine - but these are fairly benign permissions anyway. Location is so it can do local highscores, and phone state is so it can get a unique ID to register them with.

User avatar
Samwise
Site Admin
Posts: 1823
Joined: Mon Mar 14, 2005 9:13 pm
Contact:

Re: Announcing Beebdroid for Android

Post by Samwise » Wed Jun 15, 2011 9:54 am

I think I've seen some apps include that sort of explanation in their descriptions ... makes the paranoid people like tautology more at ease. :)

Sam.

User avatar
kenton
Posts: 87
Joined: Thu Jan 08, 2009 3:25 am
Location: London, UK
Contact:

Re: Announcing Beebdroid for Android

Post by kenton » Wed Jun 15, 2011 10:04 am

Samwise wrote:I think I've seen some apps include that sort of explanation in their descriptions ... makes the paranoid people like tautology more at ease. :)
Meh. It doesn't matter what we say in the description - you should go with your interpretation of the permissions, the number of installs, the rating, and make a judgement call as appropriate.

User avatar
Dave Footitt
Posts: 784
Joined: Thu Jun 22, 2006 9:31 am
Location: Abandoned Uranium Workings
Contact:

Re: Announcing Beebdroid for Android

Post by Dave Footitt » Wed Jun 15, 2011 11:05 am

Top work, looks good guys =D>

User avatar
sdcbmthsch
Posts: 138
Joined: Sun May 24, 2009 11:43 am
Contact:

Re: Announcing Beebdroid for Android

Post by sdcbmthsch » Wed Jun 15, 2011 12:24 pm

Looks fantastic. I am led to believe that some Android apps will work on the Blackberry Playbook; if this is the case, I'd be interested in trying this out on mine.

User avatar
kenton
Posts: 87
Joined: Thu Jan 08, 2009 3:25 am
Location: London, UK
Contact:

Re: Announcing Beebdroid for Android

Post by kenton » Wed Jun 15, 2011 1:32 pm

sdcbmthsch wrote:Looks fantastic. I am led to believe that some Android apps will work on the Blackberry Playbook; if this is the case, I'd be interested in trying this out on mine.
Oh man - we can't even get it working on Honeycomb tablets yet! But would be amusing if we got BlackBerry for free.

User avatar
tautology
Posts: 369
Joined: Wed Sep 01, 2010 2:26 pm
Contact:

Re: Announcing Beebdroid for Android

Post by tautology » Wed Jun 15, 2011 4:37 pm

Samwise wrote:I think I've seen some apps include that sort of explanation in their descriptions ... makes the paranoid people like tautology more at ease. :)
Not really paranoid - I've just worked in the security industry for too long that I know how I would abuse that sort of information/access if I had it.

The fault's not really with the app developers: it's more with the design of Android's permission management, as the user I should be able to over-ride it's requests for permissions, especially if it's for stuff that I don't really want (like shared high score tables - I can be rubbish by myself without wanting to let everybody know how bad I am :-)

User avatar
kenton
Posts: 87
Joined: Thu Jan 08, 2009 3:25 am
Location: London, UK
Contact:

Re: Announcing Beebdroid for Android

Post by kenton » Thu Jun 16, 2011 3:37 pm

tautology wrote:as the user I should be able to over-ride it's requests for permissions, especially if it's for stuff that I don't really want
As a developer I couldn't disagree with you more. It's mutual obligation. If you won't accept it, don't download it - simple as. We'll get over it - so will you. Mods that let you change these permissions will cause unexpected crashes and app data corruptions, because the developers have designed and coded their apps in the knowledge that they have the permission.

User avatar
kenton
Posts: 87
Joined: Thu Jan 08, 2009 3:25 am
Location: London, UK
Contact:

More screenshots

Post by kenton » Thu Jun 16, 2011 3:40 pm

Still a long way to go, but getting there.....
frak.png
Frak!
frak.png (81.52 KiB) Viewed 3186 times
device2.png
Chuckie
device2.png (15.82 KiB) Viewed 3186 times

User avatar
Rich Talbot-Watkins
Posts: 1367
Joined: Thu Jan 13, 2005 5:20 pm
Location: Palma, Mallorca
Contact:

Re: Announcing Beebdroid for Android

Post by Rich Talbot-Watkins » Thu Jun 16, 2011 3:57 pm

kenton wrote:As a developer I couldn't disagree with you more. It's mutual obligation. If you won't accept it, don't download it - simple as. We'll get over it - so will you. Mods that let you change these permissions will cause unexpected crashes and app data corruptions, because the developers have designed and coded their apps in the knowledge that they have the permission.
I would say that it's perfectly possible to develop an app in the way that tautology would like, allowing the user to refuse permission to perform 'sensitive' operations. Provided the API is decent enough, it should always be possible to query whether your app has permission to do something, and then only do it if it has! In fact any decent API should return an error code, which you should handle gracefully, if an operation couldn't be carried out due to insufficient permission.

Granted, this is a bit more work for the developer, but it improves the user experience hugely. Having worked with Sony, Microsoft and Nintendo, I know that no submission would pass their internal QA if they didn't respect the user's preferences. I know the Android and iOS market is somewhat more 'anarchic', and it seems to me like the requirements for getting accepted into the Apple app store are down to a mixture of luck, voodoo, and nepotism.

User avatar
kenton
Posts: 87
Joined: Thu Jan 08, 2009 3:25 am
Location: London, UK
Contact:

Re: Announcing Beebdroid for Android

Post by kenton » Thu Jun 16, 2011 4:08 pm

Rich Talbot-Watkins wrote: I would say that it's perfectly possible to develop an app in the way that tautology would like, allowing the user to refuse permission to perform 'sensitive' operations.
No it's not possible. The complaint is that Android Market asks for the permission at install time. There's no way of rejecting any particular permission - it's all-or-nothing. Some aftermarket mods are appearing that allow the user to do this. This is spectacularly stupid if you expect the app to behave as designed - when the app knows it has this permission as it was granted it at install time.

I suspect what you're proposing is some secondary config inside the app that, once the user has given the app the keys to the kingdom, the app promises it won't use them if the user says no. Riiiiiiiiiiiiiiiiiight ;)

User avatar
kenton
Posts: 87
Joined: Thu Jan 08, 2009 3:25 am
Location: London, UK
Contact:

Elite

Post by kenton » Thu Jun 16, 2011 4:08 pm

Elite
elite.png
Elite
elite.png (27.78 KiB) Viewed 3178 times

User avatar
Rich Talbot-Watkins
Posts: 1367
Joined: Thu Jan 13, 2005 5:20 pm
Location: Palma, Mallorca
Contact:

Re: Announcing Beebdroid for Android

Post by Rich Talbot-Watkins » Thu Jun 16, 2011 5:04 pm

kenton wrote:No it's not possible. The complaint is that Android Market asks for the permission at install time. There's no way of rejecting any particular permission - it's all-or-nothing. Some aftermarket mods are appearing that allow the user to do this. This is spectacularly stupid if you expect the app to behave as designed - when the app knows it has this permission as it was granted it at install time.
I understand - I didn't realise Android worked like that (it's a platform which doesn't really interest me if I'm honest). Frankly, that sucks. I agree that anyone who uses mods to change the behaviour of an app which was installed expecting certain permissions shouldn't expect it to still work properly.
I suspect what you're proposing is some secondary config inside the app that, once the user has given the app the keys to the kingdom, the app promises it won't use them if the user says no. Riiiiiiiiiiiiiiiiiight ;)
Well, it would mean that the app would run ok alongside the aforementioned mods :lol: I guess the alternative is to create an alternative version which doesn't require any permissions to install, but I can understand why you mightn't want to do that either :?

User avatar
sorvad
Posts: 2172
Joined: Wed Aug 24, 2005 12:13 pm
Location: Back of beyond
Contact:

Re: Announcing Beebdroid for Android

Post by sorvad » Thu Jun 16, 2011 7:09 pm

It's looking very good, nice work. How does the user add ssd's ? via adding them to memory card ? or can you download from within game from the net etc.

User avatar
davidb
Posts: 2231
Joined: Sun Nov 11, 2007 10:11 pm
Contact:

Re: Announcing Beebdroid for Android

Post by davidb » Thu Jun 16, 2011 10:11 pm

kenton wrote:
davidb wrote:How are you dealing with the issue of distributing the ROMs? It would be good to finally get some sort of agreement/license sorted out for those, and for the Electron ones, too.
No idea yet. Ideas?
Not really. Maybe get in touch with Sophie Wilson and ask if there's a chance you could redistribute the ROMs. Perhaps mention the Beeb's 30th anniversary and say what a nice present it would be for posterity if the distribution issue was resolved.

Being a software freedom kind of person, I think it would also be quite nice if they could be licensed under something that's compatible with the Debian Free Software Guidelines (http://www.debian.org/social_contract#guidelines), for example, but that might be aiming a bit high. I hope the source code for MOS and BASIC are preserved somewhere.

User avatar
sorvad
Posts: 2172
Joined: Wed Aug 24, 2005 12:13 pm
Location: Back of beyond
Contact:

Re: Announcing Beebdroid for Android

Post by sorvad » Sat Jun 18, 2011 8:12 am

I've got a normal none HD Desire if you want a tester for this.

User avatar
kenton
Posts: 87
Joined: Thu Jan 08, 2009 3:25 am
Location: London, UK
Contact:

Starquake and Repton

Post by kenton » Sat Jun 18, 2011 12:36 pm

Starquake game.png
Kenton's Starquake
Starquake game.png (144.55 KiB) Viewed 3110 times
Repton.png
Repton.png (161.48 KiB) Viewed 3110 times

User avatar
sorvad
Posts: 2172
Joined: Wed Aug 24, 2005 12:13 pm
Location: Back of beyond
Contact:

Re: Announcing Beebdroid for Android

Post by sorvad » Mon Jul 11, 2011 1:46 pm

Have you tested on any Nexus or Desires yet ? They both have the problematic multi-touch. Be interesting to see how some of these games perform when more than one screen press is active. If you've not tested then as mentioned I've got a Desire and will be at the "in da 80's" on Saturday.

User avatar
kenton
Posts: 87
Joined: Thu Jan 08, 2009 3:25 am
Location: London, UK
Contact:

Re: Announcing Beebdroid for Android

Post by kenton » Mon Jul 11, 2011 1:56 pm

sorvad wrote:Have you tested on any Nexus or Desires yet ? They both have the problematic multi-touch. Be interesting to see how some of these games perform when more than one screen press is active. If you've not tested then as mentioned I've got a Desire and will be at the "in da 80's" on Saturday.
You might be SOL on this. If the hardware doesn't support multitouch, you're never gonna be able to play games decently on it. Anyway, you can have a go on Saturday.

In any case, a gigahertz processor will likely be the minimum spec we'll allow it to run on, as well as an 800x480 screen. B-Em had to be optimised like mad to run at anything above about 12fps. We've also had to fake the screen updates and only update every other screen (at 25fps) whilst allowing the emulator to think it's running at 50fps - it looks a bit odd in games that flash alternate frames, so for some of these that don't require massive performance (hello my Starquake and Hyper Viper) we've given them "passes" to run at the real 50fps.

The thing we've taken away from this is that these really are still telephones, not computers - these chips are where we were at over a decade ago with PCs, and they really struggle.

The good news is, games run like a dream on Honeycomb tablets, which have 10-point multitouch and therefore you have no worries at all :-)

User avatar
sorvad
Posts: 2172
Joined: Wed Aug 24, 2005 12:13 pm
Location: Back of beyond
Contact:

Re: Announcing Beebdroid for Android

Post by sorvad » Mon Jul 11, 2011 2:10 pm

Nexus and desire both 1ghz, and support multi touch, problem with them is that they have got an odd hardware bug that really only effects games and not normal multi touch apps. Anyway look forward to an install and try on Saturday :)

User avatar
kenton
Posts: 87
Joined: Thu Jan 08, 2009 3:25 am
Location: London, UK
Contact:

Re: Announcing Beebdroid for Android

Post by kenton » Mon Jul 11, 2011 2:14 pm

sorvad wrote:Nexus and desire both 1ghz, and support multi touch, problem with them is that they have got an odd hardware bug that really only effects games and not normal multi touch apps. Anyway look forward to an install and try on Saturday :)
I know exactly how they don't support multitouch properly because I have three ;) If you cross swipes over the vertical, they fail. It might be OK for game buttons, but swipes will fail.

User avatar
sorvad
Posts: 2172
Joined: Wed Aug 24, 2005 12:13 pm
Location: Back of beyond
Contact:

Re: Announcing Beebdroid for Android

Post by sorvad » Mon Jul 11, 2011 2:43 pm

kenton wrote:
sorvad wrote:Nexus and desire both 1ghz, and support multi touch, problem with them is that they have got an odd hardware bug that really only effects games and not normal multi touch apps. Anyway look forward to an install and try on Saturday :)
I know exactly how they don't support multitouch properly because I have three ;) If you cross swipes over the vertical, they fail. It might be OK for game buttons, but swipes will fail.
I'm referring to a different bug, this one makes game presses an issue without swipes. It's the Y ord exchange problem, no swipes required.

Post Reply