perjantai 21. lokakuuta 2011

TED: Ideas worth spreading

TED is a non-profit organization arranging conferences where the top experts of various fields give short, 10 to 20 minute talks on all kinds of topics. TED is short for "technology, entertainment and design", but the scope has expanded vastly since the original conference back in 1984. I have been watching the TED talks with my smartphone using the TED Air app, but they are viewable at the TED website as well.

If you now got even slightly interested I recommend starting with a short talk and a familiar topic. I'll make it really easy for you and post a suitable video right here. The talk is called Doodlers, unite! and it's just six minutes long:


Now, I haven't watched that many talks yet but they have all been very fascinating. Jill Bolte Taylor's stroke of insight, for example, is, as far as I understand, regarded as one of the best TED talks ever. I'm tempted to give more suggestions on what to watch but as I haven't watched even ten talks myself I'll just give you a link to the most viewed TED talks which should be a good starting point for finding some interesting ideas worth spreading.

lauantai 15. lokakuuta 2011

Dart programming: 99 Bottles of Beer

Dart is Google's new programming language, designed to replace JavaScript. Compared to JavaScript, Dart's main advantages are that it introduces classes and interfaces and removes primitive data types. In fact, typing is completely optional in Dart. Every variable is an object anyway, even those "int" and "bool" variables. In addition to those things Dart has a prettier and more modern syntax than JavaScript.

The downside is that as of writing this no browser natively supports Dart, not even Chrome. You can, however, try the language using the so-called Dartboard program at the Dart homepage. It is basically a Dart interpreter written with JavaScript. Note that currently it only works in Chrome and Firefox!

To test the new language I wrote the 99 Bottles of Beer song in Dart. The link will take you to Dartboard where you can try the program yourself. The program uses the neat one line syntax for getters, one setter (using which looks just like using a regular public variable!), a class with a constructor with one required and one optional parameter, a method with an optional parameter and also an exception is thrown when the wall runs out of bottles.

After writing this program and submitting it to The 99 Bottles of Beer Website I searched Twitter for other versions of the song in Dart and indeed found one from some Japanese blog. That version of the song is somewhat different to mine and nice too, but fails to follow the lyrics in the end.

So anyway, Dart looks nice and easy to learn. It looks like everything that JavaScript should have been in the first place. We'll see when Chrome gets support for it and whether other browsers decide to start supporting it as well. Unfortunately some people apparently tend to use old browser versions for ages, so Dart won't overtake JavaScript any time soon.

sunnuntai 9. lokakuuta 2011

The best Android apps: runner-ups

A while ago I posted my own top 5 Android apps list. Of course, there are more great apps than just those but I wanted a comprehensive list of apps that would benefit everyone while still keeping the list short. Here are the other apps I considered for inclusion to my list of best Android apps:

Locus, another map software. I use it at least as often as OsmAnd, but I chose OsmAnd to the top list for the easier, built-in vector map downloading feature and routing/navigation. Locus contains good features for geocaching once you just load a GPX file of caches into it. It even seems to have an addon for online geocaching.

SoundHound & Shazam. What's that song playing here right now? These programs can answer this question by listening to the music and comparing it against their music databases. I haven't decided which one of these is better, but SoundHound is apparently more tolerant to background noise.

Gesture Search. This app allows you to search apps, contacts and music tracks on your device by writing their names on the touch screen with your finger. Much more convenient than trying to hit those small buttons of the on-screen keyboard. Especially useful if you install a shortcut into the app drawer of GO Launcher EX, where it is always available.

imo. Do you use any instant messaging software, such as Messenger, Skype, ICQ or Google Talk? This app can handle those and some other protocols as well. Very simple and clean yet effective interface.

KeePassDroid & Dropbox. I have written of both KeePassX and Dropbox in the past so it's excellent to have them on Android as well.

Bump. Quit messing with Bluetooth when you want to share files to another device, just bump the devices against each other in your fists and that's it! Bump magically transfers files between Android devices. They also claim that bumping between an Android device and an iDevice works as well! Once bumped, you can also send messages to the other device even when the other device isn't anywhere near.

Battery Monitor Widget. Does what the name implies and does it well. Keeps a history of the battery usage data and shows calibrated estimates on the run-time that's left.

maanantai 3. lokakuuta 2011

The best Android apps

When you google for the best Android apps you get a huge number of lists, each list with a large number of apps. In addition to those lists usually containing way too many apps to be really that useful, the apps are often US-specific, being of no use to 95 % of the world's population. Here's my take on the top 5 Android apps -- these are the apps that I think every Android user would really benefit of:

5. GO Launcher EX. You might not have thought about it, but pressing the home key of your Android device doesn't just "take you to the home screen", it actually launches a home screen program, also known as a launcher. So in your Android device even the features of your home screen are not statically defined but can be changed by installing a new launcher. GO Launcher EX is a versatile launcher program that contains many improvements over the default launchers. For example, GO Launcher EX allows you to resize your widgets to any size you like even if they don't support those sizes out of the box. It allows you to add multiple shortcuts at once and also contains a nice scrollable and customizable "app drawer" at the bottom of the screen. GO Launcher EX also supports scrollable widgets, so Launch-X becomes even more useful. With Launch-X widgets you can squeeze more shortcuts into a smaller space, saving lots of precious screen space. Use, for example, one Launch-X widget for all of your games and another for your best apps, and you'll still have plenty of room for widgets in your main screen!

4. Tiny Flashlight. Ever been in a room with little to no light? Yep. This app lights and keeps on the bright flash light of the camera of your device. You can even install it as a one click widget to your home screen. Always have a flashlight at hand with this app. And even if you don't have a camera or a flash light for it in your device, this app can turn your screen to white and to maximum brightness allowing you to see in its light.

3. OsmAnd. One of the best map programs available. As the name suggests, OsmAnd works primarily with OpenStreetMap (OSM) but also supports Google, Microsoft and Eniro tiles, for example. OsmAnd is special in that it also supports navigation and can even speak the route directions using a speech synthesizer. The program can also download OpenStreetMap vector maps into your device's memory so that you can use the maps offline, for example when you are abroad. Yet another very useful feature is that you can easily find points of interest based on a category. Where are the nearest restaurants or gas stations, for example? OsmAnd can show you. I recommend getting the latest version for free from the OsmAnd homepage.

2. Opera Mobile. A blindingly fast web browser at best, it beats the default browsers in all aspects hands down. Opera Mobile is easy and intuitive to use. It supports multiple tabs and contains a Speed Dial screen to which you can set visual bookmarks to nine of your favorite web pages.

1. Llama. Llama is a Location Aware Mobile Application. Llama introduces profiles and location based events to your device. For example, you might have a profile called "Home" in which the WiFi would be turned on, the ringer volume would be set to medium and the vibration off. Then you might have a profile called "Outside" in which the WiFi would be off, vibration on and ringer volume set to maximum. Llama then knows your location based on the phone masts: you only have to tell Llama that "I'll be in a place I call 'Home' for the next hour" and Llama starts learning the masts. When the learning is done and your phone then connects to a mast Llama doesn't know, it triggers the event "Left home" which switches to the profile called "Outside". Similarly, when you get back home your phone connects to a mast that Llama has learned in the past, triggering the event "Enter home", which switches to the profile "Home". In addition to location, actions can be attached to events such as plugging the device into a charger, entering a certain WiFi network or just on certain times. For example, Llama can be told to automatically completely mute your phone for the night. This is how it should have always been and I find Llama an innovative and extremely useful tool that everyone should have.

This concludes my list of best Android apps. I hope at least a couple of them were new to you and that you find all of them useful. :)

Edit/Add: For some more great apps check the runner-ups I considered for this list!