Wednesday, August 26, 2009

Xslimmer 1.7 now available, fully compatible with Snow Leopard

Xslimmer 1.7 has just been released! It supports 64-bit binaries, honors code signing rules, is able to handle and create native HFS-compressed files and adds many other improvements that will continue to provide a worthwhile and reliable experience to Snow Leopard users (as well as to all others that choose not to upgrade to the latest OS yet). Read on for the gory details!

Universal Binaries are so 2008, aren't they?


Well, unfortunately they are not. Or, should we say, fortunately they are not. Universal Binaries were a key technology that allowed Apple to transition from PowerPC to Intel CPUs in the most awesomely flawless technology adoption ever. The same Universal (or, as they are affectionately called, "fat") Binaries are being put to work again to ensure that Snow Leopard and its apps run flawlessly in all compatible Intel machines, including 32-bit and 64-bit ones.

So instead of packaging binaries in a bundle that contains PowerPC and Intel versions of the code, it will now become usual for developers to provide the 32-bit and the 64-bit versions of the same code. The 64-bit version will be used in 64-bit computers, whereas the 32-bit code will run in CPUs that are not able to handle 64 bits. There is no magic way for the system to transform one into the other, so no matter what computer you have, chances are many of the apps you install will contain code that will be ignored and never will run.

But it gets more interesting! Snow Leopard is truly awesome, but there is no reason for developers not to support Leopard if they can. True, some apps will take advantage of Snow Leopard exclusive technologies such as Grand Central Dispatch, OpenCL or some other new APIs; however, many others won't need these innovations yet and will still support Leopard. But Leopard does run on PowerPC machines, so developers should include a PowerPC version of the code if they want to support the same hardware requirements as the OS. As a result, we are starting to see applications that include not two, but three architectures: Intel 32, Intel 64 and PowerPC. This is the case for some very popular apps such as Tweetie for Mac or the latest version of Apple's own Airport Utility.

Xslimmer was designed to handle these situations, and it has now been tested and optimized for the scenarios above so it will always keep the best version of the code that is available for your Mac. If you own a 64-bit-ready Mac, then Xslimmer will preserve the 64-bit version of your applications' code - when it's available.

Won't Xslimmer break 64-bit applications? What about code-signing?


As discussed above, Xslimmer carefully analyzes your applications and selects the best possible architecture among those available. This is done in a per-application basis, and not following some batch process that blindly keeps a single combination. Analysis includes evaluation of signed resources: code-signing rules are fully honored so that only binaries that can be safely modified will be processed.

Extreme care is applied when slimming, and the operation is performed in the most friendly way. Your slimmed applications are registered again for you in the internal OS databases - your keychain authorizations are preserved, and you don't even need to restart your Mac after slimming it.

But Apple applications are already compressed!


Snow Leopard achieves significant space savings by using transparent file system compression. In fact, all system applications and utilities are installed in a compressed state, although they are transparently uncompressed on the fly without the user ever noticing. Xslimmer 1.7 recognizes and supports this type of compression: if a compressed application is slimmed, then it will be recompressed automatically. Therefore, all system applications in Snow Leopard will still benefit from additional space savings if they are slimmed, without affecting their compression status.

When running on Snow Leopard, Xslimmer will always show you the actual size your applications take up in your disk, and not the uncompressed size as reported by Finder and other tools. This way you can be absolutely sure about the savings you achieve.

We have even taken this technology a step forward. A new option in Xslimmer 1.7 will allow you to compress slimmed binaries that were not originally compressed. This way, your installed third party apps can also benefit from this awesome new HFS+ compression technology in Snow Leopard.

Ok, I'm sold - I'll give it a try!


Wonderful! We've always worked hard to prove that your choice of Xslimmer is really the best option for your slimming needs. In Xslimmer 1.7 you'll find many features designed to slim your Mac easily and with total peace of mind. These include:
Strip out unneeded localizations - As usual, Xslimmer 1.7 will remove translations you don't need, achieving great space savings.

Visual indication of architectures - Another new feature in Xslimmer 1.7, you can now see what architectures an app contains and what the resulting architecture is: Intel 32, Intel 64, PowerPC 32 or PowerPC 64.

Downloadable blacklist - for those apps that check themselves (for anti-piracy reasons, usually) and refuse to start after they have been slimmed. We test every report from other users about malfunctioning apps.

Your personal exclusion list - for folders in your disk that you don't ever want to mess with, for whatever reason.

Integrated backups - designed to let you test your slimmed apps with the confidence that you'll be able to recover them in one click.

Extreme compatibility - Xslimmer 1.7 has been fully optimized for Snow Leopard, but it will still run in Panther, Tiger and Leopard.


So, no matter whether you are a longtime Xslimmer fan or have come across it recently, now is an excellent time to check the combined space savings that Snow Leopard and Xslimmer will bring. We hope you like Xslimmer 1.7!

Saturday, July 04, 2009

From Orange to Apple

Maybe the title should have been “From an Orange Executive to an Apple Indie Developer”, or simply put “Learnings After One Year as Indie”. Basically, I wanted to explain how I came to make one of the biggest changes in my life, what the motivations were, and some of the things I did learn throughout the process.


My background


So, at 39, I was a reasonably successful executive at Orange, the French telecommunications company owned by France Telecom. At that time, France Telecom had more than 200,000 employees, more than 3,000 of them in Spain. I was one of them, one of those called “Top 100”; a director in charge of Web operations, leading a group of nearly 50 people. I had a nice salary and nice benefits too.

I worked for Orange during 8 years. Prior to that, I had been working for other multinational companies, always related to technology, which was, and still is, my passion. That is also the reason why I majored in computer science. However, soon after I started working, it became clear that I could not make a living creating software, at least not the software that I wanted to make. Soon after that, I got a masters degree in business administration, and began a managerial career that some years later took me to Orange.

During my time at Orange, I started Cocoa development, a bit as a hobby. I had been developing applications, mostly games, since I was 14. Being new to the Mac, I wanted to see what Cocoa was about. At the same time, Pedro, who also worked for the same employer, had this idea about making a universal binary stripper. So he went ahead and made the first implementation of his idea as simple shell script. It worked just fine. We had been working together several years, and we knew each other quite well. When he showed it to me, I told him that I wanted to make it more “Mac-like”. I, then, created a user interface that showed the application list and an icon for the architecture. Finally, Pedro integrated the guts of his script into Cocoa. It was the birth of Xslimmer. To our surprise, Xslimmer's popularity began to grow, and with it, so did its sales.

Months later, around August 2007, we created Sketches. Those were the jailbreak days for us, as there was no official support from Apple for third party applications. Interest for it skyrocketed, and for every new update there were hundreds of thousands of downloads. Some months later, Apple announced the SDK and the App Store. It was clear that there was an opportunity.

The change and its motivations


So, my day job, family and other responsibilities were taking most of my time. I felt stressed, and drank a lot of coffee. I had a gut feeling that the time was coming to make a change. As opposed to what was clear to me in the early 90‘s, Xslimmer had taught me that it was possible to make a living on selling software that I had created. And the App Store was coming.

At that same time, Orange was starting to feel the pounding from the world's financial and economical crisis, and had bad forecasts for the future. As it had happened in several occasions before, and in preparation for the crisis, there was a management reshuffle. I was offered the IT Project Management Direction. The job was for sure interesting, but my head was somewhere else. I needed to pursue my dream of creating my own software company, one that would make software I wanted, and I knew that the time was then.

I left Orange, on July 4th, 2008. Exactly one week before the App Store went life.

The learnings


After one year there are a few things I have learned, that might deserve sharing:

App Store success is temporary. I compare it to the music industry. While you are on the top chart, you sell; once you are out, your sales level is much, much lower. In our case, Sketches did great for a couple of weeks, reaching Top 12 in the US for a while.

Apple listens, but it takes them a while to react. During the iPhone SDK beta testing, we wrote several bug reports - it sometimes took several weeks, but they were all answered to, and most fixed. Once the App Store was live, I wrote an article a while back that included several suggestions for improving the App Store. Most of the things that I wanted changed are now changed. For example, allowing only users of the application to voice an opinion and rating about it.

On marketing, experiment and follow your instinct. During this year we tried different things that did not work out. From joining other developers to create an “Apps Gems” site, to purchasing online advertisement. We were new to those types of actions. However, simpler, and cheaper, tactics did work out quite well. Twittering, blogging or simple press releases did much more than any expensive advertisement. I obviously need to learn more on this.

Get help for your paperwork. Administrative stuff and taxes is unavoidable. You just have to do it. We have a small accounting company that takes care of filling up the necessary forms and that keeps the accounting information for us, but most of the work, you still have to do. You have to process those PayPal reports, you have to process those iTunes Connect Financial reports, you have to scan all the invoices you receive, and so on. But having help from a third party places some routine to it, and ensures that you will meet the necessary deadlines.

It is not all fun, but automation helps. You cannot start new products all the time. You have to take care and nurture your existing products, so that your customers realize you actually take them seriously and are committed to making them better and better. Your customer base demands time too. Customer support takes a good chunk of your time. The more products and the more sales, the higher the number of customer support requests. I would say that around 2% of sales translate into customer support requests. Most are very simple, but some are not. The solution is to try to automate things as much as possible. From self service (recover your license) to email templates, all helps.

Working at home is harder than I thought it would be. This is not because of a lack of discipline, but, in my case, the environment is really noisy and busy during the day. I found myself trying to work while being interrupted. Being used to code at night, this was really hard for me. We ended up renting a small office, just a few days ago.

There are more things in life than just work. For a couple of months, I believed Pedro had lost interest in our little software start-up. One day he explained to me that he was ending his 15-year-old marriage. It took a while for him to reorient his life, and, as a result, we deviated from our scheduled workplan, and part of our initial inertia was lost. However, now I try to spend more quality time with my family, while keeping a more flexible philosophy about how to spend my time. For example, last week I took the afternoon off and spent it having fun with my family. What's more, I did not feel guilty or time pressured about it.

You can do all those things that you never could. Now there is no excuse. It is just a question of organizing yourself. In my case, I wanted to lose weight. That is hard to do when you spend a lot of time traveling around, eating sandwiches at meetings or while preparing presentations at 2AM. But once you are the owner of your time, it is. I lost 20Kg (44 pounds) from September to December last year.


The dream


So, now what? Well, when I think of what I want to accomplish in the future, I do not think of creating a huge company with many employees, controlling the world’s software market. My objective at this point in time is to create a company similar to Panic or the Omnigroup. These companies keep the indie spirit, while having some specialization and some size, so they produce quality products while providing a quality service, as their employees can dedicate most of the time to what they do best.

So, for LateNiteSoft 2.0, and if our numbers allow for it, my intention is to hire an enthusiast support/webmaster/marketing person, as the first non-founder employee. Then, where we go from there remains to be seen, but I am sure it is going to be both interesting and fun.

Monday, June 29, 2009

Apple iPhone: Light-Years Ahead

As shown in one of the banners at the Moscone West during WWDC 09: one year later, light-years ahead:

WWDC09.JPG


It could not be more true. Many things have changed during the last two years, and in the last year in particular.

I truly believe there is still no competitor for the iPhone. I have tested many different phones. I have owned, both Blackberry and Palm branded phones, and I have had several Nokia phones in the past. Being a mobile device fan, I have the tendency to ask people to show me their phones. I have seen many, and there is still no competition, not even in those new touch screen phones that keep popping up.

It is also my believe that the key to is not in the hardware, which is definitely good, but not unique. The key difference is in the software. Apple created a software base that is extremely responsive to user input, and that made it easy and intuitive. Then, with the SDK and the App Store, opened the door to rest of us.

P1000157.JPG


Many things have changed. From the initial 550 applications that were available on July 11th, 2008, the App Store has now surpassed the 50,000 mark. That is almost 100 times more applications, and still growing fast. Another change is the introduction of firmware 3.0. Technologies like MapKit or Core Data, are amazing. Finally, new hardware. Faster, with more memory and more powerful.

In my opinion, 2 years after the introduction of the iPhone, Apple clearly dominates the smartphone market and it is clear that its intention is to keep doing it. But what it is most impressive is, that Apple is listening to both customers and developers. Took a while, and there are still things Apple do not want to change, but they are doing it. Almost all my requests for new iPhone SDK APIs have been made available in firmware 3.0, and almost most of the common requested features are now there (like copy & paste). Even most of the changes I wanted on the App Store are there.

So, I want to take this opportunity to say: thanks, Apple! Thanks for the iPhone, for the SDK, for the App Store, for your updates, and most of all, for listening. Keep doing it, and you shall keep light-years ahead of the competition.

Tuesday, February 17, 2009

Reject-me-not!

While it's been a while since our last post, we have not been resting on our laurels. During this time, we have released new versions of both Xslimmer and Snapshot. We have also released Sketches 1.5, and prepared and uploaded Sketches 1.6 to the iTunes Connect portal. Version 1.6 of Sketches, however, has already been rejected twice. As it happened with the undo icon back in October-November 2008, reviewers have found previously undetected issues in our product.

The first of these rejections was due to the fact the reviewer was confused about two distinct features: image hosting, and Web sharing. We had updated our application description to reflect the fact that sharing your images via twitter or email causes them to be uploaded to a new web hosting service we have developed anew for Sketches, instead of the former third party service we had been using. It was also explained that the reason for this change was to ensure an excellent quality at all times: we are not interested in placing ads on Sketches' image hosting services; we can act promptly on the event of unexpected downtime; and we can grow the service in the future with new features - none of which was possible with the previous offering.

The Web Sharing feature, on the other hand, allows customers to start a tiny Web server running inside Sketches in your iPhone, then download your pictures in PNG, JPG or PDF from your computer.

After activating the Web Server screen (see screenshot below), the reviewer somehow kept waiting for the drawing to be uploaded to our server. This, of course, never happened, and thus our app was rejected.

Picture 1562.png



When the rejection mail came in, I uploaded the same binary again and wrote back to the reviewer:

"Thanks for your feedback. Uploading to our server is only done when exporting to email or twitter.

What you attached as screenshot, is the integrated web server. That is, Sketches has a Web server that allows you to access your drawings from a Mac or PC using a Web browser, in order to export them. To do so, you simply have to connect to the URL address shown in that screen. In your case, if you open Safari, enter "http://10.0.0.3:8080" [IP address changed from original value] in the URL field. You should get something similar to the screenshot I have attached. Then you can press on the file type you want to export, jpeg, png or pdf, under any of the drawings to obtain a local copy.

I hope this clarifies it. Let me know if you need any further explanation."


A week later, the second rejection email was received. This time, the reviewer had found a true issue, totally unrelated to the previous discussion. Sketches Web capture mechanism used two icons that did not adhere to the iPhone Human Interface Guidelines "as outlined in iPhone SDK Agreement section 3.3.5".

IMG_0001.1.PNG


The funny thing is that those two icons have been there since the App Store launch back in July 2008.

What's interesting is that Sketches 1.6 is just a small, bugfix release that was submitted shortly after Sketches 1.5 was approved. Sketches 1.5 added some notable new features (such as our own image hosting service, as described above), and it was approved in just 40 hours. Somehow, improving over the existing feature set has triggered more alarms to fire off than creating new functions in the first place.

Anyhow, we talked to Adam Betts and he sent us a new pair of icons in no time. We created a new build and upload it again. 5 days later, we are still waiting for a response.