cloud goes social
computer, travel, movies, music, cuisine and more
computer, travel, movies, music, cuisine and more
Jul 1st
… Or am I dreaming? (or well, having a nightmare!?)

[if you click on it you actually see something!]
Ok. Last time I checked the iTunes store, in Switzerland (where I currently live, and a friend of mine has a Swiss iTunes Store account) the most expensive songs (the “hits”?) were rated at 2.- chf – In Italy (where I have my iTunes Store account) most expensive songs were rated at 1.29 euro.
Now, the Swiss Store has always been more expensive (1.29 euro ~= 1.70 chf) – but now!? Are you joking!? 2.20 chf, as shown in the pictures, it’s 1.66 euro, or, for the US guys it’s 2.03 usd!!!
I find this price increase outrageous. We (everyone that’s not living in the US) have always been paying more for our songs (0.99 euro [1.21 usd] and 1.50 chf [1.39 usd]). But now it’s even worse.
It just doesn’t make sense, anymore, so what? I just feel robbed. And robbed. Over again. 10% price increase What’s next?
Bye bye.
~C
May 27th
Hi,
I’m using Google Reader, as an aggregator for all the feeds that I want to follow. Great! So I don’t have to keep those 6 tabs open in my favorite browser, right? Well, kind of. The problem resides in the fact that then I would still have my mail and calendar open. And google reader. And …
Mike and me have been looking around for a solution to this and stumbled across Reader Notifier. It’s a small MacOSX application that resides in the Menu bar and notifies you when new items are available.
Since the code was publicly available we decided to have a look at it… Well, after coding for a while for iPhone and Mac applications we could tell immediately that we could have improved the code and possibly the application functionalities. Now Reader Notifier Reloaded is born. We keep the code open, so that everyone can just fork it, modify it, have a look at it, …
Currently Reader Notifier Reloaded lets you:
And all of this with a much more structured code than the original and without any memory leaks (well, there were many and we managed to remove them all, hopefully).
A stable version is downloadable from github
If you have feature requests, find bugs or just want to get involved with the project, drop us a note either here or on github.
-Mike and Claudio
May 27th
So,
for a project that I’m working on (Reader Notifier Reloaded, more about it in a following post), I’ve been using Sparkle. It is a great tool for providing updates to the users.
Since Sparkle is using public/private key cryptography in order to sign the updates and guarantee their authenticity there is some “fiddling” one has to do in order to push out an update. Marc Liyanage provides us with a great way to do all the signing, packaging and xml generation for updates.
I’ve been using his technique and just adapted the shell script to make it work on my Snow Leopard 10.6.3 without the need of the libxml perl library.
In particular I’ve changed the SIGNATURE part to:
SIGNATURE=$( myvar=$(security find-generic-password -g -s "Sparkle Private Key" 2>&1 1>/dev/null | sed 's/.*-----BEGIN DSA PRIVATE KEY-----\\012\(.*\)\\012-----END DSA PRIVATE KEY-----.*/-----BEGIN DSA PRIVATE KEY-----\ \1\ -----END DSA PRIVATE KEY-----/g' | sed 's/\\012/\ /g') echo "$myvar" > tmp.tmp openssl dgst -sha1 -binary < "$ARCHIVE_FILENAME" \ | openssl dgst -dss1 -sign tmp.tmp \ | openssl enc -base64 rm tmp.tmp )
So, here’s the script I’m using, if anyone wants it!
set -o errexit
if [[ $BUILD_STYLE != "Deploy" ]]; then
echo Distribution target requires "'Deploy'" build style
exit
fi
VERSION=$(defaults read "$BUILT_PRODUCTS_DIR/$PRODUCT_NAME.app/Contents/Info" CFBundleVersion)
DOWNLOAD_BASE_URL="http://www.example.com/some_product"
RELEASENOTES_URL="http://www.example.com/some_product/$VERSION.html"
ARCHIVE_FILENAME="${PRODUCT_NAME}_$VERSION.zip"
DOWNLOAD_URL="$DOWNLOAD_BASE_URL/$ARCHIVE_FILENAME"
KEYCHAIN_PRIVKEY_NAME="Sparkle Private Key"
WD=$PWD
cd "$BUILT_PRODUCTS_DIR"
rm -f "$PRODUCT_NAME"*.zip
ditto -ck --keepParent "$PRODUCT_NAME.app" "$ARCHIVE_FILENAME"
SIZE=$(stat -f %z "$ARCHIVE_FILENAME")
PUBDATE=$(LC_TIME=en_US date +"%a, %d %b %G %T %z")
SIGNATURE=$(
myvar=$(security find-generic-password -g -s "Sparkle Private Key" 2>&1 1>/dev/null | sed 's/.*-----BEGIN DSA PRIVATE KEY-----\\012\(.*\)\\012-----END DSA PRIVATE KEY-----.*/-----BEGIN DSA PRIVATE KEY-----\
\1\
-----END DSA PRIVATE KEY-----/g' | sed 's/\\012/\
/g')
echo "$myvar" > tmp.tmp
openssl dgst -sha1 -binary < "$ARCHIVE_FILENAME" \
| openssl dgst -dss1 -sign tmp.tmp \
| openssl enc -base64
rm tmp.tmp
)
[ $SIGNATURE ] || { echo Unable to load signing private key with name "'$KEYCHAIN_PRIVKEY_NAME'" from keychain; false; }
cat > $VERSION.xml <<EOF
<item>
<title>Version $VERSION</title>
<sparkle:releaseNotesLink>$RELEASENOTES_URL</sparkle:releaseNotesLink>
<pubDate>$PUBDATE</pubDate>
<enclosure
url="$DOWNLOAD_URL"
sparkle:version="$VERSION"
type="application/octet-stream"
length="$SIZE"
sparkle:dsaSignature="$SIGNATURE"
/>
</item>
EOF
May 17th
Mike and I are glad to announce to all you iPhone developers a library that we’ve been building together that enables very fast and easy development of network-related iPhone applications.
In particular in the library you will find:
If you are interested you can grab the source and compile it for your project, it will create a standard static library that you can include in your projects. Header files have relevant comments that will make your life easier when dealing with the library.
For any feedback don’t hesitate to write over here or at the github page.
Enough talking, just try it out! And here’s two images of the SystemMessageManager displaying its HUD windows:
May 1st
Hi,
I’ve compiled the latest ImageMagick for iPhone with the usual png/tiff/jpeg compatibility. Everything is compiled so that it shouldn’t be rejected by Apple. Please let me know if that’s the case.
You can find the latest 6.6.1-5 version here:IM 6.6.1-5
Or if you dare the latest beta 6.6.1-6 here:IM 6.6.1-6
As usual you can find the latest updated working XCode project here:IM_Test project
I’m in talks with the developers of ImageMagick to try and have a “standard” build for iPhone so that everyone can just go there. I will keep you up to date with it.
Please report any issues you might have and especially if now the applications will be accepted by Apple!
Regards,
~C
Apr 29th
In Europe as well! :)
Ok, the long awaited beta for Mac should be on its way.
The (infamously inactive) link has become active. It still yields to a “forbidden” page, but that’s soon to be changed. All Mac testers, free your hard-drives, for Starcraft 2 is definitely coming!
Here it shows that the link is clickable:
And here’s the content of the linked page:
Mar 11th
I’ve been developing some iPhone applications both for fun and profit. Always I haven’t liked the way XCode creates new files in a project. Not only I didn’t like the formatting of the top comment (where your name shows and so on) but also I most of the times found myself deleting all the pre-generated contents.
For this reason I’ve investigated a bit in how to create custom templates and, starting from Apple defaults and the work done by jad I put up a simple project that anyone can edit to change to their own preferences and a simple script that links the templates so that XCode can (and will!) show them when you create new files.
I hope someone will find it useful, if no-one does no big problems, I still use it for myself and my collaborators :)
You can find the project and installation instructions (just running the script) on github
~C
Feb 16th
Last week, on Friday, I attended the rescheduled-at-the-last-hour Google Android Developers Lab in Zürich and, as a result, I started learning about Android application development, the Android Google SDK and, as a gift, I came back home with a shiny new NexusOne, which is not available in Europe, yet.
I’m now making a list in the typical fashion of a good ol’ Italian-directed western movie both from a (advanced, I daresay) user and a developer perspective. I hope no-one will feel bad about what I write as most of it, to me, are easily acknowledgeable facts, rather than my only suppositions.
Let’s start up without further waiting.
THE GOOD
NexusOne Overall
I must say that is the best non-iPhone iPhone-competitor that I’ve seen, tried and played with (played as in using, not played as in playing mobile games, for which I don’t have time). The size is right about the same as the iPhone (yes, don’t give me shit it’s one millimeter (I DO use the metric system, and all of you should, as well) less thick, and stuff like that). So, for any iPhone user it just fits good in your hand/pocket/wherever-you-carry it. The screen is bright, the manufacturing quality seems good, it has a replaceable battery with all the pros and cons of that (i.e. it fell and of course the shell opened up, the battery came off, etc, I don’t have to tell you all of this, right?). The screen finishing seems different from the iPhone one and oily fingers DO leave more visible traces than on the iPhone. But that’s just noticeable while the screen is switched off.
Android OS 2.1 updated
The OS is stable, it’s fast and it’s good. I like the interface elements, even though they are much different from the iPhone ones. Everything that’s shipping with/on the phone is good, fast and reliable. A few things could be changed, perhaps, but nothing too radical or that would have a major impact on the overall OS. The “notification system” is a well structured way of informing the user of changes or if something happened. Maybe having the date always on on the top bar while no notifications are available would be a nice thing, rather than having to touch the bar to display the date. But maybe that’s even an option, I do not know.
SDK
At the Android Developers Lab we had the pleasure to have a few talks by one of the Android Application Development Gurus: Reto Meier (The guy that wrote this book). And coming from the wonderful iPhone/MacOSX SDK I was impressed by the quality put into the Android SDK. It surely is easy to learn, easy to code against and quite good. A few very good ideas are Alarms (I smell cronjob around them! And I like it!) and Intents for inter-app communication. Please Apple, if you are reading this have something like it on the iPhone, as well!
THE BAD
The Keyboard
It just badly suck. Especially if you come from the iPhone. First of all, like many European user, we tend to know at least two languages. One being our mother tongue, the other being English. And that’s saying “at least two”, many do speak even three or four. It is very common for me, for example, but for many, many (yes Google, if you’re reading this: MANY) other to write in different languages. And sorry to say it but switching dictionary-based-not-so-well-working-word-recognition on the Android is even harder than on old mobile phones (and I DO mean old mobile phones). Basically it just has ONE language for input AND for the system. To change that you need to go all the way to the preferences. It just resolves into not caring about the language-input-recognition. Which isn’t a very good system, either, yet.
Secondly the keys are too packed together. Or the touch sensitivity isn’t that great. Or I do not know what, but on the iPhone I rarely rarely mistype a word, and in that rare occasion it just gets (properly) corrected. On the NexusOne Android phone I keep, keep, keep mistyping words. And they don’t get corrected, or get corrected in the wrong/weirdest way (for Italian input, at least).
Just two examples, first in Italian, second in English. In Italy we use accents. Quite a lot. The future first person singular of the verb “to go” is “andrò”.
Android I type: Andro – it suggests: Andro, androne, Andria, Andromeda, andrò – for it I have to scroll, as well, on the suggestion.
iPhone I type: Abdro – it suggests: andrò
Let’s see with English, where there’s much use of the “‘” character for shortening things around. Let’s write “you’ve”.
Android I type: Youve – it suggests: nothing
iPhone I type: Youve – it suggests: you’ve
Now, this is just two examples, and both use quite annoying things, such as accents, for which normally you would have to tap-and-keep-pressed a letter for the options to come up or the “‘” character which requires on both phones to “switch” keyboard to the punctuation and then back to the letters (which the iPhone is smart enough to do on his own, anyway, getting more points for it, as well), but I happen to use such features much. much. MUCH. And I do bet most of the user will find this “problem” quite annoying.
Enough said: Google, please fix the keyboard: changing input language, understanding what I would’ve wanted to write, user-interaction needed to write.
This is the ONE BAD THING about the Android OS. Unfortunately it is also quite a big issue for smartphones where we usually “write” more than “speak”. Fortunately it is a software-fixable issue. So just fix it! :)
THE UGLY
Apps
Ok, the iPhone has been out for longer, has less fragmentation, whatnot. But come on, some “bigs” can really do a better job with their apps. First of all, the Facebook app, if compared to the iPhone companion is like 1 era away. I won’t say much more, just update it! Shazam is at the same level, what a pity. And that’s just to cite two GOOD apps. The Market is plagued by bad applications that suck much. And they suck more than most iPhone applications, which already suck quite a lot (many of them, at least). This of course has nothing to do with Google, which is actually delivering quite GOOD applications. Keep the good work up, Google. Step it up, developers!
Just one thing related to Application development. InterfaceBuilder, for the iPhone GUI has no rivals. Just think of something, writing GUI for Java is THE nightmare, at the current state of things.
Battery Life
I haven’t played around too much with the phone. But battery draining seems quite fast. I’ve been mostly texting/writing emails and the thing (brand new!) lasts only two/three days. My iPhone 3G which is now one year and a half old, used exactly in the same way + for listening to some music lasts the same or at times more. This is NOT a good signal. So please, engineers, work on this issue. Please.
WRAPPING IT UP
The NexusOne is definitely a good phone. Possibly some Android OS updates which I hope won’t come too late in the future will make it even a better one. The openness of the Market is surely a good thing, but at this time I would still suggest buying and iPhone. That said, I will wait to see enhancements been thrown down the pipe and update you on the situation. I’m sure the Android OS has a bright future, and I’m happy to be using it and to be developing for it. As much as I’m happy that the iPhone is around, so I don’t waste hours to write an email :P
These are just my thoughts.
~C
Feb 10th
Hi all ImageMagick developers!
It has been a long time since my last update to my script for building ImageMagick and having it running as a statically compiled library so that you can use it in all your iPhone applications! To make up for the delay I have made some improvements:
As usual I also link you a .zip containing all the .a universal (iPhone + iPhoneSimulator) libraries that you can use right away in your projects! I’ve also updated the test project, just minor changes, and the new libraries!
I hope you are happy with the update, and I would like to thank:
Verdier Christophe for a much better script stub posted in the comments
Cocoawithlove.com for a good guide on understanding why the heck the iPhoneSimulator libraries weren’t working at all!
Don’t be shy and comment, also pointing me to some cool iPhone Apps that you’ve been working on that use ImageMagick!
~C
Feb 10th
Hi,
as one of the two developer (Mike Godenzi is my friend and colleague) of the free AR (Augmented Reality) application to identify mountains’ peaks in Switzerland (sponsored by ETH and EBP), I’m of course excited and glad to announce that SwissPeaks has reached place number 1 in the “Travel” category in the Swiss-AppStore!!
And just to document our success here is the screenshot of the AppStore “Travel” category!
You don’t live in Switzerland or are traveling around the world? Don’t worry, there’s also a general application, called WorldPeaks that’s at your service!
~C&M