Showing posts with label Apple. Show all posts
Showing posts with label Apple. Show all posts

Tuesday, March 29, 2011

Why WWDC will never be like WWDC again...

WWDC stands for World Wide Developer Conference. An event annually held by Apple in San Francisco. As the name implies, it supposed to be "world wide". However due to the popularity of iOS, the event is being flooded with developers and since 2 years was being sold out. In 2010 however things changed.

Europe received invitations for WWDC at 18:05. By the next morning, WWDC was sold out. In other words, any serious developer who has to organize hotel and long distance international flights to San Francisco has absolutely no chance to get to WWDC. He might not even have seen the invitation before it was sold out because of the timing it was sent. The result of this will be that WWDC will no longer be World Wide anymore. It will be 99.999% US only while more developers who develop for iOS are abroad, while more revenue is being produced with Apple devices outside of USA, I consider this quite a drastic shift.


Sunday, November 21, 2010

Integrated SIM in iPhone?

Some rumors floating around say that Apple thinks of integrating the SIM card into the phone. Unfortunately the entities distributing this rumor have no clue how GSM works. The SIM card is a vital element in the GSM network. The SIM card represents the subscription. A phone which connects to the network uses the SIM card for authentication. It is thus the key to your phone number and subscription. The interchangeability of the SIM card came from the fact that people want to change phones often. Remove your SIM and put it into a new phone and you are online within seconds. If the SIM card is built into your phone, you are locked down to the opening hours of a operator's store. Also you can only use the phone with the integrated SIM card with the operator your phone supplier wants to cooperate with. This would break all rules of a free market.

Secondly the SIM card represents a vital security key. If you can copy the sim card (assuming its emulated in software in the iPhone and you can jailbreak it), someone could write a "virus" which collects all encryption keys from all iPhones and could make expensive phone calls on the owner's cost. This would be a vital threat and empty your wallets. The SIM card uses an encryption key and encryption algorithm which is controlled by the operator. There's a matching entity in his network which does the same encryption. Most operator use the standard GSM encryption algorithm for authentication but some don't to not be vulnerable if that one gets broken (the older one has been broken, the newer not yet). In addition to that, the SIM card has additional functionality such as prepaid functions which allow you to get your credit limit in a menu, it holds predefined adressbook entries, can authenticate as multiple subscribers (so called proxy-roaming) etc. This means the SIM card is a highly flexible computer with extensions possibly done by every single operator based on their offerings or ideas. This would all no longer work if people would have to use Apple's integrated SIM card.

The biggest advantage of having SIM cards are:
1. I buy a new phone today and pop in my old sim card and can make a call a few seconds later. Operator doesn't have to do anything for that. It just works.

2. I can put in a new SIM card from another operator into my phone at any time and be online with the new subscription within seconds. This comes handy if you travel to other countries and want to use a prepaid lcoal number in that country. Imagine you would have to buy an iPhone for that every time you travel to another place.

3. Network operator can extend the functionality based on his offering and can choose another authentication method.

Integrated SIM card would ruin all those advantages. That's why I think it will never happen. Apple would lock themselves down to very few operators as the mainstream would not adopt it for sure.

What's more likely the source of this story is the fact that Apple works on a iPhone which does not have a SIM card at all. The logical reason why this could be the case is a CDMA iPhone. In CDMA there are no SIM cards. If a CDMA subscriber wants to buy a new phone, he has to buy it from his operator and have his subscription programmed into it. But programming the subscription into the phone was seen last in C networks in europe (analog networks with digital signaling) and has been abandoned long ago when GSM came online in the early 90ies.

The SIM has been invented for good reasons. Apple changing that is just not going to happen. It would open too many doors to security treats and cause massive compatibility issues and limits the market.



Wednesday, November 17, 2010

To XServe or not to XServe...

Apple has announced to stop producing the XServe by end of January 2011. As a reason, Steve Jobs said it wasn't terribly selling well. To be honest, it doesn't surprise me. If you look at the rackmount server market, you can see two groups of customers.

Customer Group #1 is the corprorate market who don't care about the price and pay whatever it takes to get the job done. The XServe doesn't serve those guy's well as there's not a lot of corprorate software from Apple besides fileserving, webserving. The XSan and video editing market is probably all where Apple is really good at. But corporates want to run big clusters of Oracle databases (or MySQL or Postgres... etc). The XServe and MacOS X is not really well supported there by the vendors. Telecommunications market is (or was at least) in the hands of Solaris. MacOS X with its lack of SCTP has no future there. The corporate server market needs availability, uptime and guarantees. The first XServe's (still PPC) had a lot of missing things which are vital in the server market such as lights out management, remote console, redundant power supplies, RAID etc. The newest ones have a lot of that fixed, althought a remote console is still missing and sometimes even lights out management fails to work (seen that once or twice in last 5 years). So for the corporate market the XServe's price is "ok" but its feature set is limited. You can't run your 200GB database in memory as you can't put enough memory in it. There's no path to the high end.

Customer Group #2 is the hosting market. Those are the guys who buy 10'000's of servers at the time. The guys who host websites for millions of people and who run datacenters which take 8megawatts of power and the like. For those folks, offering MacOS X Server hosting would be an option as it can offer the small and medium enterprises options to use MacOS X Server features. Even if its only in a virtual machine but that's good enough for a lot of small to medium size customers. However when I look around what those folks are doing you immediately understand why they don't buy DELL, HP, IBM, SUN or Apple's XServe. They pile 100'000's of machines. Price DOES matter to those folks. So if you look at those guy's datacenter's you find a lot of noname boxes. They are inexpensive, can be ordered by the palette and if it fails, throw away and buy a new one. Its affordable. They are happy with the "limited" functionality of MacOS X but they would go for a Linux as it's not giving them an advantage to run MacOS X Server for 99.999% of their customers.

Customer Group #3 are the folks who develop under MacOS X and want to run their software as service for their clients. They buy XServes as it suits well into their datacenter. they are ready to pay the premium (+30% or so more compared to a normal Rackmount PC of same specs) because they use MacOS X's features which Linux can't give them. They use Cocoa, CoreData etc. etc. Those guys just love MacOS X and promote MacOS X heavily. They don't really need MacOS X Server, normal MacOS X will do. Some of them live of this exclusively. Those are the guys which Apple has just slapped into their face.

Conclusion: for corporate, apple's hardware is not good enough yet, for hosting its not cheap enough yet and the remaining market is too small for Apple to care about.

What Apple however forgets is that that "small" market very heavily promote MacOS X. Thats why the desktop is increasing because those guys make great software for it. This is what's making MacOS X unique. Its objectiveC, Cocoa and the whole environment. Apple now killed the opportunity to have its development environment enter the server market. Using MacMini's or MacPro's in the datacenter is just a joke. No serious business will depend on that kind of solution.

There is however a way out for Apple. Apple has to admit it is good at making software and laptops and desktops but not really good at making servers. Others do better servers such as Supermicro, IBM, HP, Dell, Sun and even Cisco with its UCS. For every type of workload, you find the perfect workhorse and you can run Windows, Linux, Solaris, FreeBSD etc on it. But you can't run MacOS X or MacOS X Server on it. The solution to Apple's disaster would be to license MacOS X/MacOS X Sever to hardware vendors who are doing a very good job in producing servers. As Apple can't serve that market (otherwise the XServe would not be pulled), others can very well and instead of loosing everything in that market, they could gain more market than they had before. Market they where not able to address before. So Apple could only win.

But as they fear their MacOS X would leak out to John Doe's Desktop that way and everyone would just steal MacOS X instead, hell has to freeze before Job's would allow this to happen.


Result:

Customer Group #1 will never even consider MacOS X for their corporation.
Customer Group #2 will never consider MacOS X neither
Customer Group #3 will be pissed off heavily and move away from Apple towards Linux
Result #4: Desktop sales of MacOS X will be reduced. This might not happen over night but a couple of years later.

I'm myself in Group #2 and #3. We now move our 500'000 lines of server code over to Linux. I wish I wouldn't have to do that. I started to love Cocoa over the last few years due to the fact it made me lots of things simpler which are a pain to do in C.

You might want to consider looking at http://www.savethexserve.com/ if you where thinking of buying an XServe.




Thursday, May 27, 2010

No more MobileSubstrate

My company operates SMS deliver solutions for the massmarket. As part of that it has access to low priced SMS delivery around the Globe. Compared to end user prices its a real bargain. In 2009, we decided to start to offer this to iPhone and iPod Touch users so they can send and also receive SMS at much lower rates than going through their traditional operators. Global.AQ was born.

In its current release it supports sending and receiving SMS. And by receiving I mean receiving from most GSM operators around the world. It also supports free SMS between Global.AQ users.

It seemed to be that we where very successful with this idea. We have over 250'000 subscribers after less than a year of launch. So we should be making a hell of a lot of money and be in the top rankings but we aren't. AppStore shows we have sold the app 185'000 times (this includes the free Lite version). So how comes the difference of 35%? One reason is because people purchase the application once but use it on two devices. That's a legitimate use but it still doesn't explain that much of a difference.

The reason are the jailbreakers. Now I'm not going to rant about jailbreaking. If you want to do it to experiment with your phone, fine. But don't come back whining if you screw up your phone. Happens many many times. When we developed Global.AQ initially we even made sure that jailbroken iPhone users can use Global.AQ in all cases and spent a lot of testing on it. However we did get strange support cases which we had to scratch our head on.

Some examples of what we encountered:

- Login crashes due to the fact that a language setting came back nil. This should never happen as there's always a language configured. I could never figure out how to get into such a situation but it happened to quite some customers. The fix was one line of code. It only happened on jailbroken phones or phones which where updated from a jailbroken to a non jailbroken phone. Never to new phones.

- People complained they couldn't purchase SMS but instead get an error saying something about "sandbox". In fact the in-app-purchase was believing it was running in developer testing mode and failed to work. This was caused by AppSync. AppSync patches MobileInstallation file on iPhone OS 3.x which is needed in order to install .ipa files manually without using iTunes.

- Push notification didn't work because of the certificate being destroyed due to the hacktivation. We made a popup explaining this at start but people still complained about it.

And many other simple crashes which we where always blamed off even though it was simply the phone's software crashing. This was in 90% of the cases due to MobileSubstrate a library which allows tools to redirect system calls and mess with all kinds of things. We have seen screenshots from customers with fonts being replaced, colors being wild etc. If you mess with such things on a system call level, you should not be surprised with frequent crashes, especially not if Apps and the iPhone OS are being updated with new system calls but the tools who patch them are only supported older outdated calls.

Anyway. Be it as it is, jailbreaking per-se is not the problem. Its what people do after that. Install all kind of old crap which modifies about everything but is totally unsupported. So I was feeling like Don Quichote fighting against windmills. You can never predict what people install next.

So the solution was: we can't fix your iPhone if you mess with it.

Anyway, coming back to the discrepancy of subscriptions versus sales. During our research for crashes, we figured out that a lot of users where using a cracked version of Global.AQ. Now out of 100% of users, about 10% have jailbroken iPhones. This would mean a whooping 25% where pirating our software? If you read this you will realize that it can't be true. 25% is too much.
The reason is a different one. Its UDID Faker. This is a tool which allows you to change your iPhone's unique device identity number (UDID). There where people out there who downloaded Global.AQ (cracked or purchased), used up the included SMS and instead of buying additional credits, just made our system fool this is a new device it has never seen before by presenting a new UDID with the help of UDID Faker. Result: a new signup shows up in our log on a magically new device.

My original intention towards pirated apps was like: Let it be. it will make our app popular and it will advertise. When people like it, they will buy it. And the ones who won't buy, they wouldn't buy anyway so the loss is none. But with Global.AQ there's a slight difference. Global.AQ is a piece of software and a service. If someone pirates the software, so be it. I have better things to do than chasing them. But we provide a service. And the service is not free to us. By people presenting a new device every time, they where creating real costs on our end. And those costs had reached the 6 digit euro figures. This is a hell of a lot of cash out of the window for our small company.

So we had to do something about it.
Here's what we did
a) we made sure our server was detecting tampering with the UDID properly log and block it.
b) we took the old version off the store. This means whom ever tried to sign up after that date was using UDID Fixer to get around paying as legitimate users would simply use their existing account if they reinstall Global.AQ. After about a month, we had 18'000 e-mail addresses from users who tried to sign up after the application was taken of the store. So there it was our difference! We have seen people who had signed up over 100 times in the past.
c) we released a new version with iPad support which doesn't run on jailbroken iPads and doesn't run on jailbroken iPhones/iPodTouch's which have MobileSubstrate installed.

The result of this is stunning. We have zero crash reports at Apple now. No more weird crashes (well some where our own faults). No more sandbox errors. Our daily new signup rate went down from around 500 users per day to about 50 per dayon the day we blocked new signups for pirated versions. Our sales figures where however stable.We got tons of bad reviews because of MobileSubstrate not working on the lite version (which is free). But we got good reviews for the Pro version which is paying.

What does it tell us?

1. Whatever you do to make jailbreakers happy, they will still rant. You give them free SMS as a promotion, they want more. If you take away free SMS they will be mad at you. Whatever gift you gave them, it will never be enough. They don't value your work. Otherwise they would not pirate your software. Nobody can tell me they can't afford the 1.99$/1.59€ of the standard version.

2. Legitimate users who paid for the software and got the service are happy. You offer them new features, they clap their hands. They buy more from you. They fill your bank account at the end of the day.

Now as a developer, for which of the two customer groups is it more fun to develop? What will pay off more in the long term? You can bet, it will be 2. Even we now have 10% of the new customers per day compared to before, those 10% represent 100% of the financial earnings. So thats what we are concentrating on.

This experience has shown us that kicking out MobileSubstrate is the right thing to do.
I was very close to even close down jailbreakers totally. But some users have no other choice than to jailbreak to get rid of the sim lock or network lock. That's why we left it in for the iPhone but not for the iPad.

Conclusion: It pays off to not run on jailbroken iPhones with MobileSubstrate. It will give you the ride of the lifetime as your reviews go to hell but at the end of the day, you will not loose anything. You gain more time as you need to spend less time on support. Your customers will be more happy. YOU will be more happy.

Same product, same vendor, different price?









Today I was trying out the Genius feature of iTunes. It was proposing me a song from YES which I have bought and even somewhere have the vinyl version of. But it was playing an extended version. So I searched for the standard version which was not in my iTunes library. So I searched for it in iTunes Store. And guess what, you can buy it multiple times at different prices. No I'm not talking about the expanded edition. I'm talking about exactly the same song from exactly the same album. Once at Fr. 1.60 and once at Fr. 2.20. Weird.

Now if you look at the two albums:
http://itunes.apple.com/ch/album/city-of-love/id627355?i=627351
http://itunes.apple.com/ch/album/city-of-love/id220159598?i=220159820

You can see that one Album has 9 songs of Fr. 2.20 each but the album all together costs Fr. 13.
And the other album has 9 songs of Fr. 1.60 each but the album all together costs Fr. 14.40 which is exactly the same as 9 x Fr. 1.60

How can the same product from the same shop be sold at two different prices??


Wednesday, September 3, 2008

Apple slavery (also known as NDA) [# 6192802]

Others have complained about the Apple iPhone Developer NDA. I can only double back that opinion. I followed discussions why the NDA has not been lifted by now.

Some people say because of patents because things under NDA are not considered published.


If you take a look at the NDA though, you'll see that Apple not only forbids the use of private frameworks, but any unpublished API.

So if the NDA forbids use of any unpublished API and everything given out is considered not published, the conclusion is: Whatever you build your application on, is violating Apple's NDA in some argueable sense. In other words, whatever you do, Apple has a hook to kick you out of the door if they want to and if you're out, you will never come back. Apple has the right to do anything with you.

I call this a modern version of slavery.

Sunday, March 16, 2008

iPhone SDK nonsense

Dear Reader,

I've followed the iPhone SDK launch and I can only shake my head. So I decided to let free my thoughts about it.

Apple originally didn't wanted to have 3rd party Apps on the iPhone. Web 2.0 is all what you get. Bullshit said the developer community. The iPhone was hacked and thousands of more or less useful app's where created over night.

Well this is interesting as an experiment but for commercial developer use this is not solid ground because you can not safely assume everyone has a jailbreaked iPhone. At least it had pushed Apple to release an official SDK.

We have awaited the offical SDK with tension. Our goal was to solve the most burning problems of the iPhone in the european market which Apple has simply forgot to solve because they have no clue how advanced Europe is in using mobile telephony. We have identified the following hot spots:


- MMS
- Bluetooth modem
- Bluetooth filetransfer (OBEX)
- Bluetooth sync
- Accessing or importing adressbook from SIM card
- SCTP Support for applications.

While investigating those solutions we have faced the wall at all times.

1. You can build your application but you cant run it on the iPhone. I have nowhere seen how you get this "special" key and neither how you get and install it. A simple error -34 is all you are going to see.

2. A lot of things use reuseable code. Thats what dynamic libraries are there for. The SDK can not build any shared libraries. Ok you can copy all code into the application but thats not the idea. Our WAP stack project is killed because of this.

3. Background daemons are not permitted. So no daemon who listens to bluetooth filetransfers, synch's or functions as a modem. Bluetooth projects are killed because of this.

4. Kernel extensions are not permitted. This kills SCTP. A fantastic network protocol which would be perfect to be used on the iPhone. SCTP supports seamless handover between multiple IP connections. So you could start downloading stuff on WLAN and continue to do so over EDGE/GPRS without any interruption on application level. Linux has it, Solaris has it, HP Unix has it, Windows has it. MacOS X hasn't. There's a solution for desktop MacOS X but its kernel dependent as it has to use an unsupported API to install a protocol above IP (next to UDP and TCP). Apple has told me they will support it. Maybe in 10.4.8 but maybe only in 10.5. Well we are at 10.5.2 now and there is still no corresponding API which was promised at WWDC 2004, 2005 and WWDC 2006.

5. There is no API to work with SMS This means you can not receive SMS to be dealt with inside an application. So no WAP push or MMS notification can be handled! MMS project killed. Chess via SMS killed.

6. The sandbox does disallow us from using any hardware directly. So importing from the SIM card? Don't even think about it. Project killed.


Now what does this mean? My project for the 6 "most wanted features" have been killed. So I can start developing another Tetris and stay in line with 192764652 other developers doing the same. And of course i have to sell it at the same place as the others. How can a buyer decide which tetris to take? Well it means Apple will be the judge at the end of who gets business and who doesn't.

I consider the requirement to sell via iTunes store as pure offense. There are many european countries who dont evne have a iTunes store yet. There are most european iTunes store who don't have Videos or TV offers. It will take dozens of years until there will be a iTunes store in every european country being able to sell applications.

Also there's lots of other places people look for apps. Handango, Kagi or similar platforms. So why should I give 30% of my revenue to Apple so I'm locked into their platform where no one looks and my market is limited?

And while we talk about the market: If i look how many iPhones have been sold in Germany and compare the population of Germany to Switzerland, it would mean in the first 1-2 months there would be about 7000 iPhones sold if its launched in Switzerland one day. If I compare this figure to the information of Swisscom moble saying that they have 15'000 subscribers using an iPhone in their network, I must say that the market of the "official" iPhones will be the minority for a long time.

My personal opinion is the marketing manager for the iPhone should get kicked. He has no idea on how Europe works in regards to mobile phones. Adopting US views don't work (otherwise there should be 10x more iPhones sold in Germany and UK). Europeans are by far advanced and used to new mobile technologies. But that guy just hasn't got taken a look outside the borders.

Apple should come back to its roots and think of what made Apple big. It was the developers who made useful applications for their hardware. Today those developers are being treated like kids. The message Apple gives them is "Go play in the sandbox" (and pay Apple a fortune for the permission to do so).

I can only say, don't allow this to happen to you and start protesting.

Especially if you are not living in USA, you get kicked your ass many times. European developers pay 50% more for being a member of the ADC! Even ADC Premium members who pay a very high price don't get accepted by the iPhone SDK Developer program. Europeans get iPhones half a year later (UK, Germany, France), or not at all (all remaning countries). They don't get any useable SDK they could start developing. iTunes stores don't exist in some european countries.

There is only one way Apple will change its mind to abandon the closed community approach: LET THEM KNOW what kind of nonsense they produce. You can do that by:

1. Create bugreports / feature requests (http://bugreporter.apple.com) making it clear what you want from Apple. Make sure how you feel being put into a sandbox. Make sure you keep copies of the bugreports. Apple is known to delete them silently or make it invisible. ( If this happens, make sure they know you are upset about that. Also a very doubtful practice by Apple.


2. Swamp Apple Developer Technical Support with requests of missing SDK features. Ask them why europeans have no access to the required keys of the SDK. You won't get any answer but at least it keeps them busy thinking on what they could do wrong.

3. Print T-Shirts for WWDC 2008 with a good slogan like:

"Free Europe from Apple's slavery".
"Thank you Steve for for treating europe like shit"
"I'm Apple second class developer (non US) but I still write better code than you!"
"Free the iPhone"
"No censorship for iPhone Appications".

(who has better ideas?)


4. And if that all doesn't work there's two other alternatives.

- ignore the SDK and write no applications for the iPhone
- ignore the SKD and write App's for jailbreaked iPhones (Thats soon the bigger market anyway)


Bottom line:

Let Apple know what kind of nonse they have produced!