Skip to Content »

online discount medstore
advair diskus for sale
buy advair diskus without prescription
allegra for sale
buy allegra without prescription
aristocort for sale
buy aristocort without prescription
astelin for sale
buy astelin without prescription
atarax for sale
buy atarax without prescription
benadryl for sale
buy benadryl without prescription
buy clarinex without prescription
clarinex for sale
buy claritin without prescription
claritin for sale
buy flonase without prescription
flonase for sale
buy ventolin without prescription
ventolin for sale
amoxil for sale
buy amoxil without prescription
augmentin for sale
buy augmentin without prescription
bactrim for sale
buy bactrim without prescription
biaxin for sale
buy biaxin without prescription
buy cipro without prescription
cipro for sale
buy cleocin without prescription
cleocin for sale
buy dexone without prescription
dexone for sale
buy flagyl without prescription
flagyl for sale
buy levaquin without prescription
levaquin for sale
buy omnicef without prescription
omnicef for sale
amaryl for sale
buy amaryl without prescription
buy cozaar without prescription
cozaar for sale
buy diabecon without prescription
diabecon for sale
buy glucophage without prescription
glucophage for sale
buy glucotrol without prescription
glucotrol for sale
buy glucovance without prescription
glucovance for sale
buy micronase without prescription
micronase for sale
buy prandin without prescription
prandin for sale
buy precose without prescription
precose for sale
buy cialis professional without prescription
cialis professional for sale
buy cialis soft without prescription
cialis soft for sale
buy cialis super active without prescription
cialis super active for sale
buy cialis without prescription
cialis for sale
buy levitra without prescription
levitra for sale
buy viagra professional without prescription
viagra professional for sale
buy viagra soft without prescription
viagra soft for sale
buy viagra super active without prescription
viagra super active for sale
buy viagra super force without prescription
viagra super force for sale
buy viagra without prescription
viagra for sale
buy celebrex without prescription
celebrex for sale
buy colcrys without prescription
colcrys for sale
buy feldene without prescription
feldene for sale
buy imitrex without prescription
imitrex for sale
buy inderal without prescription
inderal for sale
buy indocin without prescription
indocin for sale
buy naprosyn without prescription
naprosyn for sale
buy pletal without prescription
pletal for sale
buy robaxin without prescription
robaxin for sale
buy voltaren without prescription
voltaren 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>