The Ball is in our court and control with the Sphero C# Controller (WP8, MonoDroid, MonoTouch and more)
- Posted: Dec 07, 2012 at 6:00 AM
- 4,831 Views
- 4 Comments
Loading User Information from Channel 9
Something went wrong getting user information from Channel 9
Loading User Information from MSDN
Something went wrong getting user information from MSDN
Loading Visual Studio Achievements
Something went wrong getting the Visual Studio Achievements
I'm not sure if this is a awesome Hardware Friday most, a Mobile Monday post, a Modern Monday post or a Wild Wednesday post. Well, actually I think it's all four!
Meet my latest open source project - meet BallControl for Sphero:
Here's a first video I made for the project - sorry about the low audio volume!
Xamarin the Native, Sphero the Ball and Lumia the Phone....
After a long week of coding, this experiment in sleep deprivation reaches its inevitable conclusion....
Featuring:
- Xamarin.Mobile Picture capture
- Native voice control
- Native accelerometer control
- Native UI with lots of touch
- Native BlueTooth
- Guest Starring Sphero the ball
- Cross platform Mvvm
Xamarin the Monkey.... because going Native matters
...
Some technical info
The project demonstrates Xamarin.Mobile by using Xamarin.Mobile media picker.... But, beyond that it also extends Xamarin.Mobile tackling some elements of several Xamarin.Mobile requests on uservoice:
- File/Directory browser API.
- Cross Platform Project File Solution
- Multiplatform MVVM Framework
- Bluetooth API
- Posting things (links, txt, pics,..) on Facebook
- Accelerometer
- Make Xamarin Mobile API open source
The Source
The source is on: https://github.com/slodge/BallControl
Currently, we have:
- a working WP8 app
- a working (but ugly) MonoDroid app
- a non-working Windows Store app - it seems that Windows Store does not yet support BlueTooth SPP devices - which is so bad
![]()
I will get a MonoTouch app working soon....
I will also post to the WP8 app store soon.
And I will post some more videos soon....If anyone is interested in how the app was built I did live blog the first 10 hours of coding... see PDF at http://sdrv.ms/V8xdmV (or email ...
A BlueTooth/Accelerometer/Camera/VoiceControl app for fun and for Developer Competition
Ball Control is an open source Sphero controller.
To use Ball Control, you first need a Ball - get your Sphero from http://gosphero.com - and in the UK from http://www.firebox.com/product/5367/Sphero
WHAT?
Ball Control's first target platform is Windows Phone 8 where it makes use of Portable Class Libraries, Xamarin.Mobile library, and MvvmCross
The app allows you to control your ball - currently you can control:
- heading
- rolling
- colo(u)r
- tail light on/off
Using the WP8 APIs - abstracted inside PCL MvvmCross plugins, you can control these things using:
- touch
- tilt
- voice
The current repo includes a first version of Ball Control for Xaramin Mono for Android. this is in draft at present - it works but is not styled yet. Ball Control will also soon provide WinRT and Xamarin MonoTouch for iOS version
PROJECT DETAILS
The goal of this application was to show off C# Mobile coding, specifically showing off the use of C# native solutions including the use of Xamarin.Mobile products. It was also a chance for me to write some fun code after being on 'business logic' for a few months. This application uses MvvmCross and Portable Class Libraries throughout - there are no #if statements allowed - it's AmazeBalls.
This project includes:
- Xamarin.Mobile
- Media Picker
- Really easy way to take a photo - took seconds to add to my app
- MvvmCross
- Mvvm Platform
- Plugins via IoC and PCL for code sharing
- Windows Phone 8 SDK
- Voice Control
- BlueTooth
- Accelerometer
- Android SDK with Xamarin's Mono for Android
- BlueTooth
- Accelerometer
- more coming soon....
Other platforms and features will be added soon....
There are some NUnit unit tests included - I ran out of time a bit - so coverage is not huge. More will be added!
...
Now how awesome is that!
Already have a Channel 9 account? Please sign in
Follow the Discussion
Oops, something didn't work.
What does this mean?
Following an item on Channel 9 allows you to watch for new content and comments that you are interested in. You need to be signed in to Channel 9 to use this feature.What does this mean?
Following an item on Channel 9 allows you to watch for new content and comments that you are interested in and view them all on your notifications page.sign up for email notifications?
Thanks for the post about my project
I've definitely been coding4fun - and this is only just the beginning 
Everyone please vote on this app at: http://www.windowsphonegeek.com/lumia-geek-8-week-challenge/ball-control
Is there any chance anyone from Microsoft can contact me urgently so I can get this app on to Windows 8 too: http://slodge.blogspot.co.uk/2012/12/sphero-ball-control-for-windows-store.html
Thanks
Stuart
@slodge: I'm trying to find a good Microsoft connection for you now...
Thanks gduncan411 - we're still adding cool stuff to this - would love to get it legally on the bigger screen.
Today's hack was showing what async and await were really made for: http://slodge.blogspot.co.uk/2012/12/async-and-await-were-made-for-sphero.html
Great work. I just downloaded your sphero app and it was really cool. Have been playing with it all afternoon :)
Just a suggestion (and take it if you choose to)... There would be a lot of value in abstracting all the "Sphero" related modules into a single DLL. Right now, I'm very eager to fork your project and hack it to death, but honestly I barely have time from work and between some other side projects. you already have most of the modules... Would it be possible for you to put out a library for C# / .net for sphero. I feel it would have more adoption that way :-)
Thanks again for your work. I really really look forward to more apps around sphero.
Remove this comment
Remove this thread
close