Category: Computers

Android-based smartphones market share in Asia

31%

Tonight I was wondering what was Android market share in Asia. It is 31% according to a recent study from Ericsson’s ConsumerLab group (reported by TechRepublic). Although dominant through most studied countries, Android is not dominant in Singapore (iOS has 46%), in Indonesia (RIM has 29%) nor in Vietnam (Symbian has 26%).

Last year ABI Research released a study where they showed that Android-based smartphones market share grew from 16% in 2010 to 52% in 2011 (but this included tablets and did not cover exactly the same countries as the Ericsson study). Voila ūüôā

Idea shared #2 – the feedback toothbrush

After the T-shirt that measures your sleep better than an app, here is idea #2: the toothbrush that provides some feedback.

The idea is simple – so simple it was already applied elsewhere. The idea is to provide feedback about the quality of the way people brush their teeth. The Brushduino focuses on entertaining kids to keep them brushing at the right place for the right amount of time. Other projects (with many variants) focus specifically on time spent brushing.

I think embedded projects can go an extra mile (provided they are small enough). You can embark a gyroscope and take into account the types and amount of movements you make while brushing your teeth. This way you also have the time you did it anyway. The toothbrush could communicate with a computer to transmit the data. I guess being offline would save some space at the price of direct feedback. This direct feedback could also come in a simplified way, a bit like the Nike+ Fuelband does: it is not an exact measure that you need but merely the fact you brushed vigorously enough and during enough time. The way a gyroscope work should give the space covered – indirectly if you covered every teeth (to be checked). Connection of the toothbrush to a smartphone or a computer could provide the numerical data as well as some social features (as long as you think brushing your teeth can be something shared with your friends).

In terms of design it could look simply like this:

This kind of device will not replace advices given by dentists. But it can help / accompany people during their daily activities.

Would you buy this device?

Creative Commons Licence
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.

Idea shared #1 – measure your sleep

I don’t consider having more or better ideas than others. But I gradually realized I have less and less time for some activities like programming, electronics etc. Maybe that’s how we realize we are getting older now adults. So I decided to share these ideas rather than fueling the illusory idea that I will implement them one day.

So idea 1 is about measuring sleep. I recorded animals’sleep during my Ph.D. – but it was thanks to an EEG device.¬†I think that if you want to understand or improve something you have to first measure it in a way or another. So I started to try to measure my own sleep with an app (Sleep Cycle). But despite its good reviews it doesn’t work, at least for me.

For instance the chart below is supposed to represent my sleep cycle for the night of the September 14th, 2012. I was certainly not in deep sleep at 1.30AM (baby did not want me to sleep immediately). I also woke up around 4AM (baby was again the reason). And I woke up at 6.45 (with a backup clock – had to wake up for work)?

My Sleep Graph with Sleep Cycle app for September 14th, 2012 night

The last version of the Sleep Cycle app improves things a bit by providing more statistics (so at last you can rely on the approximate time slept and compare your “sleep” across days etc.), more beautiful gaphs and the ability to download raw data. Don’t be fooled however, “raw data” means only start time, end time, sleep quality (how is it measured?), time in bed, number of wake ups and sleep notes. You unfortunately won’t be able to reproduce anything like the graph above.

Hardware devices like the Wakemate or the Zeo might give better results because part of the solution is using a real accelerometer. But the Up story shows that not everything is obvious in this world.

For me the fundamental flaw is to rely only on body movements to detect, quantify and even score sleep. Of course there is an abundant scientific literature about how muscle tone (of different muscles) is related to sleep stages (see here and here for introductory texts). But this is often measured by electrodes glued on your body.

So I think it could be very easy to develop a simple, cheap “sleep T-shirt” with light electrodes that will just stick to your body when you sleep (and you put enough of them so at any time at least some of them are connected). In fact it might happen that the Rest SleepShirt would already do the job – it’s a pity they don’t elaborate more on how they measure and collect data (but I understand they will want to sell the product later on ;-)). In my idea light wires would then go to a small pouch where they would be connected to something like a LilyPad Arduino (because it is flexible and can be sewed to a T-shirt – there may be other devices available). The LilyPad would serve as data collector or as data transmitter to a computer / a smartphone / a specific receiver (coupled to a real clock, like the Zeo). The advantage would be to remain sole owner of your sleep data – but of course the business plan should include some “social” features ūüėČ

In the end it should look a bit like this:

Idea shared #1 - measure your sleep with sleep T-shirtThe other advantage would be that in such way you may also measure electrical activity through the body.

Will it work? I’m sure of it. Will it be enough to sleep correctly? I don’t think so: it’s not because you measure something that it improves. But at least you will have some clue on what is going on. Some other advices may be interesting. And for the moment nothing replaces a visit to a real doctor / sleep specialist!

Creative Commons Licence
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.

Visualizing categorical data in mosaic with R

A few posts ago I wrote about my discomfort about stacked bar graphs and the fact I prefer to use simple table with gradients as background. My only regret then was that the table was built in a spreadsheet. I would have liked to keep the data as it is but also have a nice representation of these categorical data.

This evening I spent some time analysing results from a survey and took the opportunity to buid these representations in R.

The exact topic of the survey doesn’t matter here. Let just say it was a survey about opinion and recommendations on some people. The two questions were:

  1. How do you think these persons were, last year? Possible answers were: very bad, bad, average, good or very good.
  2. Would you recommend these persons for next year? Possible answers were just yes or no.

For the first question, the data was collected in a text file according to these three fields: Person, Opinion, Count. Data was similar to this:

Person,Opinion,Count
Person 1,Very bad,0
Person 1,Bad,0
Person 1,Average,4
Person 1,Good,9
Person 1,Very good,3
Person 2,Very bad,3
Person 2,Bad,4
Person 2,Average,4
Person 2,Good,5
Person 2,Very good,0

The trick to represent this is to use  geom_tiles (from ggplot2) to display each count. There is an additional work to be done in order to have the Opinion categories in the right order. The code is the following:

library(ggplot2)
data1 <- read.table("resultsQ1.txt", header=T, sep=",")
scale_count <- c("Very bad", "Bad", "Average", "Good", "Very good")
scale_rep <- c("1", "2", "3", "4", "5")
names(scale_count) <- scale_rep
ggplot(data1, aes(x=Opinion, y=Person)) +
geom_tile(aes(fill=Count)) +
xlim(scale_count) +
scale_fill_gradient(low="white", high="blue")+theme_bw() +
opts(title = "Opinion on persons")

And the graph looks like this:

For the second question, the data was collected in a text file according to these three fields too: Person, Reco, Count. Data was similar to this:

Person,Reco,Count
Person 1,Recommend,16
Person 1,Do not recommend,0
Person 2,Recommend,5
Person 2,Do not recommend,11

And we use approximately the same code:

library(ggplot2)
data2 <- read.table("resultsQ2.txt", header=T, sep=",")
ggplot(data2, aes(x=Reco, y=Person)) +
geom_tile(aes(fill=Count)) +
scale_fill_gradient(low="white", high="darkblue")+theme_bw() +
opts(title = "Recommendations")

And the graph for the second question looks like this:

Easy isn’t it? Do you have other types of visualization for this kind of data?

Maximum number of characters in a Windows path is 260 characters

A Java project compilation went berserk and I ended up with a directory structure of more than 260 characters. I stopped the mad process but it already created more than 50 successive duo of path “build/classes” …

Duo of build/classes directories in path created by Netbeans

Now I had to delete this structure. And, to my surprise, it was impossible. When you try to just press the “Delete” key with the root directory selected in the File Explorer, you get a Path Too Long exception. The reason is that the maximum length of a path according to the Windows API (MAX_PATH variable) is defined as 260 characters. I tried some other methods but all of them failed:

  • write a small Java program that tried to delete the whole path: Netbeans (Java) was able to create this mess, why shouldn’t another Java program be able to delete it? Impossible.
  • write a small C++ program that tried to delete the whole path: as long as you stick with the Windows API, it’s impossible (I read that it could be possible using the¬†boost::filesystem library but didn’t try).
  • try some Portable Apps utilities for file management: impossible (even when the software was using another framework like Qt).

Finally, I just ran a Cygwin terminal, went to the ad hoc location and did a simple “rm -rf libtest“. And voil√†. So, next time Windows forbids me from doing something, it might be a good idea to directly rely on a true terminal from a Unix-like environment. I didn’t try a liveCD (I didn’t have such CD to hand) but it might be also possible.

The 6 Android apps I really appreciate(d)

For some reasons, I had to choose between a new, simple Nokia phone (but fortunately not a Windows one!) and my 1-year-old Android phone. Before I leave this Android phone, here are the few 6 Android apps that I really appreciated and used daily.

¬†FBReader is a very nice e-book reader for Android. It supports a lot of e-book formats like epub, fb2, (partially) mobipocket, html, RTF and plain text. It works very well with Calibre (a free software e-book reader / manager / converter) – or is it the opposite? I also really like the fact FBReader can browse and download some free e-books directly from the internet. Of course, reading an e-book on a small 3.2 inch screen isn’t the perfect user experience. However, the night mode (white text on black background) is very handy to read something when it’s late and you don’t want the harsh white background. You can find FBReader on the Android Market for free (it’s a free software, under the GPL).

Google Reader is the Android version of the web-based Google Reader. If you follow RSS/Atom feeds with the latter, you will be interested by its Android version. A very nice feature is that all your feeds will be synchronized between the different versions of your Reader: read a post on your phone and the web version knows you already read it (and vice-versa). This time the small screen isn’t really a handicap since posts are usually quite short (compared to books and short stories you could read on FBReader). Up to a certain version, I thought the Gooogle Reader for Android was not really using all the capabilities of a touch screen. But in a version recently introduced you just have to swipe a post to read the next one (a bit like turning a page with only one finger).¬†You can find Google Reader on the Android Market for free.

Mustard is a Twitter client for Android. It is also a StatusNet client. Being both on Twitter (@jepoirrier) and Identi.ca (@jepoirrier too), it’s quite interesting to be able to read and post on both platform quickly one after the other. I may have missed something but Mustard lacks the possibility to post on all registered¬†platforms at the same time. And it’s impossible to have all timelines merged in a common one with duplicates removed. But apart from this small annoyance, it’s a very good and fast microblogging client. You can find Mustard on the Android Market for free (it’s even a free software – under the GPL).

According to its own introduction, Shuffle is “a personal organizational tool, styled around the Getting Things Done methodology”. In layman’s words, it’s a very easy app to use to remember things you have to do. Beside just adding a note, you can also give them a deadline, a location and a context. I know I didn’t use everything (for instance, I didn’t use the synchronisation feature since I don’t have any Tracks installation) but it’s a nice tool to remember small ideas on the way and help prioritize them (note: a Moleskine is also good for that purpose). You can find Shuffle on the Android Market for free (and it’s even free¬†software¬†– under the Apache license).

Finally, I really liked the last versions of WordPress (the one that introduced the big white panels/buttons in a “dashboard”). First, these last versions crashed much less often than before (in fact I didn’t see them crash anymore). Then, its developers made it easy to quickly approve comment, add pictures/videos directly from the phone, read the stats and edit some previously posted messages (of course, it’s not very handy to edit a¬†lengthy¬†post on a small screen but it’s not WordPress fault here). If you have a blog on WordPress (or using the WordPress engine at your own website), it’s a must. You can find WordPress on the Android Market for free.

One last word about apps for kids (the “sixth” application). The free versions of Whiteboard and Kids ABC Letters are quite interesting for a 3 year-old boy.

As you can read, I mainly use free software (as in free speech) and apps to read things on the phone. Another use is for small, quick, tasks (like posting a tweet or adding something to remember). I think I will be able to live without that ūüôā

Happy New Year 2012!

I wish you a very happy New Year 2012! Lots of things happened since 6 years (since I started this blog) and lots of things happened in this last year too. I’m sure it is the same in your life. I hope you will have lots of new discoveries in 2012 as well as a healthy and strong life, full of happiness!

If I look back, the top 5 posts this year were:

  1. Human Development Index 2011
  2. Adobe Flash Player update: qui fait le malin tombe dans le ravin
  3. Aaron Swartz versus JSTOR¬†(btw there isn’t any news about this case since then)
  4. Yesterday was International Day of Older Persons
  5. Today is World Population Day

I missed a lot of things recently, like the closing ceremony of the International Year of Chemistry (December 1st), the UN World AIDS day (December 1st), the¬†World day bacterial resistance awareness (November 18th) and the¬†UN World Diabetes Day (November 14th). Maybe next year …

There is no point writing down the top 5 keywords that lead to this blog: they are all related to the HDI (Human Development Index).

Although I like to read about other people’s predictions for 2012 (and the coming years), I won’t do any: it’s up to you to act and do something you want to be part of 2012 ūüôā¬†Happy New Year!