<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

  <title><![CDATA[Bonto.ch]]></title>
  <link href="http://www.bonto.ch/atom.xml" rel="self"/>
  <link href="http://www.bonto.ch/"/>
  <updated>2012-04-14T23:31:23+02:00</updated>
  <id>http://www.bonto.ch/</id>
  <author>
    <name><![CDATA[Junior B.]]></name>
    
  </author>
  <generator uri="http://octopress.org/">Octopress</generator>

  
  <entry>
    <title type="html"><![CDATA[Why Windows 8 could fail and Apple could take advantage]]></title>
    <link href="http://www.bonto.ch/blog/2012/04/14/why-windows8-could-fail-and-apple-could-take-advantage/"/>
    <updated>2012-04-14T18:03:00+02:00</updated>
    <id>http://www.bonto.ch/blog/2012/04/14/why-windows8-could-fail-and-apple-could-take-advantage</id>
    <content type="html"><![CDATA[<p>I&#8217;m using Windows Phone 7.5 since a couple of weeks and I feel like something is not clear to Microsoft. The system is good, not great, just good, but Android and iOS are in another dimension, mainly the second one that with Exchange works great, in opposition to Windows Phone, that has some problems with it (this is funny it would be like GMail not working on Android).</p>

<p>I have to say it, in first instance I was generally happy with Windows Phone, now I&#8217;m not anymore. There a lot of things that could be done better and even if I like the Metro style, I think it&#8217;s going to make things worse for common users.</p>

<!-- more -->


<p>Windows 8 is coming and then the Metro Style as UI will be everywhere (phones, tablets, desktops and even XBox). The <a href="http://windows.microsoft.com/it-IT/windows-8/consumer-preview">consumer preview</a> is online since a month and most of the biggest IT websites and magazines already wrote a review.<br/>
I have to say, I tested Windows 8, for 1-2 days, and then I tried a thing that has been already done by <a href="http://www.cultofmac.com/153082/chris-pirillos-dad-utterly-defeated-by-windows-8-video/">Chris Pirillo</a>: ask to my grandfather to test Windows 8 on my computer (installed on a Virtual Machine, in full screen mode).</p>

<p>The result was pretty much the same of the video: my grandfather was simply lost. He started asking where was the START button, what the giants cube were and a lot of other annoying questions. After 10 minutes he was frustrated. <strong>Basically, a disaster.</strong><br/>
So, what this means for Windows and Microsoft? It simply means that already habit costumers should decide if take the step to Windows 8 and learn how to use a new operating system or stay at the current installed (Windows XP or 7, the 2 most used Microsoft&#8217;s operating systems). Windows 8 is a new environment, completely detached from Windows 7 and this means that a new learning curve should be applied, starting almost from scratch.</p>

<p>How can Apple takes advantage of this? The <strong>iPhone and the iPad have a strong market presence</strong> and most of the users are happy with it. There&#8217;re a lot o them using Windows, XP or 7 mainly, and Apple is trying to bring what really works on iOS to the Mac. This would generally helps a new user, already habit to iOS, to understand how Mac OS X works.</p>

<p>The second good reason is that Windows users could decide to avoid to learn Windows 8, maybe based in bad reviews, recommendations, advises, etc&#8230; and instead of buy a new PC with Windows 8, get a Mac. Most of them are scared by the fact that Mac looks completely different from Windows and I still remember my mother asking me why she should buy a Mac if she never used one before, it was in 2006. Now she&#8217;s happy with the choice and keeps asking to my father why he&#8217;s still using Windows (XP he tried Vista and he trashed it). <strong>One day every Windows XP (really soon) and Windows 7 (later) would have to do the next step and it&#8217;s clear that the choice would be between Windows or Mac.</strong> Sorry for not considering Vista and Linux, but I think the first one has died even before the release and the second it&#8217;s still not ready to compete against Windows or Mac in terms of media relevance, even if Ubuntu is a really great system.</p>

<p>So, if you&#8217;re a Windows user, what you&#8217;re going to do? Windows or Mac? Let&#8217;s see what people will decide, but I&#8217;m quite sure to know the answer&#8230;</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[The goal is make money, not innovate]]></title>
    <link href="http://www.bonto.ch/blog/2012/04/11/the-goal-is-make-profit-not-innovate/"/>
    <updated>2012-04-11T22:09:00+02:00</updated>
    <id>http://www.bonto.ch/blog/2012/04/11/the-goal-is-make-profit-not-innovate</id>
    <content type="html"><![CDATA[<p>I spent the 2011 in London, I really beautiful place to live, actually, I think it&#8217;s the place to be if you&#8217;re young, with high expectations and a valid worker (in any category).
After this fantastic year I came back to Switzerland, a place where young guys are just &#8220;youngs&#8221;.</p>

<p>I tried to start a very interesting and innovative project for doctors and I faced some people working in the regional finance, of course, you always have to face them, soon or later.
I just spoke for 5 minutes and then my mouth was shut down by a simple, but clear sentence: <strong>&#8220;The goal is not to innovate, but it&#8217;s make money&#8221;</strong>.</p>

<p>Well, I disagree.</p>

<!-- more -->


<p>I can understand why people who use to work as <a href="http://www.forbes.com/sites/stevedenning/2011/08/11/think-your-job-is-bad-try-one-of-these/">manager, financial advisor, broker, etc&#8230;</a> doesn&#8217;t like the word <strong>innovation</strong>, because in their mind means <strong>risky</strong>, what I cannot understand is why they have to point &#8220;make money&#8221; as main goal when setting up a business. &#8220;Make money&#8221; should not be the ultimate goal, but a consequence of what a company is doing.</p>

<p>Why &#8216;make money&#8217; should not be the ultimate goal? Because it&#8217;ll attract the wrong kind of people, people with MBAs, with economics or financial degrees, managers of all kinds, etc&#8230; and who&#8217;s missing? <strong>The people who makes the difference</strong>. If you&#8217;re a project manager or a guy working in economic or financial world, forgive me for what I said, but it&#8217;s the ugly truth.</p>

<p>The financial side of a company is very important, of course, but when a new business is created the goal is to create value, making something (or creating a service) that people could love and use, something that generates value and, if you&#8217;re doing it right, profit. Depending how a product or a service is good, the profit could be high or low (even zero or generating debt, in worst scenario).
It&#8217;s not simple, some very good companies failed and disappeared without traces, but if you&#8217;ve a good idea and a valuable project, what can happen could be <em>unexpectable</em>. Examples? I would like to start with Instagram, a very basic, but delightful, app/service for iOS. A place where people could share pictures about everything: pets, outlooks, buildings, cities, etc&#8230; and their main goal was: creating a delightful app and service to let people share pictures. That was the main goal! <a href="http://www.forbes.com/sites/bruceupbin/2012/04/09/facebook-buys-instagram-for-1-billion-wheres-the-revenue/">They&#8217;ve been recently acquired by Facebook for 1 billion dollars, by the way&#8230;</a></p>

<p>Another example? <a href="http://www.instapaper.com/">Instapaper</a>, I&#8217;m quite sure <a href="http://www.marco.org/about">Marco Arment</a> didn&#8217;t start with the goal of purely profit, but the goal was to create &#8220;A simple tool to save web pages for reading later.&#8221;, result? Simply amazing.</p>

<p>Third and last example, Chomp: an app search and discovery platform <a href="http://techcrunch.com/2012/02/23/apple-chomp/">recently acquired by Apple</a>. They created a very useful website, not a simple tool to search in the app store, but something better, even better than iTunes, with a very well programmed logic and useful results.</p>

<p>The truth is that all these 3 services are still alive because they started with <strong>the main goal different to &#8220;make money&#8221;, but instead it was &#8220;to innovate&#8221; and make something different</strong>.
If you&#8217;re starting a new business, write in sequence your goals and try to figure out if the first one is just &#8220;make money&#8221;, if yes, <a href="http://knowledge.wharton.upenn.edu/article.cfm?articleid=2258">you&#8217;ll face an high risk of failure</a>.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Matias One - I Love It!]]></title>
    <link href="http://www.bonto.ch/blog/2012/03/20/matiasone-iloveit/"/>
    <updated>2012-03-20T21:52:00+01:00</updated>
    <id>http://www.bonto.ch/blog/2012/03/20/matiasone-iloveit</id>
    <content type="html"><![CDATA[<p>The first thing I thought when I saw the <a href="http://www.youtube.com/watch?v=hDPNFgXZZjM">video about Matias One Slim</a> for the first time was: this is a great idea!</p>

<p>So, after a couple of months I decided to order the Matias One Slim, for Mac, of course. The keyboard was sold out since months and new shipments were expected for late February. I ordered it from U.S.A. less than 10 days ago and my keyboard is now here (thanks to Swiss customs that slowed the shipment process, of course).</p>

<p>Generally, I&#8217;m a big fan of Apple keyboard, even the slim makes me feel really comfortable. Matias also produce a copy of the old Apple keyboard, the <a href="http://matias.ca/tactilepro3/">Matias Tactile Pro</a> that I tested a couple of years ago and was simply amazing. One of the greatest mechanical keyboards I&#8217;ve ever tried, but this post is about the One Slim.</p>

<!-- more -->


<h3>Packaging</h3>

<p>The packaging comes in a perfect <em>Apple style</em> box, slim, white and well presented. The box is very well configured, the keyboard stays inside it without move and even the MiniRizer (the small stand that comes with the keyboard), helps the keyboard to avoid movements.</p>

<h3>First Look</h3>

<p>Looking at this keyboard for the first, I started complaining because it looks like a big mess, there&#8217;s a lot of stuff printed over every <strong>isle</strong>. I don&#8217;t like when something looks confusing in first instance, I prefer simple and pretty basic stuff, but the aim of Matias (I think) is to help even who is not habit to work with Mac, and needs extra symbols, to find the correct character on the keyboard avoiding a Google search.</p>

<p style="text-align:center;"><a href="http://img809.imageshack.us/img809/6268/img1388ao.jpg"><img src="http://img809.imageshack.us/img809/6268/img1388ao.th.jpg" alt="Matias One Slim" /></a></p>

<h3>General Quality</h3>

<p>The keyboard isn&#8217;t too much expensive, neither is cheap, I think that <strong>the cost of 79.95$ (+ shipment if living outside US) is a fair trade</strong>. The keys look solid, the general frame as well, even if the whole body is in plastic. The bluetooth works great, of course it has not been built supposing a use for long ranges, but it does what it should do. The connection is very quickly, btw.</p>

<h3>Keys</h3>

<p>The keys are <em>isles</em> and, like the current Apple keyboard, the general usability is great. Fast typing is possible, either because the keyboard has all possibles combos on every isle and this helps a lot if, like me, it&#8217;s needed to write in different languages (I write in english, italian, german and french almost every day), all symbols are clearly visible.</p>

<p style="text-align:center;"><a href="http://img20.imageshack.us/img20/615/img1390lc.jpg"><img src="http://img20.imageshack.us/img20/615/img1390lc.th.jpg" alt="Matias One Slim" /></a></p>

<h3>iOS Connection</h3>

<p>The main feature of this keyboard is the connectivity with iOS. Of course the keyboard works great even with the iPad, I tested it. To switch from the Mac to the iPhone/iPad just press the bluetooth button on the top right corner and it&#8217;s possible to write SMS, notes, mails, etc&#8230; really fast. I really like this feature, I use a lot to write messages on iPhone since the introduction of iMessage and this makes me saving a lot of time.</p>

<p style="text-align:center;"><a href="http://img600.imageshack.us/img600/3536/img1389ne.jpg"><img src="http://img600.imageshack.us/img600/3536/img1389ne.th.jpg" alt="Matias One Slim" /></a></p>

<h3>The stand, called MiniRizer</h3>

<p>The stand is good for iPhone, not for the iPad. Forget to use it as an iPad stand. I said that is good because the lack of the space to connect the iPhone to a cable is a big miss.
At this point I prefer to use the original stand for the iPhone, so I can have a cable connected and I can use the phone for testing purposes.</p>

<p style="text-align:center;"><a href="http://img827.imageshack.us/img827/6844/img1392f.jpg"><img src="http://img827.imageshack.us/img827/6844/img1392f.th.jpg" alt="Matias One Slim" /></a></p>

<h3>Conclusion</h3>

<p>I&#8217;m really happy with this keyboard and I&#8217;m considering to get the Windows version as well, for my home PC.
I would suggest it if you really need to save time writing on iPhone during the work, it&#8217;s really a nice keyboard with a rocking feature: <strong>8.5/10.0</strong>.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Windows Phone 7 first impressions]]></title>
    <link href="http://www.bonto.ch/blog/2012/03/12/windows-phone-7-first-impressions/"/>
    <updated>2012-03-12T13:53:00+01:00</updated>
    <id>http://www.bonto.ch/blog/2012/03/12/windows-phone-7-first-impressions</id>
    <content type="html"><![CDATA[<p>I recently bought a Nokia Lumia 710 with Windows Phone 7.5 already installed on it and I have to say I&#8217;m happily impressed by the work done in Microsoft.</p>

<p>I use mainly Android and iOS in the last 3 years, so I can do a quick comparison with all these systems, but I&#8217;ll keep this post when I&#8217;ll have more complete point of view on Windows Phone.
What I can do is a quick &#8220;first impression&#8221; article.</p>

<!-- more -->


<h3>First Start</h3>

<p>During the first start I&#8217;ve been asked for some questions, like Windows Live ID (I already had one due to the fact I&#8217;m a XBox player since years), send or not usage stats to Microsoft, 3G yes or no, etc&#8230; What pissed me off is that I&#8217;ve been forced to turn on the 3G connection to login with my Windows Live ID. I have a prepay SIM with Swisscom and this costed me 3 swiss francs&#8230; I&#8217;m quite sure this step can be jumped and the WiFi connection can be turned on, before adding a Live ID account or whatever other account is needed, but the lack of this option during the first start is a shame.</p>

<h3>Metro Style</h3>

<p>I really like Metro UI, it&#8217;s basic, it&#8217;s minimalistic, it&#8217;s fast and it&#8217;s something different from Android and iOS, it&#8217;s not a rip off, it&#8217;s original!
The main menu with big icons, some of them like &#8216;Contacts&#8217; are even dynamic.</p>

<p>The navigation is a nice experience, sometimes I felt lost, being habit to use iOS or Android, but I always found what I was looking for in less than a minute, I didn&#8217;t waste my time surfing all the menus looking for a setting to change, a service to turn on or off or an external hardware to pair via bluetooth.</p>

<h3>Synching</h3>

<p>This was a surprise, because I just turned on the BT of my iPhone and I paired it with the Lumia synching the address book with no stress, impressive.
Windows Live was down (and still is down) and was unable to accept new contacts. This is a huge problem because it should be the main service for a Windows Mobile phone and it&#8217;s (in part) down since friday.</p>

<p>I&#8217;m currently working for a big client in Switzerland (an airline) and it&#8217;s not a mystery that these companies use to have an Exchange server, so does this company. I have my account currently working on my iPhone and I was excited to try Windows Phone with Exchange, but&#8230; it doesn&#8217;t work! Can&#8217;t believe, Windows Phone 7.5 doesn&#8217;t synch with an Exchange server. I tried it in several ways, with many different configurations but no way to make it synching. This was the second thing that annoyed me a lot.</p>

<p>Synch with Google account, Facebook and Twitter works like a charm, no problems, everything was fast and smooth. What I don&#8217;t like is that, by default, all contacts are showing in the app, so if you turn on Facebook synchronization, you&#8217;ll see all FB friends inside the contacts app. This can, of course, be turned off.</p>

<h3>Camera</h3>

<p>The camera is a 5M but it looks like the software is not able to handle it in a proper way. The picture looks old and blur, even if the phone is hold by a stand.
I&#8217;m quite disappointed about the quality, but I always have my iPhone 4S with me, so it&#8217;s not a big problem.</p>

<h3>Hardware</h3>

<p>The whole phone it&#8217;s like a big plastic toy. It&#8217;s really light and the look it&#8217;s nice, not wonderful, neither ugly, just nice. I have to say, I like it!</p>

<h3>Marketplace</h3>

<p>The marketplace it&#8217;s really expensive, most of games and apps that have an iOS version are more expensive and less tidy, but this ecosystem is the younger, I&#8217;m sure the quality of the apps and the general quality will increase when Windows 8 will land in the market.</p>

<h3>Conclusion</h3>

<p>It&#8217;s still a young system, it&#8217;s a good point to start and Windows 8 will be a real competitor for Android and iOS, I&#8217;m sure WP will gain the deserved market share in the next 2-3 years.
In the next days I&#8217;ll start playing with the development and I&#8217;ll write a couple of articles about WP development for iOS developers.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Core Data Auto Increment]]></title>
    <link href="http://www.bonto.ch/blog/2012/03/09/core-data-auto-increment/"/>
    <updated>2012-03-09T17:40:00+01:00</updated>
    <id>http://www.bonto.ch/blog/2012/03/09/core-data-auto-increment</id>
    <content type="html"><![CDATA[<p>Core Data is a very powerful entity framework, it&#8217;s something very useful that saves a lot of time while working with complex data schemas and persistence.
Sadly there are still features that are missing, like and auto-increment option for a property of an entity.<br/>
Sometimes is very useful having an auto-increment property and one solution to do it is subclassing the method <code>awakeFromInsert</code> that is called each time a new entity is created and inserted.</p>

<p>So this is the code for the magic (using an order field and <a href="https://github.com/magicalpanda/MagicalRecord">MagicalRecord</a>):</p>

<pre><code>- (void)awakeFromInsert
{
    NSInteger tempID = ([[[MyObject MR_findAllSortedBy:@"order" ascending:YES] lastObject] order])?[[[[MyObject MR_findAllSortedBy:@"order" ascending:YES] lastObject] order] intValue]+1:0;
    [self setOrder:[NSNumber numberWithInt:tempID++]];
    [super awakeFromInsert];
}
</code></pre>

<p>Quick explanation:<br/>
It&#8217;s mandatory retriving the highest value of order inside the database, once this has been done, we can increment this value by one and then set it to our new entity manually.<br/>
This process of course works even without MagicalRecord and needs a couple of more steps with NSFetchRequest, but nothing too complicate.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Import Contacts from iPhone to Simulator]]></title>
    <link href="http://www.bonto.ch/blog/2012/03/08/contacts-from-phone-to-simulator/"/>
    <updated>2012-03-08T21:47:00+01:00</updated>
    <id>http://www.bonto.ch/blog/2012/03/08/contacts-from-phone-to-simulator</id>
    <content type="html"><![CDATA[<p>I really hate the fact that the simulator comes without the auto-import of the address book library.</p>

<p>If you have a project that access the contact library is really a huge problem creating a decent fake library, it takes too much time.
I found out a really nice solution to import the current data from the iPhone (or iPad) to the Simulator that I want to share. This solution works even if you&#8217;ve not a jailbroken phone.
It&#8217;s quick and with zero risks.</p>

<!--more-->


<ul>
<li>So let&#8217;s get <a href="http://supercrazyawesome.com/">iPhone / iPod Touch extractor</a> and, once you downloaded it, open it.</li>
<li>Select a backup from the list, usually the latest is better</li>
<li>Extract &#8216;iOS Files&#8217; to a folder</li>
<li>Open this folder and navigate to Library/AddressBook</li>
<li>Copy the two files called AddressBook.sqlitedb and AddressBookImages.sqlitedb</li>
<li>Navigate to &#8216;~/Library/Application Support/iPhone Simulator/{SDK Version}/Library/AddressBook&#8217; and paste the two files copied</li>
<li>Run the iPhone Simulator and you&#8217;ll have your contacts from the phone with no stress</li>
</ul>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Minimalistic Style]]></title>
    <link href="http://www.bonto.ch/blog/2012/03/03/minimalistic-style/"/>
    <updated>2012-03-03T21:10:00+01:00</updated>
    <id>http://www.bonto.ch/blog/2012/03/03/minimalistic-style</id>
    <content type="html"><![CDATA[<p>I recently started studying design and training my skills. I have to say that it has been a big surprise discovering myself, usually more technical than artistic, as a designer. Of course I&#8217;ve a lot to learn and I hope I&#8217;ll.</p>

<!--more-->


<p>I started reading <a href="http://www.amazon.com/Design-Hackers-Reverse-Engineering-Beauty/dp/1119998956"><strong>Design for Hackers: Reverse Engineering Beauty</strong></a> discovering a new world. I worked with many UX/UI designers during the last years, a couple of them are really great guys, but most of them had a completely misconception of digital design and user interaction. I worked with people that used to design stuff for marketing on paper, company logos, etc&#8230;, people that used to work on magazines or televesion and a lot of them made my work hard, some of then even impossible, to do. So I decided to start studying what&#8217;s behind a design and how to do it, just to understand what think a designer during his job.</p>

<p>I&#8217;m still reading the book of David Kadavy (almost finished) and it worths every cent, and I must suggest it if you&#8217;re an <strong>hacker</strong> like me, that loves to write tousands lines of code. Of course, this book, it&#8217;s good only if you want to have an introduction to the design world.</p>

<p>Other than the book, yesterday, having nothing to do (not urgent, I mean), I finally found the time to watch a <a href="http://www.helveticafilm.com/">documentary about the font Helvetica</a>. It&#8217;s great, it&#8217;s simply amanzing discovering what&#8217;s behind a world like typefaces, world that I deal with every day in all my web/mobile projects, but that I never had the chance to delve into. The history behind a font is really incredible and this one in particular because has completely changed the world of fonts. The funny thing is that has been created in Switzerland more than 50 years ago a couple of kms where I live at the moment, in the middle of an era where Swiss design was researched and estimated.</p>

<p>I&#8217;m working on a big project at the moment, during my spare time, trying to learn as much as I can about UI/UX and doing the whole design process alone. I hope to reach a good level that can satisfy me.</p>

<p>At the moment, just take a look at the new blog design, it&#8217;s minimalistic, but I think it fits what I was looking for.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[XCode 4.3 - Nice move Apple]]></title>
    <link href="http://www.bonto.ch/blog/2012/02/16/xcode-4-dot-3/"/>
    <updated>2012-02-16T21:19:00+01:00</updated>
    <id>http://www.bonto.ch/blog/2012/02/16/xcode-4-dot-3</id>
    <content type="html"><![CDATA[<p>So it&#8217;s been a long since my last post, I&#8217;ll return to write more I promise!
Happy day today, the announcement of Mac OS X 10.8 Mountain Lion (I think cats&#8217; names just ended) made me really excited about Notification Center in Mac OS X, maybe because we&#8217;ve a big product coming soon with a strong usage of notifications for iOS. The porting will be, at this point, mandatory&#8230;</p>

<!--more-->


<p>But, stop saying useless and not interesting things, it&#8217;s the day of XCode 4.3 and I&#8217;ll quickly post about the fact that has finally become a single bundled app.<br/>
I think this is due to the fact that Apple is pushing forward the sandboxing for all apps, of course they have to be an example, so they made Xcode a single app.</p>

<p>I was wondering about the fact that I have XCode 4.2 installed and I was thinking to uninstall it before procede to uninstall XCode 4.3&#8230; but, then I decide to go on without doing it, trusting in Apple engenieers and&#8230; I was right. On first launch, XCode 4.3 asks to agree to the EULA, then to install additional components. The important thing is that if you want to uninstall old Xcode installations (4.2 in my case), the system asks to do it right after the additional components installation. Just say yes if you want to do and start using XCode 4.3 without problems!</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Megavideo Panic]]></title>
    <link href="http://www.bonto.ch/blog/2012/01/24/megavideo-panic/"/>
    <updated>2012-01-24T16:29:00+01:00</updated>
    <id>http://www.bonto.ch/blog/2012/01/24/megavideo-panic</id>
    <content type="html"><![CDATA[<p>I have to say, the end of megaupload and megavideo made me laught a lot about people desperate because the main source of illegal movies and TV series has been shut down.</p>

<p>So, using ragebuilder I did this funny pic:</p>

<p><img src="http://i.chzbgr.com/completestore/2012/1/24/d5949311-028a-4d0c-999e-92d60783d2df.png" alt="Megavideo Rage!" /></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[MCMenuViewController on GitHub]]></title>
    <link href="http://www.bonto.ch/blog/2011/12/24/mcmenuviewcontroller-on-github/"/>
    <updated>2011-12-24T13:51:00+01:00</updated>
    <id>http://www.bonto.ch/blog/2011/12/24/mcmenuviewcontroller-on-github</id>
    <content type="html"><![CDATA[<p>I just released this code on GitHub. It&#8217;s still an early stage code, so please download it only if you&#8217;re an experienced developer.</p>

<p>Basically MCMenuViewController is a reproduction of the Menu in Facebook app (Path has both sides, this version only has left side).</p>

<!--more-->


<p>I reprodouced this component to use it inside an app, so I made it open source under MIT license. I created this component to be used as Root controller or as child in an UINavigationController.<br/><br/>
<a href="https://github.com/bontoJR/MCMenuViewController"><strong>GitHub</strong></a></p>

<p><img class="center" src="http://bonto.ch/images/content/mcmenuviewcontroller.png" width="320" height="480" title="MCMenuViewController" alt="MCMenuViewController"></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Disable Time Machine's local snapshots]]></title>
    <link href="http://www.bonto.ch/blog/2011/12/15/disable-time-machine-local-snapshots/"/>
    <updated>2011-12-15T20:20:00+01:00</updated>
    <id>http://www.bonto.ch/blog/2011/12/15/disable-time-machine-local-snapshots</id>
    <content type="html"><![CDATA[<p>Today I had this strange problem: deleting files without gaining free space and having it decreasing with no sense.
I started investigating what the hell was going on on my Macbook Air and, after half an hour of investigation,
I figured it out: Time Local Snapshots!</p>

<!--more-->


<p>I have my Macbook Air with Time Machine connected to an Ubuntu 10.04 server &#8216;faking&#8217; a Time Capsule, thank to <a href="http://netatalk.sourceforge.net/">Netatalk</a>, and I discovered that Mac OS X starting from Lion, has the local snapshot enabled as default on notebook.</p>

<p>This means that a local copy of files are keeped in the local drive, using space.
So, if you want to check how much space are the snapshots using, you just have to open the terminal and run:</p>

<p><code>sudo du -sh /.MobileBackups</code></p>

<p>This was on my machine:
<img class="center" src="http://bonto.ch/images/content/time_machine.png" width="298" height="163" title="MobileBackups size" alt="MobileBackups size"></p>

<p>From my point of view this is a waste of space so I decided to turn off this feature.
<a href="http://onethingwell.org/post/8515182393/disable-local-time-machine-backups">The command to do this is quite simple</a> (always using the Terminal):</p>

<p><code>sudo tmutil disablelocal</code></p>

<p>Immediately after this command, Time Machine should start a backup indexing all files from scratch and deleting the <strong>/.MobileBackups</strong> folder.</p>

<p><strong>P.S. Please be careful in doing this, I&#8217;m not responsible to any data loss or damages</strong></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Montessori Memory On App Store]]></title>
    <link href="http://www.bonto.ch/blog/2011/12/09/montessori-memory-on-app-store/"/>
    <updated>2011-12-09T00:01:00+01:00</updated>
    <id>http://www.bonto.ch/blog/2011/12/09/montessori-memory-on-app-store</id>
    <content type="html"><![CDATA[<p>I started this indie project called <a href="http://www.mochacode.ch">Mocha Code</a> a few weeks ago and I decided to make some Educational and Medical apps.</p>

<p>I decided to start with a really simple game that I found around the web: Montessori Memory.<br/>
The development wasn&#8217;t long as expected, I spent less that 2 week to complete the game and now I&#8217;m happy to announce that <a href="http://itunes.apple.com/us/app/montessori-memory/id483437061?ls=1&amp;mt=8">Montessori Memory is available on the App Store for iPhone and iPad (as universal app)</a>. <br/>
The app is for kids of 4-8 years old and has been localized in: English, French, Italian and German.</p>

<!--more-->


<p>Here some screenshots from the iPhone version:</p>

<p><img class="center" src="http://bonto.ch/images/content/Screenshot_24.png" width="480" height="320" title="Montessori Memory" alt="Montessori Memory"></p>

<p><img class="center" src="http://bonto.ch/images/content/Screenshot_28.png" width="480" height="320" title="Montessori Memory" alt="Montessori Memory"></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[JSON Libraries for iOS Comparison [Updated]]]></title>
    <link href="http://www.bonto.ch/blog/2011/12/08/json-libraries-for-ios-comparison-updated/"/>
    <updated>2011-12-08T22:59:00+01:00</updated>
    <id>http://www.bonto.ch/blog/2011/12/08/json-libraries-for-ios-comparison-updated</id>
    <content type="html"><![CDATA[<p>Yesterday I spent some time creating a simple test for JSON libraries and I wrote <a href="http://bonto.ch/blog/2011/12/06/json-libraries-for-ios-comparison/">a quick article about it</a>.</p>

<p>After few hours since the article has been published, I had a lot of visits on my blog, so I decide to improve the quality of the code and invest some time in getting more accurate results.</p>

<!--more-->


<p>I received a couple of good comments and the first one that made me think a lot was this:</p>

<blockquote><p>Some of these number don&#8217;t look right. Did you compile on release with no assertions?</p></blockquote>

<p>I have to be honest: I completely missed that point, I forgot to disable assertion or use a &#8216;Release&#8217; build configuration.
I decide to do all the tests again and, thank to some suggestions from <a href="https://github.com/steipete">steipete</a> in Github, I added the possibility to decide how many times the library will parse the file, this is for more accurate results and some useful stats like average, minimum and maximum. Adding some stats is good, but it&#8217;s better if you have some kind of graphic to represent these results, so I decided to add a graphic chart if the phone is turned in landscape after the parsing (<a href="http://www.highcharts.com/">thanks to HighCharts</a>).</p>

<p>Just fixing the assertion problem, results are now looking more accurate and they seem to be what I was expecting when I started this project.
Let&#8217;s see what are the new results starting from the twitter_timeline.json, using an iPhone 4S with iOS 5.0.1 (parsed 50 times):</p>

<p><img class="center" src="http://bonto.ch/images/content/twitter_timeline_2.png" width="320" height="480" title="Result for Twitter Timeline" alt="Twitter Timeline"></p>

<p>Now JSONKit is the top class library, the fastest one! NSJSONSerialization is the second one, following with a small gap and NextiveJSON is now the third, really close to the 2 top libraries. Now SBJSON is the 4th library and TouchJSON is the slowest, like in the previous test with the build configuration mistake.</p>

<p>Let&#8217;s see the result in a chart:
<img class="center" src="http://bonto.ch/images/content/twitter_timeline_2_chart.png" width="720" height="480" title="Chart for Twitter Timeline" alt="Twitter Timeline Chart"></p>

<p>Now it&#8217;s the time of repeat.json, the json file with a repeated structure. I did this test parsing the same file 100 times, this is a quite fast parse, so it&#8217;s not a big deal for an iPhone 4S.</p>

<p><img class="center" src="http://bonto.ch/images/content/repeat_2.png" width="320" height="480" title="Result for Repeat" alt="Repeat"></p>

<p>The results are the same of the previous test: JSONKit is the fastest library, followed again by NSJSONSerialization and NextiveJSON. SBJSON and Touch JSON are, again, the 2 slowest libraries.</p>

<p>Again, let&#8217;s see the chart:
<img class="center" src="http://bonto.ch/images/content/repeat_2_chart.png" width="720" height="480" title="Result for Repeat" alt="Repeat Chart"></p>

<p>Now it&#8217;s the time of the hardest json file, the one with 1000 objects with a random structure. I parsed this file only 5 times, because the process is longer than the other 2 and I think that 5 times is the minimum number for having a good stat.</p>

<p><img class="center" src="http://bonto.ch/images/content/random_2.png" width="320" height="480" title="Result for Random" alt="Random"></p>

<p>Even here, JSONKit is the best, doing better than NSJSONSerialization and NextiveJSON, both are following with a small gap. Always behind SBJSON and TouchJSON.</p>

<p>And&#8230; guess what? Chart time!
<img class="center" src="http://bonto.ch/images/content/random_2_chart.png" width="720" height="480" title="Result for Random" alt="Random Chart"></p>

<h2>Conclusion</h2>

<p>After using a release build configuration, things changed a lot, now the results are more accurate and using a chart to describe the results, it&#8217;s more clear the gap between the fastest library and the worst library.</p>

<p>At this point and without doubts, JSONKit is the best library, followed by NSJSONSerialization and NextiveJSON. SBJSON and TouchJSON are a little bit slower than the 3 bests libraries.</p>

<p>Next time I&#8217;ll do the serialization test, updating this project that has been update in <a href="https://github.com/bontoJR/iOS-JSON-Performance">Github</a>. Like the previous post, feel free to comment what you think and suggest improvements.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[JSON Libraries for iOS comparison]]></title>
    <link href="http://www.bonto.ch/blog/2011/12/06/json-libraries-for-ios-comparison/"/>
    <updated>2011-12-06T23:40:00+01:00</updated>
    <id>http://www.bonto.ch/blog/2011/12/06/json-libraries-for-ios-comparison</id>
    <content type="html"><![CDATA[<p>I think is one of the most common questions for an iOS developer:<br/>
<em>Which one is the best JSON library?</em></p>

<p>I think the best test that we can do is a quick benchmark, even if I think that
it&#8217;s not only the speed that makes a library better than others.</p>

<p>So, today I decided to do a quick performance project to check which of the following
libraries is the best one in terms of speed:</p>

<ul>
<li><a href="http://stig.github.com/json-framework">SBJson</a> - <em>Previously known as json-framework</em></li>
<li><a href="https://github.com/johnezang/JSONKit">JSONKit</a></li>
<li><a href="https://github.com/nextive/NextiveJson">NextiveJSON</a></li>
<li><a href="https://github.com/TouchCode/TouchJSON">TouchJSON</a></li>
<li><a href="http://developer.apple.com/library/ios/#documentation/Foundation/Reference/NSJSONSerialization_Class/Reference/Reference.html">NSJSONSerialization</a> - <em>Public API since iOS5</em></li>
</ul>


<p>To do this quick test (at the moment I&#8217;m only deserializing the JSON file) I create a project with all the libraries.<br/>
I also created 3 different kind of JSON file:</p>

<ol>
<li>A JSON file from public Twitter timeline</li>
<li>A random JSON file generated with 1000 records with variable objects *</li>
<li>A classic JSON file with 100 records with 2 objects *</li>
</ol>


<p>To generate the files marked with * I used this nice online tool: <a href="http://json-generator.appspot.com/">json-generator.appspot.com</a></p>

<h6><em>For the test I used an iPhone 4S with iOS 5.0.1.</em><br/><em>I&#8217;ll redo the test as soon as possible with an iPhone 4, iPhone 3GS and iPad 2.</em></h6>

<p><strong><a href="http://www.bonto.ch/blog/2011/12/08/json-libraries-for-ios-comparison-updated/">This post has been updated with more accurate results!</a></strong></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[SQL for Swiss Towns and Cantons]]></title>
    <link href="http://www.bonto.ch/blog/2011/11/28/sql-for-swiss-town-and-cantons/"/>
    <updated>2011-11-28T17:19:00+01:00</updated>
    <id>http://www.bonto.ch/blog/2011/11/28/sql-for-swiss-town-and-cantons</id>
    <content type="html"><![CDATA[<p>I&#8217;m developing this fantastic app that needs Towns and Cantons in Switzerland and
I found out that an SQL script to import these information was missing.
So I decide to create a repo in GitHub and add these 2 scripts. Now you can use them
when and where you want for any kind of project.</p>

<p>You can find the repo in <a href="https://github.com/bontoJR/Swiss-Cantons-and-Towns-SQL">Github</a> :)</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[New Start]]></title>
    <link href="http://www.bonto.ch/blog/2011/11/12/new-start/"/>
    <updated>2011-11-12T16:58:00+01:00</updated>
    <id>http://www.bonto.ch/blog/2011/11/12/new-start</id>
    <content type="html"><![CDATA[<p>I lost my old blog because my previous hosting service deleted my server 3 days before the announced day and unfortunately I lost the backups.
So I decided to restart with Octopress and recovering only my last post.<br/>
I hope you&#8217;ll enjoy this blog.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[MCFlashMessageView is out]]></title>
    <link href="http://www.bonto.ch/blog/2011/10/18/mcflashview-is-out/"/>
    <updated>2011-10-18T16:59:00+02:00</updated>
    <id>http://www.bonto.ch/blog/2011/10/18/mcflashview-is-out</id>
    <content type="html"><![CDATA[<p>My first open source code is out.<br/>
You can find it in <a href="https://github.com/bontoJR/MCFlashMessageView">GitHub</a>.<br/>
Basically is a class that gives you the opportunity to create a simple flash message, like the one used in the famous app Reeder.<br/>
Feel free to fork this project or to give me a feedback/feature request/criticism.<br/></p>
]]></content>
  </entry>
  
</feed>

