Skip to Content »
online prescription solutions
online discount medstore
pills online
buy lorazepam without prescription
xanax for sale
buy xanax without prescription
buy ambien without prescription
ambien for sale
buy modafinil without prescription
buy phentermine without prescription
modafinil for sale
phentermine for sale
lorazepam for sale
buy lexotan without prescription
bromazepam for sale
xenical for sale
buy stilnox without prescription
valium for sale
buy prosom without prescription
buy mefenorex without prescription
buy sildenafil citrate without prescription
buy adipex-p without prescription
librium for sale
buy restoril without prescription
buy halazepam without prescription
cephalexin for sale
buy zoloft without prescription
buy renova without prescription
renova for sale
terbinafine for sale
dalmane for sale
buy lormetazepam without prescription
nobrium for sale
buy klonopin without prescription
priligy dapoxetine for sale
buy prednisone without prescription
buy aleram without prescription
buy flomax without prescription
imovane for sale
adipex-p for sale
buy niravam without prescription
seroquel for sale
carisoprodol for sale
buy deltasone without prescription
buy diazepam without prescription
zopiclone for sale
buy imitrex without prescription
testosterone anadoil for sale
buy provigil without prescription
sonata for sale
nimetazepam for sale
buy temazepam without prescription
buy xenical without prescription
buy famvir without prescription
buy seroquel without prescription
rivotril for sale
acyclovir for sale
loprazolam for sale
buy nimetazepam without prescription
buy prozac without prescription
mogadon for sale
viagra for sale
buy valium without prescription
lamisil for sale
camazepam for sale
zithromax for sale
buy clobazam without prescription
buy diflucan without prescription
modalert for sale
diflucan for sale
buy alertec without prescription
buy zyban without prescription
buy serax without prescription
buy medazepam without prescription
buy imovane without prescription
mefenorex for sale
lormetazepam for sale
prednisone for sale
ativan for sale
buy alprazolam without prescription
buy camazepam without prescription
buy nobrium without prescription
mazindol for sale
buy mazindol without prescription
buy mogadon without prescription
buy terbinafine without prescription
diazepam for sale
buy topamax without prescription
cialis for sale
buy tafil-xanor without prescription
buy librium without prescription
buy zithromax without prescription
retin-a for sale
buy lunesta without prescription
serax for sale
restoril for sale
stilnox for sale
lamotrigine for sale

Tech Life of Recht » More on Andronos

 More on Andronos

  • January 29th, 2010
  • 12:29 am

14 releases later, and Andronos (my Sonos controller for Android) is actually looking pretty good. My 1337 gui skills have been at work, and in my own opinion, the application has been styled somewhat nicely. Basic functionality is present:

  • Detect and list available zones
  • Group zones together
  • Stop/play/next/previous
  • Playlist management
  • Browse music
  • Browse radio stations
  • Volume control, both individual and group volume

I’ve also managed to add some more special features:

  • Quickplay list – I use it for starting my favorite radio without having to navigate the browsing structure
  • Indexing and freetext search
  • Last.fm integration – covers are fetched automatically if none existed locally, and extra info (tags and play count) can be retrieved. Also, it’s possible to love a song using last.fm

All the features of the regular controller which I normally use are done, so I’m more or less ready to drop my iPhone. Now begins the hard part of adding new valuable features – most of them are not particularly easy to implement:

  • Faster – the Android platform is pretty nice to work with, but Andronos is not exactly as fast as the native controller. Caching can add some performance, but in the end, I’ll probably have to do some pretty low-level optimizations all over the place
  • Cover browsing – it should be possible to browse the music archive based on a list of covers
  • Rhapsody and Pandora – probably not hard to do, but neither of the two are available in Denmark. Help is appreciated here – I don’t quite know how yet, but if you’re interested, please contact me.
  • Dynamic playlists – Andronos should be able to dynamically create playlists based for example on loved songs, previously played songs, and so on. Also, it should be able to select music based on a general category (party, relaxing, cooking, whatever)

I’ll probably think of more features to add, but it should be enough for now – there should also be something left for Sonos to do when they get around to making a supported controller for Android.

And then to something a little different, but related. Someone asked me today if I had an opinion of mobile development with Android. Having worked with Android for a couple of my pet projects, there are some things I’ve noticed, and here are some of them, in no particular order. Hopefully, I’ll get time to elaborate on them later on.

  • As a Java programmer, nothing really beats having your normal environment, in my case Eclipse, and all the standard libraries. Need UPnP? Download a library. Need last.fm integration? Download a library. Need raw network access? Download a library using JNI. (in the last case, be prepared to fiddle around with Make-ish files, but it can be done). No need to learn a new language or new basic tools, you just have to learn a new API.
  • It can be a little hard to drop all the fancy patterns and design principles, but it’s often necessary to get acceptable performance. Object allocation and garbage collection is pretty expensive, which is the complete opposite of the regular Java VM, so you have to be careful, and that can hurt in a number of ways (think maintainability, API design, testability)
  • The declarative UI approach works pretty well, but the Eclipse plugin does a pretty bad job of rendering the UI, so in most cases, you have to fire up the app on either an emulator or a phone to get a real look at the UI. A simple thing: Why are styles not rendered in the plugin?
  • The UI does have a number of bugs and undocumented features. Drawables are probably the worst I’ve met. They can be defined in XML, and can be used for eg background gradients, button borders, and much more, but they are truly trial-and-error
  • Android Market works pretty nicely, in principle, at least. I wouldn’t have been able to create Andronos if I’d had a turnaround time of a month for each release. Of course, Andronos is a little special, because Sonos systems can be configured in so many different ways, and I do not have one of each player model, but still. Being able to get a bug report, fix the bug, and release a new version in a matter of 10 minutes is pretty cool.
  • A couple of things about Android Market, though: Why can’t I see the comments in a regular browser, and why can’t I reply to the comments?
  • Fortunately, Andronos is pretty flexible in the layout, so it runs without any serious problems on both small and large screens. However, this can easily become a problem if you haven’t defined the UI in device-independent units, and even then, you might be forced to having different layouts for different devices. I’m guessing Apple will have to cope with this too, now that the iTablet (I forgot its name) is out
  • I can see why root access is something you don’t want to give out to everybody, but couldn’t there be some way of getting partial root access? For example, if I want to send an ICMP packet, I need write access to the network device, but I can’t get that. Why?
  • Error handling could be better when an application crashes. I’ve installed a custom exception handler which emails me stack traces, but couldn’t this just be built-in?
  • The Android API itself is at points somewhat strange. Why do I sometimes need to bitwise add flags to a component? Why must I always remember to call super? Most of the time, it’s just like doing Swing, and I can live with that. The API could be more “modern”, however, and not use inheritance quite as much as it does.
  • Testing isn’t as easy as it could have been (and with Andronos, it’s even harder, because most functionality only makes sense when connected to a Sonos device), but that’s at least in part because GUI testing has never been easy. Just learn to separate UI logic from “business” logic, and then the business logic can be tested as you would normally do it.
  • Most importantly, and this outweighs any disadvantages Android might have: The platform is open, there’s an active community, there’s lot of open source, and you’re not forced into anything

That’s it for now. And no new releases tonight (but that’s probably just because I’ve been musically cultural tonight).

39 People had this to say...

Gravatar
  • NAJ
  • April 12th, 2010
  • 5:34 pm

super app! på høje tide den kom til android :p

kan det passe muligheden for at hoppe/spole i sange ikke virker fuldstændigt? jeg kan se den grønne progress bar for sangen men sangen hopper/spoler ikke ved touch :(

keep up the good work!

mvh NAJ

Gravatar
  • Martin Petersen
  • May 30th, 2010
  • 8:55 am

Hi Joakim, fantastic app! Just saved myself a controller for my Sonos, that money will go toward an Android phone for my girlfriend :)

But before I buy a phone, I need to know if this app will run on an x10 Mini?
- Android v1.6
- Resolution 320×240

Cheers!!!

Gravatar

It’s distinctive for people to know by heart though, you need to buy term papers or buy research papers just because a school isn’t the best at everything doesn’t mean it can’t be the matchless at several things. Essays blogs can implement more usefull for your composition you can also buy essay. But first of all, my obligation to this article, it has a good motivation.

Gravatar
  • casinos
  • September 21st, 2010
  • 10:57 am

Great app, very useful !

Gravatar

you can also buy essay. But first of all, my obligation to this article, it has a good motivation.

Gravatar

I like your style,It looks like you spend a lot of effort and time on your blog. I have bookmarked it and I am looking forward to reading new articles
-

Gravatar

ugg boots

Gravatar
Gravatar

i must let you know that i love you article! really! good jod!

Gravatar
Gravatar

UGG Boots Sale

Gravatar

I admit that it can be a little hard to drop all the fancy patterns and design principles, but it’s often necessary to get acceptable performance. Object allocation and garbage collection is pretty expensive.

BR,
Sarah from onychomycosis treatment

Gravatar
Gravatar
  • uggs
  • March 26th, 2011
  • 10:48 am

erformance. Object allocation and garbage collection is pretty expensive.

Gravatar

acceptable performance. Object allocation and garbage collection is pretty expensive.

Gravatar

acceptable performance. Object allocation and garbage collection is MBT Shoes pretty expensive.

Gravatar

have been searching in Google for long time. Excellent post, thank you so much for sharing. Do you have an RSS feed I can subscribe to?

Gravatar
  • james
  • May 6th, 2011
  • 2:24 pm

This is a in fact good read for me, must admit that you are human being of the best bloggers I ever saw. thanks for posting this informative article.
kings of leon tickets

Gravatar

This is a in fact good read for me, must admit that you are human being of the best bloggers I ever saw. cheap ugg boots thanks for posting this informative article.

Gravatar

This is a in fact good read for me, must admit that you are human being of the best bloggers I genuine ugg boots ever saw. cheap ugg boots thanks for posting this informative article.

Gravatar

A bad workman always blames his tools.

Gravatar

Super app! high time it came to android: p

it can fit the option to skip / rewind through songs do not work completely? I can see the green progress bar for the song but the song jumps / spools not touch

Gravatar

So fun article is! I agree the idea!

Gravatar

Thanks for this post. I’m hesitating about buying it or not. Now I think that I should do it!

Gravatar

Amazing to read this here. Your point have open up my heart. Thank you. Everyone should thumb up for your post. Good. Meanwhile, maybe you will like what I put up here. Few days ago, I fould out one Tory Burch Sale online store you can have an experience, if you have some time. & they sale many Tory Burch Flip Flops I like. Best Regards.

Gravatar
  • dfddd
  • July 8th, 2011
  • 7:45 am

But jiangnan property becoming obscenely wealthy, also have not in simple Vibram five fingers shoes is mostly a terrible thing.” XieMuHua nodded: “is not yao, this went to

Gravatar

I just love it! Thank you for your articles! I wish you every success and look forward to something new

Gravatar
Gravatar

It is best to take piece in a fight for the best sites on the web. And no uncertainty, i will recommend this website. It contains several useful content.

Gravatar

This is a actually excellent go through for me, must acknowledge that you are people of the best web owners I true ugg shoes ever saw. inexpensive ugg shoes thanks for submitting this useful post.
web application development
web creation

Gravatar

Nice post.Thank you for taking the time to publish this information very useful!

Gravatar

Cheap Gucci Sneakers are always enjoyed by youths;
Gucci Sneakers for Men is nice for men;
Gucci Handbags on Sale is no too late for you;
Gucci Belts for Men is fit for gentlemen;

Gravatar

kan det passe nike free muligheden for at hoppe/spole i sange ikke virker fuldstændigt? jeg kan se den grønne progress bar for sangen men sangen hopper/spoler ikke ved touch

Gravatar

A great part to the information I have was acquired by looking up something and finding something else on the way .

Gravatar

If a man empties his purse into his head , no man can take it away from him , an investment in knowledge always pays the best interest .

Gravatar

I am happy to find your distinguished way of writing the post.

Gravatar

Thanks for sharing, this is a fantastic blog article. Keep writing.

Gravatar

I received 1 st loan when I was 20 and that aided my relatives very much. Nevertheless, I require the college loan over again.

Want your say?

* Required fields. Your e-mail address will not be published on this site

You can use the following XHTML tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>