There was a recent short interview of Horace Deidu of Asymco on Forbes and this one was a classic. I was not just impressed by the Horace's answers, I am used to that and that is what we expect from him as a smart analyst, having been following for a long time on both his blog and his podcast. But the questions posed to him were also really smart and intelligent. The highlight of the interview was the question on what questions Horace would ask in an imaginary interview with Tim cook, for which his response was purely about creativity and the people responsible for it in Apple. Any other "analyst" would have asked him when the darn Apple "i"TV will be announced!
If you have been following my blog, you know that I have started dabbing into iOS App development (Can I develop an iOS App?), more so as a hobby and have been trying to cram in time during weekends to first learn Objective C and then learn iOS coding, in particular. Now I am onto Core Data and for all this Lynda.com has become my one stop destination and the videos offered by Simon Allardice are just too good. My first App is shaping up well and though my progress has been slow, it has been steady.
The thing with Xcode is that... it is just awesome. It is such a nice App with everything you need packed into one place. There are these wonderful starting templates, which get you started right away without much of a starting trouble. But I ended up getting stuck with a particular issue yesterday that took me two hours to troubleshoot and there is no shame in admitting that it was a silly one when I found the solution.
So here it is... When you create a new project in Xcode you get showed templates to choose from and I like the Single View Application as it is simple but has everything to build your own App from. However in Xcode 5, you cannot use a Single View template with Core Data enabled by default. You can add Core Data manually, but oh boy isn't that a pain! So if you want Core Data enabled template, you are stuck with the Master-Detail template or Empty Application template or Utility Application template. So after giving up on adding Core Data manually to a Single View Application template, I decided to go with an Empty Application template with Core Data enabled.
When you start with a Single View template, it comes with a Storyboard and when you run the application, the program compiles just fine with whatever on the Storyboard being displayed just fine as shown in the above picture. However the Empty Application template does not come with a Storyboard built in and hence I added a Storyboard by going to file > New > File in the Xcode menu bar and choosing Storyboard from iOS > User Interface. A Storyboard appeared (MainTest2.storyboard here) and after adding the same label, when I hit run, the simulator showed a white screen with no label on it as shown below.
So though I created a new Storyboard and everything on the side pane just looked fine, there was some connection missing that told Xcode that this Storyboard was my main Storyboard. Of course this was the easy part to figure out. But the tough part was what and where, that connection was to made. After almost an hour, I finally found out that the connection has to be made in the plist file, in the 'Supporting files' folder in the side pane. One you open the plist file, add an entry (new row) to it by clicking on Editor > Add Item (make sure that the center pane showing the plist file's rows is active) and an empty row appears in the plist file (see picture below). In the Information Property List column type in 'Main storyboard file base name' and then in the Value column type in the name of your newly created Storyboard file (only the exact filename with no extension). This tells Xcode that this custom created Storyboard is your application's main Storyboard.
However there is one more thing specific to using an Empty Application template. In the AppDelegate.m file there is some unwanted code that needs to be deleted before getting your Storyboard display what is shown on it. In the method, '- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)', delete everything (see below) that is there except for 'return YES;'. This code was forcing a new window to be showed on your Storyboard as soon as the Application was launched and hence whatever was on your custom Storyboard never showed up.
This is it. Now compile and run your Empty Application with custom Storyboard and it should display whatever is shown on the Storyboard as shown below. This issue might be a minor one and might not seem too complicated, but when you are a beginner not just in coding but anything in life, its these seemingly little annoyances or missteps that will end up costing you a lot of time and effort. So hopefully this helps and I will continue to post such things that I learn from my App development experience, here.
The last few days have been very dry in the Apple-sphere with not much going on, be it in terms of 'Apple is doomed' news or on new groundbreaking Apple product rumors. But today a couple of "not so new" rumors popped up. But the interesting part about these iPhone 6 rumors are that they are from the Wall Street Journal, which has a reasonable record in the past of leaking Apple's yet to be announced plans. This time, the WSJ (via 9to5mac as you need to subscribe to read WSJ yourself!) reported that only the high end models of the iPhone 6 will have a sapphire display and these models will include both the 4.7" and the 5.5" sizes of the iPhone 6. So in spite of not so much news being leaked out about the 5.5" iPhone 6 (at least not as much as the 4.7" one), the report goes on to say that both the sizes of iPhone 6 will have the sapphire display in their high end models. But more interestingly for me, if this is true, then Apple's iPhone pricing strategy would see a dramatic change starting with iPhone 6.
Currently Apple sells a current generation iPhone and a older generation iPhone (iPhone 5C is still based on iPhone 5 for most of the part) and then within each generation iPhone, it sells different memory iPhone models at $100 more per piece. So the only high end model within the same generation iPhone 5S model that you can get is twice the memory for more money. But if this rumor happens to be true then, Apple is helping its higher end model/models stand out further by making them more feature rich, like a much better scratch resistant sapphire screen (that obviously costs more to make). This seems similar to what Apple did initially when its introduced Retina displays on its MacBooks, where only the high end MacBook Pros (started with the 15" ones and then descended to the 13" models later) had this "new" feature and they costed more. Of course with laptops the bigger the screen, the more higher end the model is. Now as I have quipped before, no one knows what Apple has in mind for the two sizes of the iPhone 6, as in which would be more high end? So either way as per this rumor, customers might have more choices to make and Apple might have more ways of differentiating its iPhone models and hence more ways to increase its profit margins (remember the profit margins for Apple are way higher for the 64GB iPhone 5S than for the 16GB one, see this nice iMore article for some details on this).
Gone are the days of Apple's hilarious Mac vs. PC Ads, that drew a lot of attention from admirers and critics likewise. Those from Apple featured heavily on how Macs stood out from the PCs, i.e., superior security from malware, better software value in terms of inbuilt suites, better hardware, less confusing and tricking price points, better service via Apple Genius bars, lack of out the box nonsense-ware, etc (here is the complete list on Wikipedia). Of course most of these were true and there were area where the Apple Macs were behind the PC as well, at that time, like lack of software offerings, lack of diversified price points, etc. But at that time Apple was the underdog and going after the Market leader, Microsoft. The Ads were effective and though Apple Macs never outgrew or even came close to the PCs, the Ads were deemed a huge success.
Now come 2104, looks like the tides have changed or have they? Microsoft has been going after Apple's iPad, some time in the past, comparing them with its Surface tablets. Now it is time for it go after the MacBook Air (via MacRumors). What is interesting is the theme of these Ads. They are very reminiscent of the Mac vs. PC Ads, but the difference is that Microsoft doesn't look like it has much to go on. For example all these three Ads, pitch the Surface tablet as having a touchscreen and better connectivity or more ports, thats it. I agree (and so do many) that I would like to replace my iPad and my MacBook Pro with one machine. But am I willing to sacrifice the advantages of these two separate devices, just to get one device that crams in both of them, like a Surface tablet? I don't think so, at least not yet and so does the market. The Surface tablet is being pitched as "no compromise" tablet and laptop, but unfortunately it has ended up being a fully compromised tablet and a laptop (The Verge's Surface review). The tablet seemingly is apparently to bulky and heavy to be used as a tablet, the desktop portion of it also seems to be too confusing with both the traditional Windows and Windows Mobile like touchscreen interface. On the whole, Surface is so typical of a Microsoft product (or even Google's) where the Engineers got all their ways, say yes to everything so we can fill in the spec sheet with feature after feature. This is the exact opposite of the Apple ideology of saying no to almost everything except the very very few things that are absolutely necessary.
Another interesting thing about these Ads are the fact that though Apple's Macs are no where close to the marketshare of the PCs, looks like MacBook Airs alone are doing very well against the Surface tablets. And these Ads are a testimony to the fact that Microsoft is kind of realizing this fact that the MacBook Air like computers are going to be dominating the consumer market from now. Apple obviously realized this sooner, as they have been making the MacBook Airs much more affordable and less crippled in terms of features. It is fair to assume that Apple will be concentrating (the 12" MacBook Air?) of the MacBook Air like much more than the MacBook Pro line, in the near future, as it seems to be the favorite for majority of the people.
With iPhone 6 launch event coming closer, more rumors keep pouring in. Today there were a couple of rumors on iPhone 6 via GigaOm. The first one was about how the Apple logo on the back of the iPhone 6 might not be a cut out with light shining through, but rather made of solid metal (Liquidmetal?). While this is purely ornamental, the second, related rumor was more interesting. Apple has always tried to make its devices more compact and portable, irrespective of their primary purpose, from the iPods to the recent Mac Pros. Its ideology always has been that any product should only be as bulky as is absoultely necessary. It famously abandons technology that it deems too archaic with its newer generation products, like the DVD drive and ethernet port on the MacBook Pros to enable this 'compacting' of its products. Some of these almost always end up being controversial though, in the long run seem to make sense (remember the uproar initially when the iPhone came with a non-removable battery or the first time when the Retina Macbook Pros could not be upgraded post purchase with more RAM or hard rive capacity).
With the iPhone, almost every new generation (not the "S" upgrade) has seen thinner, more compact design changes, even making iPhone 5 (and 5S) almost too thin to hold, comfortably. A lot of people have been calling out Apple on this, saying it puts too much importance on making its iPhone thinner and hence sacrificing potential features that could have existed, had the iPhone not thinned down, so much. With the iPhone 6, if the rumors are right, Apple is still following the same trend, as the pictures of leaked dummies have shown the iPhone 6 to be considerably thinner than the iPhone 5. Though I don't agree on all these criticisms, I do have to agree on a couple of them. For example I would on any day, prefer the iPhone 5 (or 5S) to be as thick as the iPhone 4 (or 4S) if that enabled it to have a much better battery life (thicker iPhone 5 implies bigger battery). The same way the limitation with smartphone cameras are that they have to be crammed in very thin chassis and if there is anything that cameras like, for taking better pictures, its longer lens lengths or thicker chassis. So thinner iPhone generally means that a sacrifice is needed on the camera's hardware capability that Apple has to overcome through its software modifications. Again I would prefer an iPhone 5 as thick as an iPhone 4 if that results in a much better camera lens.
But Apple can be adamant sometimes (what??). So far it has not paid attention to these criticisms and has continued to thin down the iPhones even further. However the second part of this rumor suggests that Apple might come up with a design for iPhone 6's camera, where there might be a slight protrusion (again Liquidmetal?) around the camera, to enable only the camera part of the iPhone 6 to be thicker, hence be much better. If this is true, it is a significant deviation from Apple's design principles of making all its products flush with uniform flawless design, like the unibody MacBooks. But if there is anything that we have learnt form Apple, its that it doesn't care about retreating its past principles/philosophies, if that deviation is well justified. So if at all this design ends up on the iPhone 6, that would enable a better camera on a thinner iPhone body, with the compromise being a tiny flawed surface on the otherwise perfect iPhone.
The famous Tim Cook's statement about Microsoft's Surface effort, i.e. a laptop and a tablet in once device is all but too familiar at this point of time. His prophecies on how this sort of cramming two different form factors into one device will fail, seems to be true and even Microsoft kind of admitting it (Surface results in more losses for Microsoft). However admit at.. at one point of time, we all have dreamed about such a mythical Apple hybrid, one that combines the elegance and ease of use of the iPad and the power and feature set for MacBook. And looks like we are not alone in this. iMore ran a survey on what the future dream Mac should be and the majority (almost one third) of the respondents wanted a hybrid device from Apple. Microsoft as usual I think had a good vision (of a hybrid computer), but again as usual screwed up the implementation. And also there is really something like being "too early into the market", if the market or technology is not ready for a breakthrough device, it is wise not to try and fail and rather wait it out till the time is right. I think this is what Apple does the best, keep saying no to something till it thinks that the market and the customers are ready for that latest and the greatest technology. By the way I emailed Tim Cook as early as in 2012, asking him about an Apple's hybrid, but unfortunately I diid not get any reply.