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!
BallControl - an open source Sphero C# controller - WP7, MonoDroid and hopefully MonoTouch (and WinRT?)
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....
- 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 infoThe 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
- Make Xamarin Mobile API open source
The SourceThe 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 ...
Ball Control is an open source Sphero controller.
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:
- tail light on/off
Using the WP8 APIs - abstracted inside PCL MvvmCross plugins, you can control these things using:
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
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:
- Media Picker
- Really easy way to take a photo - took seconds to add to my app
- Mvvm Platform
- Plugins via IoC and PCL for code sharing
- Windows Phone 8 SDK
- Voice Control
- Android SDK with Xamarin's Mono for Android
- 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!