huibert-aalbers.com
Home of the storm Java custom tag library

Archive for the ‘Mac OS X’ Category

June 3rd, 2009

My expectations for WWDC ‘09

Filed under: Apple, Mac OS X, Macintosh, iPhone, iPod | Huibert @ 2:29 pm

On Sunday I will fly to San Francisco to attend WWDC. This will be my fourth WWDC in a row. From what I see, most of the sessions will be a rehash of what we saw last year. That isn’t too bad as it will allow me to focus on what is new in Snow Leopard and iPhone 3.0 and spend more time at the labs.

People seem to have very high expectations from this WWDC, which isn’t unusual. Most expect new handsets and a hopeful handful still expect the mythical Apple Tablet to be finally announced. I am not that interested by new hardware. New handsets will come at some time, that we know, and since we know that they will be running iPhone OS 3.0, which is already available for current devices, I really don’t care if they are announced at the show or two months from now. As for the tablet, my guess is that we will have to keep waiting.

However, most people seem to be much less interested by Snow Leopard. That is probably a mistake. Apple has deliberately set low expectations for this release and is probably set to over deliver in several areas, even though nothing has been announced. Regarding the new features that we know about, like Grand Central and OpenCL, we have no exact idea what kind of impact they will represent in terms of performance gains. I hope to be pleasantly surprised. Like last year, I will keep my finger crossed for Windows and iPhone versions of iChat which would make the Mac version more useful.

On the iPhone front, I have high expectations for significant third party hardware device announcements that can be controlled from the phone. Building a strong ecosystem around the iPhone is key to its long term success and Apple has been very clever to open the development of non-trivial hardware extensions to third parties. It would be nice to see Arduino work with Apple to allow hardware geeks easily create new hardware gadgets for the iPhone. That would open a new market for the phone in universities all over the world.


June 3rd, 2009

CityListBuilder for iMovie ‘09 released

Filed under: Apple, General, Mac OS X, Macintosh | Huibert @ 9:49 am

Picture 7.png

You may have noticed that I have been quiet for the last few months. I was busy working on a new Mac application. As you may have guessed, I don’t have a lot of time to work on personal projects. My job at IBM from Monday to Friday, with extremely long working hours, and my family to which I devote week-ends take most of my time. As a result, I have to be smart and use any spare time wisely. Working on multiple projects is definitively not an option.

The application I have just released, CityListBuilder for iMovie ‘09, is quite simple. It is designed to help non-technical Mac users to add support for additional cities to the new animated travel map feature. This can be done by hand quite easily by just editing the contents of a flat file, but I thought that Mac users deserved a better solution.

From a technical perspective though, writing this app was a very interesting exercise. It gave me the opportunity to work with REST services (to interface with the Google Maps geocoding service), WebKit and the authorization services. I think that the strategy of releasing relatively quickly small apps that allow me to learn new technologies is quite effective. I have already started to look for new ideas for my next project. One candidate project involves using Bonjour and Quartz Composer, two technologies I have never used so far and that I believe are quite interesting. It would also allow me to work on an iPhone client which is quite exciting. I will let you know more once I actually start coding.


March 24th, 2009

What to expect from the next iPhone models

Filed under: Apple, General, Mac OS X, Macintosh, iPhone, iPod | Huibert @ 3:43 pm

apple_tablet4_desinformado.jpegWhen Apple announced the iPhone OS 3.0 last week, most users where pleased. This new version addresses most of the problems that customers have been complaining about since the launch of the 3G iPhone. Features like cut, copy and paste or the ability to finally sync the Notes application with a Mac or a PC will definitively make a lot of people happy.

However, despite all the improvements that Apple has included in this new release, it is clear that this is just a transition product that will improve the user experience but that nobody can seriously define a revolutionary. Those who expected the iPhone OS to run on new types of devices, like a larger tablet or a smaller, cheaper phone are probably disappointed. There seems to be nothing in this release that allows existing applications to run on different form factor devices. That doesn’t mean that we won’t see a new generation of iPhones relatively soon. In fact AppleInsider has already reported on some of the features the new phones are expected to sport when they are released this summer. However, these products will be evolutionary (better camera, improved speed, etc), not revolutionary.

So, what should we think of those rumors that tell us that Apple has been shopping for 10” LCD screens? They might be still be true, but they just won’t be for a device running the iPhone OS. That probably means that if Apple chooses to release a Netbook later this year, it will most likely be a Mac, or at least a device much closer to a Mac than to an iPhone.


May 19th, 2008

The iPhone opens new opportunities for OSX Server

Filed under: Apple, Mac OS X, Macintosh, iPhone | Huibert @ 11:28 am

83848B8C-D4BC-4CB1-8A00-3AEB614F969A.jpgThe iPhone is already a popular product in the US, but it will become much more popular, specially in the enterprise, once Apple releases version 2.0 of the iPhone OS. With the new software companies will be able to easily distribute custom build applications to their employees using a special version of the iTunes App Store.

While not much is known about this application, it is a pretty safe guess to assume that it is Mac OS X only and that it will probably included in an upcoming release of OS X Server. While such a strategy may help Apple sell a couple of hundred servers, it is hard to believe that Apple doesn’t have larger ambitions in the telephony market, specially for small and medium sized businesses.

Asterisk is a popular open-source application that is already widely used on Linux servers. It is used to create cheap telephony solutions that used to cost hundreds of thousands of dollars. The solution is an open source/free software implementation of a telephone private branch exchange (PBX). Like any PBX, it allows a number of attached telephones to make calls to one another, and to connect to other telephone services including the public switched telephone network (PSTN). With Asterisk it is easy to setup voice mail boxes and route calls to home numbers or cell phones.

Asterisk also supports a wide range of Voice over IP protocols, including SIP, MGCP and H.323. It can interoperate with most SIP telephones, acting both as registrar and as a gateway between IP phones and the PSTN. This makes Asterisk a perfect complement to iChat.

Apple has a long history of including open-source applications with OS X Server, making them easy to configure and manage. The OS already includes products such as the Apache Web Server or the MySQL database server. So why not include Asterisk? It would allow Apple to offer a turnkey solution for small to medium companies. Imagine a server that costs less than US$ 5,000 and offers everything that this market needs, from e-mail to instant messaging, from wikis to video conferencing, and now with a true unified communications solution. I am sure it would quickly become an instant hit.

What is required to make this happen? Asterisk already runs on OS X, so all Apple really needs to do is to integrate it better with the OS and offer the required analog phone and E1/T1 interfaces for the XServe. Additionally they will need to port iChat to Windows (this is long overdue). On the business side, they will also need to improve their VAR network as these solutions cannot be simply sold at the Apple Store, they need to be supported by IT professionals.

None of these hurdles seem too hard to overcome. I really believe that Apple will eventually offer such a solution, with an announcement coming maybe as soon at WWDC. After all, at the event there is an Information Technologies track designed for IT professionals who support Mac networks and many of those attending it would likely be very interested by such an announcement. The iPhone is Apple’s key to get the Mac into the Enterprise and Asterisk can make it happen in a really big way.


May 14th, 2008

WWDC is sold out

Filed under: Apple, General, Mac OS X, Macintosh, iPhone, iPod | Huibert @ 3:31 pm

wwdc08badge_small_soldout.pngLast year over 5,000 persons attended WWDC. At the time it represented a new record for the annual Apple developer event. The result was fueled by the imminent launch Mac OS X Leopard. This year, with 25 days to go before Steve Jobs addresses developers at the keynote speech, Apple has announced that for the first time ever, the conference has sold out.

I am sure that most do not realize the significance of this announcement. In the past, Apple has used many dirty tricks to artificially increase the number of attendants to WWDC. For example, there used to be a separate conference for Quicktime content creators. I believe that Apple cancelled that event two years ago and folded it within WWDC. Last year there was a session track for web developers, presumably to pave the way for new web applications targeting iPhone users. The result was that if you engaged in conversation with people you didn’t know you were likely to find out that they had absolutely no clue about Objective-C or XCode.

This year things are likely to be quite different. Apple no longer needs tricks to fill Moscone West up. Gone are the tracks for web developers and video content creators. There still is a track for System Administrators but the rest of the sessions are designed exclusively for developers. This means that even if attendance only grows to six thousand (the Convention Center was already packed last year), this will still represent a very significant increase in the number of real programmers attending the event. It is a clear sign that many of those 200,000 persons who downloaded the iPhone SDK are actually using it and want to be prepared for the launch of the app store at the end of June. This is going to be the best WWDC ever!


April 18th, 2008

PayPal’s decision to stop supporting insecure browsers is positive for the industry

Filed under: Apple, General, Internet, Mac OS X, Macintosh | Huibert @ 7:12 pm

safari.jpg

Earlier today, Ryan Naraine reported for eWeek that “PayPal, one of the brands most spoofed in phishing attacks, is working on a plan to block its users from making transactions from Web browsers that don’t provide anti-phishing protection”. The reason behind this decision is that “browsers that do not have support for blocking identity theft-related Web sites or for EV SSL (Extended Validation Secure Sockets Layer) certificates are considered ‘unsafe’ for financial transactions”.

This announcement has generated a lot of concern among Mac users since Safari, the most widely used browser on that platform does not support EV SSL. Even though I do use Safari as my main browser on both Mac and Windows, I do agree with the decision. The reason is simple, even though it is very simple to avoid phishing attacks on any computer by just pointing your DNS information to OpenDNS, few know how to do it or even understand how phishing works. Those who complain about the decision are obviously not aware of the size of the phishing attacks and the amount of fraud they represent. If PayPal’s decision forces Apple to implement EV SSL support into Safari, I will certainly not complain. It is great to have a fast and standards compliant browser, but security for the technologically challenged users should be a major concern for Apple.

However, there are more reasons to back PayPal’s decision. Too many users are still using old browsers and this his slowing down the adoption of new technologies. I would love to see more companies to stop supporting old versions of Internet Explorer or Netscape Navigator. That would really give web developers an opportunity to create great innovative applications. Right now, people too often prefer to use those old versions because there are still sites that require them. If large sites start requiring newer browser versions, those old sites will face increased pressure to modernize. That cannot be bad for the industry or the end-users.


March 12th, 2008

What is the point of Java on the iPhone?

Filed under: Apple, General, Java, Mac OS X, iPhone | Huibert @ 9:20 pm

java_iphone-thumb.gifI love Java. A large part of my success as a software developer over the last decade is due to the fact that I was an early Java adopter. Java also allowed me to grow professionally and become a Software IT Architect at IBM. Over the years I have written many J2EE web apps, some J2SE applications and even one Java2ME program for a Sony-Ericsson handset. The fact is that I am totally convinced by the many benefits of Java and I do not feel attracted by any other language to write enterprise web applications. But seriously, Java for the iPhone? Why?

On the server, J2EE is extremely appealing because it is an open, scalable, secure technology that allows developers to create complex solutions. If you plan to integrate all kind of legacy systems or develop true robust distributed systems Java simply has no competition.

On the desktop, the situation is quite different. Sun Microsystems tried to create a platform that would allow developers to create applications that would work on any OS. Their first attempt at providing a common GUI was the AWT. It was a complete failure because it only allowed to use controls common to all existing platforms. Complex controls such as trees or tables could not be used because even if they existed on Windows or the Mac, they were not available on other OSes such as QNX. The second attempt, an API usually known as Swing (or JFC) tried to solve the problem by avoiding native widgets altogether. Instead, each component was drawn in Java, bypassing the OS. This move allowed Sun to support complex controls on any OS. However, the first release of Swing was painfully slow and a memory hog. As a result, most developers have avoided the technology despite Sun’s efforts to improve it in subsequent releases. The problem is that every time the Look and Feel of an OS is updated, Swing needs to be updated also, to ensure that widgets are drawn properly. IBM proposed a better solution, called SWT, used in Eclipse and many other Java applications. Instead of hand drawing all controls, SWT uses native controls when available and draws them manually as a last resort. The result is a more efficient API that produces much better results. Even so, users normally can quickly spot Java desktop apps because they simply do not look native. This is specially true on the Mac. While PC users seem to have no problem at all using Java applications such as Azureus, Mac users seem to prefer non Java alternatives such as XTorrent or Transmission. To make a long story short, those who designed the Java strategy for fat clients assumed that all GUI were similar and that any differences were merely cosmetic. It was a terrible assumption that was made well before Apple migrated from OS 9 to OS X (which makes heavy use of transparency and animations) by people who could not envision how technologies such as hardware accelerated graphics would impact GUIs. The result is that very few still consider Java as a viable option for creating desktop applications.

On a phone, the situation is even worse. Developers don’t really know what to expect from a Java capable phone. There isn’t much standardization and capabilities vary significantly from one phone to another. The main benefit of Java2ME on a cell phone is that it makes migrating applications from one cell phone to another relatively easy. This is specially true for mobile games that do not require a standard user interface and where all the display is handled by Open GL.

The iPhone is a device that lies somewhere between a computer and a phone. It has an amazing user interface that users expect applications to fully embrace. Java currently does not offer any solutions to work effectively with that aspect of the device. However, Java could still prove useful to help quickly migrate all those games written for other handsets to the iPhone. Is this important for Apple and iPhone customers? I doubt it. With over 100,000 SDKs downloaded in just over four days, it seems that the iPhone will not lack native software (including games). The announcement made by Sun that it plans to make Java available for the iPhone is mainly targeted at existing J2ME developers. The company run by Jonathan Schwartz wants to open a new market for their software development partners to prove the value of J2ME by making it easy to sell old content on a new platform.

Until now, only large companies could negotiate with telcos to get their content on the carrier’s phones. The margins were razor thin and to make any money you needed to get your content on millions of phones. Supporting multiple brands of handsets was a necessity and in that context, Java was a blessing. The announced App Store is leveling the playing field. Now everyone can sell mobile apps. With 70% of the price of the software going straight to the developer, it makes sense to develop applications specifically for the iPhone.

On March 6th, Apple invited mostly large companies to show the software they were working on at the iPhone software roadmap event. However, you will see that by late June, when Apple releases version 2.0 of the iPhone firmware, most of the applications available through the App Store will come from passionate independent developers that will try to get out the most out of the device, not companies trying to obtain incremental revenue from something written years ago. In fact I predict that many large companies specialized in developing software for mobile phones will find it difficult, at least at the beginning, to compete against many of the enthusiasts who will create innovative solutions at home during their spare time.

I abandoned Java on the desktop for Objective-C years ago because Cocoa allowed me to get the most out of the Macintosh platform. The same applies to the iPhone. Objective-C is similar to Java in many ways. What makes the difference is Cocoa touch which is a great development framework and allows to get to the guts of the iPhone without compromises. That is why I personally don’t care if Sun releases a Java SDK for the iPhone or not. I am quite sure most of those 100,000 developers who have downloaded the SDK agree with me.


March 7th, 2008

Apple customers prefer native apps

Filed under: Apple, General, Mac OS X | Huibert @ 3:36 pm

Picture 1.pngAt the 2006 WWDC I was amazed by how heavily Apple invested in their OS. New Leopard APIs such as Core Animation and Image Kit clearly demonstrated that they believed that they could differentiate from Windows and Linux PCs by offering a better user experience with desktop applications.

In 2007, despite being very close to actually shipping Leopard, much emphasis was put on Web Applications, not just for the iPhone but also for the Mac. From my point of view there were just too many sessions about JavaScript, Safari HTML features, SVG and WebKit. I really felt that Apple was dropping the ball and that they had assumed that the future was indeed in web applications.

What a difference a year makes, yesterday Steve Jobs spent well over an hour talking about XCode, Cocoa and the many benefits of native applications. It is clear that the news about the death of this kind of applications have been greatly exaggerated. Both customers and developers want to continue to use and develop native apps, at least on Apple platforms. On Windows the situation seems slightly different. The difference may lie in the fact that downloading native applications on a PC is much more dangerous than on a Mac. It could also be that a Windows PC with many applications installed soon becomes less stable. I suspect however that there is much more behind this than just security and stability concerns. The truth is that most Windows applications are just plain ugly and unintuitive. Writing such applications to run in a browser is not that hard. On the other hand, many Macintosh applications are really beautiful and a pleasure to work with. This is the result of a better GUI and higher standards. As a result, Mac users feel that Web applications aren’t nearly as good as their native counterparts.

On the Mac platform you will find some extraordinary clients for popular web applications like Twitterific (Twitter), iSale (ebay) or cocoalicious (del.icio.us). Sure, you will find similar Windows solutions but they will never look as polished and therefore people will be less inclined to use them. It is weird to realize that in the age of web applications, it is the native apps that make the Mac platform more attractive. Weird but true.


January 29th, 2008

Jens

Filed under: Apple, IBM, IT Insight, Mac OS X, Macintosh | Huibert @ 5:34 pm

I met Jens Alfke during the 2006 WWDC. Apple had organized a party on their campus and during the event attendants had the opportunity to talk to Apple engineers. I had heard about the Pub-Sub API and wanted to learn more. The API allows developers to easily add RSS support to any application. RSS is used today to push web content and podcasts to users but it can be used to publish any kind of content. For example, an RSS feed could contain crosswords or sudokus. This would allow end-users to get a new set of games delivered every day automatically to their computer or mobile device, provided that their RSS reader understands the format these puzzles are distributed in. The Pub-Sub API makes developing such applications much easier as it allows programmers to avoid all the problems related to parsing RSS feeds.

I looked for the Cocoa team and asked one of the Apple engineers about Pub-Sub. It turned out that he had written the API. Jens was very enthusiastic about it and eager to share his knowledge, it was obvious that he was proud about the job he had done. I discussed with him a couple of ideas on how to use his API. I thought that it would be nice to expand the Address Book to support RSS feeds. After all, many of us have now friends who own web sites and keeping in touch with them through the Address Book makes more sense to me than doing it through Mail App. We had a nice conversation and I moved on.

I recently remembered this encounter because of a post that Jens published on his blog. In it Jens announced that he had decided to leave Apple and explained his reasons. I will not judge his reasons, but as a tech manager, what I see is a recognition problem, which is very common in the technical community. Engineers love to solve problems, but after they do, they usually want to be recognized. The problem is that others usually do not care. When I say others, I mean all those who do not realize the complexity of the work that has been done. This applies obviously to salespersons and managers but sadly also to family. I learned that very young, my parents did not understand the complexity behind writing 3D games in assembly language, they thought I was wasting my time. Today nothing much has changed, my wife and daughters don’t get it either, but that is ok. Do you imagine a world in which family love would be measured by the complexity of our work? I don’t think so. Recognition is something that you have to get from your peers in order to be really valuable. I imagine that the idea of being popular among a larger public can seem attractive but developers are not rock stars and never will because in order to be successful we much spend our time out of the public light.

Is it possible to get better recognition as an indie developer? I guess so. Wil Shipley is the closest thing to a rock-star among Mac developers. His multiple successes (first at Omigroup and now at Delicious Monster) are well documented, but this comes at a price, there is only so much you can do nowadays alone or with a very small team. And then, there is only one Wil.

In large companies like IBM, recognition usually comes in the form of an award and sometimes with cash. The technical community accepts the cash but they usually long for something else. At a recent meeting where we discussed the issue, some technical specialists suggested giving interviews as a reward. Others wanted to have their certification credentials printed on their business cards. It is obvious that we face the same problem, proper employee recognition. Some companies like Google allow their employees to spend up to 20% of their time to work on personal projects. This could be a way to allow them to get the recognition they are looking for, outside of the company (and help them understand how hard that actually is), but it is a very expensive proposition that most high-tech company shareholders are not likely to approve.

The truth is that we developers must learn to take pride in our work and live with the recognition of a group of persons we respect. That is the way it works in most professions anyways. I have no idea if there is such thing as an Accountant of the year, but even if there was I couldn’t care less, much in the same way accountants do not care about programmers. Should the picture of chemists be on soap boxes? I don’t think so. Engineers think they deserve recognition because they solve complex problems and have lots of ideas. It may be true, but if others do not see the value of our work we must learn to accept it. We should be grateful to have an interesting job we enjoy. That obviously doesn’t mean that we shouldn’t switch jobs when we no longer have fun, on the contrary, it just means that we shouldn’t do it in search of glory, because we will not find it. Music appeals to everyone, that is why there are rock-stars. Software development only appeals to a few.

As for Jens, I wish him the best in his new endeavor. I am looking forward to try the new applications he his working on, I am sure they will be terrific. I already know he is a great developer, he won that recognition two years ago at WWDC.

Technorati Tags:
, ,


January 28th, 2008

HDD upgrade

Filed under: Apple, General, Mac OS X, Macintosh | Huibert @ 10:12 pm

Picture 1.pngDuring the week-end I updated my internal 17” Powerbook hard drive with a new Samsung HM320JI. The operation is actually quite easy if you have the right tools and some patience. You just need to follow the illustrated manuals published by the nice people at ExtremeTech or iFixIt. Replacing the drive was actually quite fast, it can easily be done in half an hour. The problem is re-installing the OS and migrating the contents of your old startup disk to the new one. Even though Leopard features a nice migration assistant that takes care of everything for you, the operation can take over two hours for a relatively small 120GB disk.

Anyways, I am really happy with my new drive and I encourage everyone to perform such an upgrade. However, be aware that finding a large capacity laptop drive was much harder than expected. It turns out that the largest 2.5” internal drive I could find at Fry’s or Best Buy were relatively small and old 160GB models. Knowing that 500GB models are already available on the web, I was quite disappointed. The store clerk told me that there wasn’t much demand for such drives. I find it hard to believe. I finally bought an external 320GB 2.5” drive. The enclosure now holds my old disk and this made it easy to transfer the data to my new disk. If you do the same, just make sure the disk is a SATA drive. Good luck!