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.
I 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.
At 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.
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.
During 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!
Six years ago, Informix Software was acquired by IBM. I remember this perfectly because at the time I was an Informix employee and, unlike many of my colleagues, I was quite excited by the news. The truth is that I wanted to join a larger company that would allow me to learn new technologies besides relational databases. That is why, after the acquisition, I spent most of my time working on WebSphere software, but I never forgot my passion for the Informix database engine.
This may seem strange to many as there are many RDBMS out there that are more popular than IDS but I have my reasons. You see, other database engines like DB2 or Oracle might be faster when tuned by experts but Informix achieves excellent performance by just tweaking a couple of parameters. In my experience, an average DBA can get much better results from Informix than from competing products. Since exceptional DBAs are scarce, I feel that IDS is a great choice for most companies unless they need the advanced XML processing capabilities provided by DB2.
Until now IDS was available for most UNIX variants as well as Windows. A Mac OS 9 client SDK was available many years ago but was discontinued when Apple moved to OS X. That is why I was so excited to learn that IBM had ported Informix Dynamic Server to Mac OS X.
However, the exciting news for Macintosh enthusiasts is that this announcement is not just an anomaly. There have been rumblings that at this week’s Lotusphere event in Orlando, IBM was poised to announce several new products for the Mac, including the Lotus Notes 8 client, Lotus Symphony and Lotus Sametime. This was made possible thanks to the efforts put by many IBMers to ensure that Eclipse runs smoothly on OS X.
Besides porting current IBM software to the Mac, IBM has also acquired some Macintosh software through acquisitions. For example, IBM recently acquired Solid, an in-memory database, that has offered for years a Mac OS X version of their flagship product.
While the Mac seems to have so far attracted the attention of the Lotus and DB2 brands within IBM Software Group, what about the remaining brands? Many software developers have long migrated to the Mac platform. It seems only logical that Rational should be interested in that audience. Since many Rational products are built on Eclipse, porting them to the Mac shouldn’t be that difficult. In fact, there already is a Mac version of Rational Application Developer. The problem is that it is for internal use only because it lacks the embedded WebSphere Application Software. This is a major issue. Despite being divided in five brands, IBM SWG products are very much integrated. Porting a single product is moot unless there is a clear strategy to port the whole portfolio.
A decade ago, IBM made a clear commitment to Linux and as a result made all SWG products available on that platform. That corporate commitment is still missing for Mac OS X, but the walls are crumbling, one at a time. For Lotus to make gains against Microsoft, IBM needs to support the Mac (and Linux) in a big way. Many Lotus products are built on WebSphere software and require Rational development tools to be customized. Convincing the WebSphere management team that they need to port some of their products to the Mac won’t be easy. After all, how many servers does Apple sell each quarter? Not enough to support a serious business case.
I do believe though, and this is pure speculation on my part, that it is just a matter of time before other critical IBM products such as WebSphere Application Server, WebSphere Process Server and WebSphere Integration Developer get ported to Mac OS X. It is amazing to see how the success of the Mac on the client side is getting a middleware company such as IBM to progressively port its server software. In the case of Linux it was a well thought strategy to create some competition for Windows. It all made sense as Linux was (and still is) a strong contender on the server side. In the case of Mac OS X, it is an unorganized move, fueled by a single brand and the passion of many IBMers, including myself, who have adopted the Mac as their platform of choice.
Last week I posted my predictions for MacWorld. How did I do? Well, not too bad. I actually nailed the AppleTV announcement, I was just slightly too optimistic regarding the price cut. Although Apple did not release the final 10.5.2 they released a new developer build that seems to be a week or two away from final release, and therefore I believe that I deserve some credits for that prediction too. Unfortunately, my remaining four predictions did not materialize. Apple did not release a 16GB iphone, there was a new iTunes release but it wasn’t version 8.0 nor contained the features that I expected. Finally, my dreams for a new portable Internet device did not materialize. All in all, I was quite happy to at least have predicted Apple’s new take on the Apple TV. It shows that Steve Jobs and company are not super human and that their moves can actually be predicted.
What I did not see coming was the MacBook Air. It seems like a gorgeous device, but it is not for me. Sure, I need a light computer for presentations and enhanced mobility, but the lack of 3G connectivity is a show stopper. I am currently using a Sprint PCS express card on my MacBook Pro and I am not ready to give up the convenience of being connected everywhere. I do not believe that the MacBook Air will be a failure. In order to maintain exponential growth in the laptop market Apple needed a new model to captivate a new segment of consumers and I think that they may take significant share away from Sony.
Finally, I must say that I like the Time Capsule. I really see myself using it. I have been using .Mac’s Backup regularly to well, backup my data and I must say that it is a pain to have to connect an external drive to my laptop once a week to protect your data. The only problem is that I already have an Airport Extreme base station. That means that I would have to pay $399 for a 500GB disk. That is expensive. The decision will probably be much easier for those who are looking into upgrading their old 802.11b/g wireless routers.
Many Mac users seem to be quite excited by today’s release of Office 2008. The truth is that I couldn’t care less since. Like many Mac users, I switched to iWork long ago. However, when I started thinking about this, I quickly realized that I have abandoned not only Microsoft but also other large software companies like Adobe. On my Mac, besides iWork and iLife, all you will find are freeware and shareware products developed by small companies.
You may think that I switched to shareware simply to save some bucks. That isn’t really true, many of those products are top-notch. Take for example Coda, a great Web development tool developed by Panic (who also publish Transmit, a very compelling FTP client). This is probably one of the best tools available to design web pages for those of us who feel comfortable with HTML and CSS. Another great example is Pixelmator. I used to love Photoshop back in the version 3.0 days. After that it became a pro tool, too complex for the casual user. From my point of view, Pixelmator is basically Photoshop 3.0 with many great additional features at an unbeatable price. That is why this program has become my image editor of choice.
Today most end-users want simple programs to solve simple needs. I personally feel that the days of the large suites which pack thousands of features and are difficult to learn are long gone. That is why I no longer think that it makes any sense for Apple to buy large software company like Adobe. In the 90s such a move would have given Apple a significant competitive edge. Today the times have changed. Many things that could only be achieved with pro apps can now be done with consumer grade products, and as a result the market for pro-tools is stagnating or even shrinking. Apple knows the Adobe market pretty well as both companies share many customers. If Apple hasn’t made a move yet it is not just because Adobe is a pretty expensive company, it is primarily because it wouldn’t offer Apple the kind of rapid growth that Steve Jobs is obtaining by pursuing other strategies.
When I bought my PS3 early last year there where no compatible UPnP solutions for the Mac to stream music, pictures or video to Sony’s console. I was disappointed but since the PS3 didn’t support many popular media types at the time I quickly realized that even if such a solution had been available I probably wouldn’t have used it very frequently. That totally changed last December when Sony released version 2.10 of the PS3 firmware with support for DivX and WMV.
When I tested EyeConnect 1.0.1 in February 2007 I had little success, the console could see the files stored on my Mac but was unable to display my media files. Fortunately, version 1.5.1 which was released later in the year offered much better support for the PS3, using a familiar Mac interface. However, some glitches remained. For starters, EyeConnect does not stream album art or previews of your pictures which is quite annoying. More troubling though is the fact that the PS3 reports frequent (non-fatal) network problems. I have no doubt that ElGato will eventually fix these problems, but at US$49.95 EyeConnect will remain an expensive solution for most console owners.
Yesterday Nullriver announced a new solution called Medialink. This is the same company that produces Connect360, the software Mac owners use to stream media to their XBox 360. The good news is that Medialink works perfectly. During my initial tests yesterday I ran into absolutely no problems. Unlike EyeConnect, MediaLink supports album art and media preview. Pricing is attractive too, at US$20 nobody should hesitate to buy this product since it instantly converts your game console into a gorgeous 1080p media centre.
There has been much talk recently about an upgraded AppleTV with a built-in Blu-Ray drive (and presumably support for 1080p, up from the current 720p). I am quite skeptical that such a product would be very competitive. Even if Apple was able to maintain the price of the enhanced device at US$299, that is just US$120 less than a PS3, including Medialink for your Mac and a Blu-Ray movie. Sure, movie rentals are not available yet on any console, but that is probably not a real differentiator for most customers in the U.S., let alone for those of us who live in countries with no iTunes store.
I am sure that everyone at Apple understands the situation. That is why I am very interested to see what Apple is planning to offer next week at MacWorld. My gut feeling is that Apple will not add Blu-Ray support (maybe 1080p support) and will instead try to make the device more attractive by dropping its price and add more new features beyond the widely expected movie rentals. Welcomed additions could be a web browser that syncs bookmarks with Safari and an RSS reader. DivX support would be nice too, but we all know that with Steve Jobs at the helm of Apple that is extremely unlikely.
Will that be enough to save the Apple TV? It will all depend on price. If Apple is willing to make no money on the hardware in order to increase movie sales and rentals it may work. That would be a major change for Apple though as they have until now consistently followed the opposite strategy, making money on the hardware while working with razor thin margins on the software. However, in order to compete effectively against Sony, a company that is used to lose money on the hardware (at least on their game consoles), they have to adopt the same strategy. With hardware margins hovering around 30% at Apple, a US$199.95 40GB Apple TV seems achievable. Will Steve Jobs announce that next week? Who knows, but it is much more likely than a Blu-Ray equipped AppleTV.
I have never been a customer of Citibank-Banamex. When I landed in Mexico about 15 years ago I started working at a rival (much smaller) bank called Bital (now HSBC) and for me it was much easier to open an account there. I have never switched, not that HSBC’s service is stellar but at least their Internet banking works pretty well.
My wife, however is a Citibank-Banamex customer. She normally does her banking transactions over the phone. However, today she wanted to access her account using the Internet. She called me and asked me to help her, because she was having trouble. It turns out that Banamex only supports IE and Netscape 7. Their error page even tells Mac customers to download either product. They do not seem to know that both products have already been discontinued, which is quite amazing.
The fact is that I have been working with Citi quite closely recently as an IBM Software Architect. They are big Java users, mostly a BEA shop but they have recently started to adopt WebSphere Application Server. From what I know, there is nothing in their current software architecture that would stop them to support either Firefox or Safari. That makes the situation even harder for me to understand. As I told them in an e-mail, it is easier for us to switch banks (and more likely) than switch computers. I do not believe that their customer service department understands that it is very likely that about twenty percent of their customers do not use IE as their default browser. Otherwise, they would probably avoid to ignore/upset such a large constituency.
I am sincerely surprised that in early 2008 we still have to educate such large corporations about standards, but it is clear that we have to. That is why I urge all Citibank-Banamex customers to send a complaint using the e-form that can be found here.
P.S. Yes, I have tried to change the user-agent to IE 7/Vista on Firefox and I was able to bypass the test, but all I got a blank screen. Anyways, I am not really interested in outsmarting their system, what I want them is to fix it.