<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:iweb="http://www.apple.com/iweb" version="2.0">
  <channel>
    <title>Marek Bell</title>
    <link>http://www.marekbell.com/Marek_Bell/Blog/Blog.html</link>
    <description>Search</description>
    <generator>iWeb 3.0.1</generator>
    <item>
      <title>iPad Ramblings</title>
      <link>http://www.marekbell.com/Marek_Bell/Blog/Entries/2010/4/16_iPad_Ramblings.html</link>
      <guid isPermaLink="false">a937645c-033d-46c5-a659-7614664bcef6</guid>
      <pubDate>Fri, 16 Apr 2010 09:34:00 +0100</pubDate>
      <description>&lt;a href=&quot;http://www.marekbell.com/Marek_Bell/Blog/Entries/2010/4/16_iPad_Ramblings_files/IMG_0023.jpg&quot;&gt;&lt;img src=&quot;http://www.marekbell.com/Marek_Bell/Blog/Media/object001_1.jpg&quot; style=&quot;float:left; padding-right:10px; padding-bottom:10px; width:179px; height:85px;&quot;/&gt;&lt;/a&gt;As with most of Apple’s new hardware releases, there’s been a ludicrous amount of hype around the iPad release.  I’ve had mine for a few days now and I have to say that it is indeed an amazing device, and does live up to the hype... it is the “game changer” that it’s been claimed to be.&lt;br/&gt;&lt;br/&gt;For the primary tasks that most people do it is the best device by a very large margin.  Firstly, the screen on the iPad is amazing; stunningly bright and vibrant, supreme viewing angles, and the touch response is immediate and accurate.  Web browsing is sublime as Safari reacts instantly to any scroll or tap and I quickly realised that being able to sit in any chair and relax with the web is one of those things that never occurred to me as desirable but now I could never give up.  Similarly, reading email is equally enjoyable.  When in horizontal mode all your emails are displayed on the left and the currently selected email on the right.  Being able to scroll quickly through all your mail headers and immediately read them on the same screen by selecting one just feels right.  For the majority of users I think web and mail is pretty much all they care about; get those right and you have happy users... and Apple have 100% got those spot on with the iPad.&lt;br/&gt;&lt;br/&gt;I could go into a lot more depth on all the apps, but there are so many iPad reviews out by now that it seems a bit pointless.  So I’ll just give some higher-level overview.  As a developer I’ve been able to use iPhone OS 4.0.  In fact, I’d been using 4.0 for about a week before I first got the iPad so I had become pretty used to what it can does.  It is obvious to me that the iPad is screaming out for the features of 4.0.  As iPad apps are generally far more substantial than iPhone ones the ability to multitask is sorely needed.  When in the NPR app listening to some radio it is so frustrating to have the audio stop when you exit the app.  When you go back to apps after taking a break it is again annoying that they don’t always resume where you left them.  The iPad simply needs multitasking as soon as possible.  I know that when 4.0 is publicly released iPad users will suddenly all become a lot happier.&lt;br/&gt;&lt;br/&gt;Some negatives start with the lack of a file system that is open to and viewable by the user.  You have to get files onto the iPad by dragging them onto iTunes and synching the device.  The closed file system also results in the stupidity that is requiring two copies of a file being on the device if you want to use it in two apps.  Viewing a PDF in GoodReader and want to view the same thing in MyPDF?  Well, despite already having a perfectly good copy on the device in GoodReader’s folder you’re going to have to plug the iPad back in and drag another copy of the same file into MyPDF’s folder.&lt;br/&gt;&lt;br/&gt;Another weird negative I’ve found is that navigating the app store on the iPad is awful.  It is surprising Apple haven’t insisted on the usual polish, particularly when it comes to the area that is essentially where the money is for them.  The whole App Store app on the iPad is much more obviously a web page than one can realise from the iPhone version.  The page is poorly designed, slow to refresh, and when moving from one page to another a complete reload is required.  For example, the top charts for apps shows 10 apps by default.  Tap the more button at the bottom and after an ugly refresh you see 20 apps.  Tap say app 19, have a look and realise you don’t want it and so want to move to see apps 20 to 30.  So you tap back but now the charts page completely reloads and shows only the top 10 again.  So you have to click more yet again to see apps 10-20, wait on another horrible page refresh and then navigate down again to find the more button, and do the process again for apps 20-30.  Poor, abysmal design that means if you want to browse around the app store you’re going to want to avoid the iPad and do it on your main computer instead.&lt;br/&gt;&lt;br/&gt;There are some other technical negatives like the restricted access to many desirable APIs, lack of true multitasking even with OS 4.0, problems accessing remote file stores, printing, etc.  But no big killers that will stop what 90+% of people want to do most of the time.&lt;br/&gt;&lt;br/&gt;In comparison to the iPad, the iPhone experience now seems somewhat silly.  Navigating the web on such a limited space seems like a bad joke, as does checking mail.  For apps that have both an iPhone and iPad version you’ll find that after using the iPad version going back to and navigating around the iPhone one is a real battle.  Certainly, the iPad has put a sudden stop to my home iPhone usage.  Before I’d normally have my phone in my pocket and use it to check my mail or do a little browsing on the sofa.  There is no way I’d even contemplate that now.  On a related note, running apps designed for the iPhone on the iPad results in a spectacularly awful experience.  Originally, I synched all my iPhone apps to the iPad in the hope that I’d find some of them looked okay.  However, using the apps at the original size is pointless as the tiny app sits in the middle of the screen and well over half the screen is wasted by massive black margins as you try to fiddle with the midget-app in the middle.  Clicking the 2x button to scale up the app seems like the smart thing to do, but then you realise that everything looks dire as it all becomes horribly pixelated.  I ended up removing all iPhone apps from the iPad because the experience of navigating even a well designed iPhone-designed UI is utterly subpar when compared to the most mediocre of iPad apps.&lt;br/&gt;&lt;br/&gt;So, overall do I like the iPad?  I can’t dispute that is an amazing device that has almost perfect design.  It’s a joy to use.  Going from the iPhone to iPad you realise that yes, this is the way it is supposed to be.  Somehow what you see and experience on the iPhone makes a lot more sense after you use an iPad... ah, so this is what they were trying to do on the phone.  That said, there is an obvious wealth of untapped potential in the iPad.  In my opinion, this is all about integration and it will come as the device and apps mature.  Why do I have to plug my iPad into my laptop at all to sync (they both have WiFi and Bluetooth).  Why can’t my iPad talk to my iPhone?  If I leave my phone in the bedroom and have the iPad with me in the kitchen when the phone rings then why can’t I answer the call through the iPad?  Why can’t I use my iPad in the living-room in the evening to tell my iPhone (that I’ll have by my bed) to wake me up in the morning?  Why do I have to stream audio through my laptop to the speakers in my house and use the iPad to remotely control iTunes on the laptop instead of being able to stream directly to the speakers from the iPad?  Why can’t I control what is playing on my TV and view a guide from the iPad?&lt;br/&gt;&lt;br/&gt;Actually, I can do that last one but the EyeTV app is currently awful so I don’t.  The point is that all these things are about integration of devices and I feel that is what is currently lacking.  But they will come in time as the technology is definitely here now.  For the first time ever I actually feel that I have tabs (iPhone), pads (iPad), and boards (Mini hooked up to TV) in my own home... now I just want them all to talk to each other more frequently.</description>
      <enclosure url="http://www.marekbell.com/Marek_Bell/Blog/Entries/2010/4/16_iPad_Ramblings_files/IMG_0023.jpg" length="145630" type="image/jpeg"/>
    </item>
    <item>
      <title>Austria</title>
      <link>http://www.marekbell.com/Marek_Bell/Blog/Entries/2010/3/22_Austria.html</link>
      <guid isPermaLink="false">dcc18039-9b20-4b3b-9cfe-34faa85af053</guid>
      <pubDate>Mon, 22 Mar 2010 14:25:17 +0000</pubDate>
      <description>&lt;a href=&quot;http://www.marekbell.com/Marek_Bell/Blog/Entries/2010/3/22_Austria_files/IMG_0154.jpg&quot;&gt;&lt;img src=&quot;http://www.marekbell.com/Marek_Bell/Blog/Media/object003_2.jpg&quot; style=&quot;float:left; padding-right:10px; padding-bottom:10px; width:179px; height:85px;&quot;/&gt;&lt;/a&gt;Catherine and I spent four days skiing in Austria.  I had been there four days beforehand skiing during Scott’s stag (which was awesome), and then Catherine joined me after the other guys left.  It was a really enjoyable time and the skiing was amazing.  I’d only skied on Scottish slopes before so being at a proper ski resort was a big, and welcome, difference.&lt;br/&gt;&lt;br/&gt;Click the pic above or the link below for some pics from the trip.&lt;br/&gt;	•	&lt;a href=&quot;http://gallery.me.com/marekbell/100142&quot;&gt;Austria '10&lt;/a&gt;</description>
      <enclosure url="http://www.marekbell.com/Marek_Bell/Blog/Entries/2010/3/22_Austria_files/IMG_0154.jpg" length="157255" type="image/jpeg"/>
    </item>
    <item>
      <title>New House</title>
      <link>http://www.marekbell.com/Marek_Bell/Blog/Entries/2009/11/25_New_House.html</link>
      <guid isPermaLink="false">49598f1b-9f58-4125-b732-cafc4283f9a8</guid>
      <pubDate>Wed, 25 Nov 2009 01:50:20 +0000</pubDate>
      <description>&lt;a href=&quot;http://www.marekbell.com/Marek_Bell/Blog/Entries/2009/11/25_New_House_files/IMG_2812.jpg&quot;&gt;&lt;img src=&quot;http://www.marekbell.com/Marek_Bell/Blog/Media/object003_1.jpg&quot; style=&quot;float:left; padding-right:10px; padding-bottom:10px; width:179px; height:85px;&quot;/&gt;&lt;/a&gt;Catherine and I moved a couple of months ago.  I had planned on putting some pictures of the new house up earlier but it’s been a busy time.  Anyway, here they are at last...&lt;br/&gt;	•	&lt;a href=&quot;http://gallery.me.com/marekbell/100134&quot;&gt;New house gallery&lt;/a&gt;</description>
      <enclosure url="http://www.marekbell.com/Marek_Bell/Blog/Entries/2009/11/25_New_House_files/IMG_2812.jpg" length="174570" type="image/jpeg"/>
    </item>
    <item>
      <title>Push Notifications on 3.0</title>
      <link>http://www.marekbell.com/Marek_Bell/Blog/Entries/2009/6/18_Push_Notifications_on_3.0.html</link>
      <guid isPermaLink="false">66a68462-0916-4127-9928-d072728d47b8</guid>
      <pubDate>Thu, 18 Jun 2009 11:08:46 +0100</pubDate>
      <description>&lt;a href=&quot;http://www.marekbell.com/Marek_Bell/Blog/Entries/2009/6/18_Push_Notifications_on_3.0_files/iphone-push-notes.jpg&quot;&gt;&lt;img src=&quot;http://www.marekbell.com/Marek_Bell/Blog/Media/object001_1.jpg&quot; style=&quot;float:left; padding-right:10px; padding-bottom:10px; width:177px; height:200px;&quot;/&gt;&lt;/a&gt;So iPhone OS 3.0 is out and one of the big new features is push notifications.  As a developer I’ve been using 3.0 for a while now and have tried the AP News and AIM apps that push notifications down.  We’ve also successfully tried using push notifications on our own test apps.&lt;br/&gt;&lt;br/&gt;At first I was really looking forward to push notifications as they should solve a problem that the iPhone has suffered from for a long time, that there was previously no way for an app not running in the foreground to notify the user of any activity.  However, now that I’ve got used to push notifications and what they can and can’t do, I think they are actually pretty bad.&lt;br/&gt;&lt;br/&gt;Firstly, whilst push notifications aren’t too hard to implement, you do need control of a server that you can generate the pushes from.  I doubt the majority of developers have access to their own reliable server that is always online.  This means not many developers will be able to use them, even if they know how.  Furthermore, if your app is going to have a large number of users then you’re going to need a really powerful server, not just any server.&lt;br/&gt;&lt;br/&gt;Secondly, the way the notifications appear and are managed is poor.  Notifications either result in UIAlertViews (pop-ups) or sounds.  This would be fine if notifications were rare, but if a lot of apps start using notifications then the user is just going to be inundated with a plethora of messages and sounds.  The iPhone needs some kind of notification management system to deal with the vastly increased number of notifications users are going to start seeing.&lt;br/&gt;&lt;br/&gt;Finally, and I think worst of all, whilst push notifications may be an ingenious technology, they only exist because Apple are still refusing to allow apps to run in the background on iPhones.  They have invested a great amount of time creating a complex push notification infrastructure and system to get around a problem they have created.  There is simply no need for this complexity, instead permit apps to run in the background and it becomes a non-issue.  The Palm Pre allows it and does it amazingly well, and battery life is still great.&lt;br/&gt;&lt;br/&gt;Even if Apple were worried about battery life, they could still permit apps to run in the background with some restrictions.  Perhaps something like background processes get set to the lowest possible thread priority, or can only consume 1% of processing time, or only get x execution cycles per second or minute.&lt;br/&gt;&lt;br/&gt;In short, push notifications are an admittedly well implemented technology, but ultimately I believe they are completely the wrong solution.  Background processes will always beat push notifications.  Unfortunately, after Apple invested about a year developing push notifications, I have a strong feeling they’ll be extremely reluctant to give them up even when the advantages to changing to background processes are overwhelming.</description>
      <enclosure url="http://www.marekbell.com/Marek_Bell/Blog/Entries/2009/6/18_Push_Notifications_on_3.0_files/iphone-push-notes.jpg" length="27800" type="image/jpeg"/>
    </item>
    <item>
      <title>Removing NSLogs on Release Builds</title>
      <link>http://www.marekbell.com/Marek_Bell/Blog/Entries/2009/3/25_Removing_NSLogs_on_Release_Builds.html</link>
      <guid isPermaLink="false">b7c01024-ab9e-4e60-8aa7-a3dc6d195f69</guid>
      <pubDate>Wed, 25 Mar 2009 10:39:49 +0000</pubDate>
      <description>Objective-C developers frequently use NSLog to output strings to the console, particularly for debugging purposes.  However, when you build a release version you don’t usually want any console output.  This is especially true if you are building iPhone applications, where console output is more costly than on desktop OS X and can slow your app down.  I’ve seen a few versions of tricks to help you remove NSLog output on release builds (for example, &lt;a href=&quot;http://www.cimgf.com/2009/01/24/dropping-nslog-in-release-builds/&quot;&gt;this one&lt;/a&gt;), but they all have two problems in common.  Firstly, in most you have to edit your project settings and manually define a DEBUG constant.  I find this rather annoying, as it just becomes a hassle to remember to go in and edit the project settings every time you start a new application.  Secondly, they normally result in defining an alternative output method, such as DLog instead of NSLog, so you have to remember to start using the new version instead, and would have to go back and replace NSLogs in all your old code.&lt;br/&gt;&lt;br/&gt;I came up with this small amendment that you put in your app’s prefix header, which I believe is a little neater than the other solutions I’ve seen...&lt;br/&gt;&lt;br/&gt;#ifndef __OPTIMIZE__&lt;br/&gt;#    define NSLog(...) NSLog(__VA_ARGS__)&lt;br/&gt;#else&lt;br/&gt;#    define NSLog(...) {}&lt;br/&gt;#endif&lt;br/&gt;&lt;br/&gt;As __OPTIMIZE__ is normally defined for release builds, you no longer have to go into your project settings and add any new definitions every time you create a new app.  Furthermore, by overriding NSLog rather than providing an alternative definition, you can keep using NSLog normally instead of having to use an alternatively named alias.  Therefore, I think this is the best solution, as all you have to do is copy and paste the above into your prefix header.</description>
    </item>
  </channel>
</rss>
