Here is a nice comparison. Buy a mobile device and try to use the standard developer tools to put Hello World on it.
Android: Download Eclipse (Windows, Linux or Mac) and the Android SDK (Windows, Linux or Mac) - no accounts or registration needed for either of these. In your phone menus enable development and connect via USB. In Eclipse make your hello world project, and hit Run or Debug. Enjoy.
Apple: You must buy a Mac. In the App Store (requires an account) or the developer site (requires an account and registration) download Xcode. Create your project. Connect the phone via USB. Right click to enable it for development and then do some song and dance with Apple to get permission to use "your" device for development. (I haven't yet worked out the exact dance required and how much it costs.)
I don't know what it looks like for WP7 but assume it is substantially similar to Apple.
- Download the SDK (free), which includes Visual Studio (For Windows Phone) Express IDE. It also includes an emulator tool. http://create.msdn.com/en-us/home/getting_started
Obviously only runs on Windows.
- To deploy to your phone, you'll need to become an app hub member ($99 per year). Or there's numerous ways to unlock your phone for app deployment (if you search hard enough). And then you can just deploy from within Visual Studio to a USB connected device.
http://msdn.microsoft.com/en-us/library/ff928362(v=vs.92).as...
There's probably more to it, but I personally have yet to deploy a WP7 app to a device. I've written a few test apps though.
The Apple song and dance involves creating developer certificates, project-specific code-signing certs, installing them all on your Mac and your device, and then setting up XCode to use the correct certificate combinations for the correct projects in the correct environments when signing the code (I can't say for certain how this all works because I basically trial-and-errored it until it miraculously started working). It is free (with your account) as long as you don't want to distribute your application on the app store, or even use it on your own device without having to renew your code-signing certificates every few months. Otherwise it's $100/year.
Chances are you were forced to use something called iTunes. Now people do not think twice about iTunes.
But back then there was just no sensible reason, from the user's perspective, not to let a user add/remove music from an iPod without jumping through an additional hoop. People had to spend countless hours deciphering the protocol in order to build programs that could do what iTunes did: add/remove music.
Out of the box, the iPod was literally unusable without first installing some Apple software.
No matter how wonderful the design of an Apple device, the hoop jumping just becomes increasingly tiresome. I'm too tired to do the Apple dance.
On the device, tap the menu button, then tap "Xterm"
Type in 'nano helloworld.py'
Enter the text 'print "Hello, World!"'
Ctrl-x, ctrl-s to save the file
Enter 'python helloworld.py' and press enter
Of course, as Maemo is based on Debian, you can easily install Ruby, PHP or even a C compiler.
Installing xcode is staggeringly more pleasant than installing eclipse in my experience. The developer certificate song and dance is a total pain in the butt, but note that you can test and build your hello world for iOS without a device at all, no hoops to jump, and it works really well.
That's a brutal over-simplification of what you need before developing for Android. "Downloading the Android SDK" is actually a dozen steps of installs, updates, add-ons, setting up emulator devices and so on.
The Apple dance takes a couple minutes to do and costs $99/year.
If you think the Apple dance is bad for getting an app on your own phone, try distributing for beta testing!
People have written Apps to help you work around how difficult it is (eg TestFlight), but even then your beta testers have to download & sign up for some random 3rd party app, then request your app just to be able to test it. Compare that to Android: enable 3rd party apps via the settings menu, then email them the app.
It has been a while for me but from what I can recall you are ready to go once you download the blackberry IDE. There may be an eclipse plugin for that now so you don't have to download the whole monster.
I hate when people list "buy a mac" as the first step for iOS development. Some of us already have one. In order to develop for Eclipse, I'd have to buy/own a computer as well.
I absolutely love Steve Wozniak for stuff like this, he's everything I could ever dream of being.
At the same time that lovely naivete about what would happen is exactly why this will never fly.
Apple is the golden goose and nobody will sign off on a risky move that might kill the goose or stop it from laying those golden eggs. If there is one thing that makes CEO's conservative it is very large streams of income. You can take risks when you're small.
If 'the Woz' wants to have a more open platform comparable with Apple then I'm pretty sure he'd find tons of people willing to follow him if he decided to go down that road himself. What will happen is that sooner or later he'll need a business guy to take care of all of those non-technical details and at some point in time after that we'd have a new Apple, just as bad as the old.
Apple has been faithful to its principles since Jobs returned - to offer a few products, not to compete in features and to provide a seamless experience. It's successful because its clients like it that way.
I don't think Woz has as many fans as Jobs had, but I still suspect the "tablet ][" is yet to be invented.
I think Apple can be more open and be just as successful. I don't think they can be as open as Wozniak wants and still be successful.
Apple's biggest strength to me is timing and execution. They didn't invent the tablet, but they made it better and at a time when more people were ready for it.
I think the time is coming that being more open will be an advantage. Right now controlling your entire experience (to me) produces better products. I think Apple will patiently wait for the time and likely execute it correctly.
> Apple's biggest strength to me is timing and execution. They didn't invent the tablet, but they made it better and at a time when more people were ready for it.
Kind of the similar to what happened with their implementation of the mouse and the MP3 player, they didn't invent these things, but they improved upon them or made them more accessible to consumers at the right time. But I am really keen to see if Apple can continue this pattern without Jobs at the helm.
> I don't think they can be as open as Wozniak wants and still be successful.
I don't think they could make the existing product lines more open, but they could explore the idea of a developer version of the iPad. Sure someone would find a way to download music or copying installed software without paying, but I don't think that would be even measurable.
I'd love if it came in beige, with a rainbow logo ;-)
Open Apple is a description of a fundamentally different company. Apple does do a bit with open source and could do quite a bit more without problems.
But what "Open Apple" implies, are things like an "Open" specification for the Dock Connector. And "Open" specifications that invite vendors to write their own device drivers to handle those accessories.
And that's an invitation for third parties to sell crap accessories with buggy or broken drivers and generally annoy the hell out of users who are currently paying Apple a premium to not be annoyed.
Similarly with services. "Open" the specification, allow the world in, and you get crap and esoteric support problems.
Again: things that people pay Apple a premium to not suffer.
And none of this is to say Apple is perfect, or their way is better. They make their mistakes, but they believe they're the right people to fix them. And they naturally support fewer devices, fewer services and fewer use cases. So it's far from appropriate for everybody. But it's damn sure appropriate for Apple's customers.
Woz's statement reads like a musing from someone who doesn't understand why the best of intentions don't always become the best of manifestations.
If you Open Apple, they'll get new, different customers. And lose all the old ones.
A big part of Apples success has been its closed platforms.
Would the devices be as compact and look good if they had a bunch of removable slots in the back? No.. no they wouldn't.
The thing that differentiates Apple from everyone else is that they make simple, classy products which are easy to use. If Apple open up they move into competition with the likes of Dell. This is something they simply don't need to do.
I recently switched back to Windows and the difference! My Windows computer came with a list of dos and don'ts. If I want to keep my warrenty intact I need to keep the box. I shouldn't smoke around it. I should do a yearly inspection to check for dust build ups! With a Mac you plonk it on the table, attach your mouse and keyboard and off you go. I was messing around with cables for ages with my Windows computer.
Look at Apple now. Jobs was right, Woz was wrong. Would it be nice if Apple products were more open? HELL YES! Should Apple do it? No... because then they loose a big chunk of what makes Apple, Apple.
This would be a cultural change, a big one. Jobs said many times he considered his products as perfect and was against the ability to be able to open them (hardware and software). This obsession not to be able to open the system extended even to the new Apple building which is designed without any opening windows. You can see that everywhere in the Apple products.
This is the philosophy of Steve Jobs, he even said he did not want to go through surgery first because he did not wanted to be "opened".
This is really interesting, in fact, these points are the ones I found the most interesting in all the media frenzy we got after his death.
What would he say to the idea of selling Apple hardware without tying it to an OS?
In other words, you can buy the great Apple form factor and design, but you don't have to deal with the restrictions of the OS. You could install your own OS.
Obviously this would initially only target hackers. NetBSD can run on some Apple hardware. And there is all the Hackintosh work to build on. Eventually there would be more free OS offerings to install after giving the hacker community some time to adjust to the newfound freedom.
Apple could even sell OSX and iOS separately.
There is a lot of value just in the Apple hardware. Even without the Apple OS offerings. Apple is primarily a hardware company.
1. Make the things cost nothing, and you will lost the simple value of the thing. The value of the things comes with people caring about it. The simplest way to make people care about something is money.
2. Make the AppStore open and censorship-free and half of the apps will not be able to launch.
3. You need to get rid of script kiddies and lovers of fun and former middle-tier managers and game magazine review writers etc etc to have something that is close to a quality thing. Behold: native development and steep learning curve.
I always wondered what would happen if someone leaked the source code to OSX or iOS. Would the forked versions outshine new releases? In my opinion normal users would prefer apple's versions while hackers would take the other route for greater flexibility. Maybe Woz should anonymously leak iOS 4 or OSX 10.4 source. Apple wouldn't have to worry about maintaining documentation and it would also give them a nice buffer to outshine any competition.
The sad truth is, if Apple were a private company, they could do this. Being a publicly traded company, their first responsibility is their shareholders. Hence, they can not indulge in good-heartedness just for the sake of it if there is even a slight chance that it won't bring in money.
This is the big big problem with the stock market.
"I think that Apple could be just as strong and good and be open, but how can you challenge it when a company is making that much money?"
I think he knows it well. Like it or not Apple is AAPL, or there to make money for shareholders. Would "being open" result in more money for the people that bought a tiny slice of a $500 Billion pie? Will any CEO try when they're making $50 Billion or whatever they're making this year in profit? Not sure
Apple devices are abstractions with well-defined interfaces (sets of operations you can perform on them). Not only should the implementation not matter, it is anathema that anyone should know the implementation because that would break the abstraction at a fundamental level.
It's absurd for a bunch of hackers to think about, but this is what has made Apple billions of dollars, and it's what made them the best technology company on the planet: the construction of devices completely defined by their simple interfaces, with all else hidden from the end user.
I once believed that BSD with an Apple interface was the Utopia of computing, but no. And it took me a couple of years to understand why. I came up with a different way to say the same thing: Apple is about productizing computing ideas. But it does mean closing them down. A product is not a platform. And Xcode is just a nuisance to Apple, a requisite rather than a goal.
Sometimes productizing means making the same thing much cheaper, like their first mouse. Sometimes it is making the same thing much more expensive than necessary, like present Macs.
But the common thread is to upsell your costumer. To make him come back. This is all Apple is about. It has the advantage of pampering a prized costumer, but it has the disadvantage of locking you.
To the people saying Apple is the new MicroSoft, at first Apple was the one and only personal computer company. It used to be king of the hill. It was busted when the open-ness of the IBM PC turned out to incur cluster effects.
For all we know, this post-PC era can also witness a similar disruption. esr really thinks Android is already doing it. Lets hope.
But Apple can't do open. It is not that it would "diminish returns". It is that it goes against the very company strategy. It is cute that Woz prefers not to acknowledge it, but that is all.
It's absurd for a bunch of hackers to think about, but this is what has made Apple billions of dollars, and it's what made them the best technology company on the planet: the construction of devices completely defined by their simple interfaces, with all else hidden from the end user.
Then you would agree that Macs are unsuitable for normal users, since they ship with a command line and lots of geeky Unix tools preinstalled?
This is nonsense. It's absurd for you to argue that the difficulty of writing "Hello world" on an Apple device is somehow a good thing for Apple or anyone else on the basis of a wishy-washy concept like "abstraction".
The true simplicity actually lies below those abstractions.
It seems reasonable to assume that people would not buy Apple products if they were too difficult to use.
It seems reasonable to assume people do not buy them for ease of use. Other competing systems are also easy to use. It seems reasonable to assume they buy them because they "look cool", much more so than any competing product.
It seems reasonable to assume the initial attraction to Apple products is the hardware design, not the software.
But none of this can be proved or disproved unless Apple were to unbundle the two and hackers were allowed to write software to run on the bare metal, not necessarily on top of Apple's development platform.
If Apple is afraid to try this then it shows they have something to fear. It shows they feel the need to exercise command and control over how users use Apple computers.
Apparently Apple's hardware design patents are not enough.
[+] [-] rogerbinns|14 years ago|reply
Android: Download Eclipse (Windows, Linux or Mac) and the Android SDK (Windows, Linux or Mac) - no accounts or registration needed for either of these. In your phone menus enable development and connect via USB. In Eclipse make your hello world project, and hit Run or Debug. Enjoy.
Apple: You must buy a Mac. In the App Store (requires an account) or the developer site (requires an account and registration) download Xcode. Create your project. Connect the phone via USB. Right click to enable it for development and then do some song and dance with Apple to get permission to use "your" device for development. (I haven't yet worked out the exact dance required and how much it costs.)
I don't know what it looks like for WP7 but assume it is substantially similar to Apple.
[+] [-] wluu|14 years ago|reply
- Download the SDK (free), which includes Visual Studio (For Windows Phone) Express IDE. It also includes an emulator tool. http://create.msdn.com/en-us/home/getting_started Obviously only runs on Windows. - To deploy to your phone, you'll need to become an app hub member ($99 per year). Or there's numerous ways to unlock your phone for app deployment (if you search hard enough). And then you can just deploy from within Visual Studio to a USB connected device. http://msdn.microsoft.com/en-us/library/ff928362(v=vs.92).as...
There's probably more to it, but I personally have yet to deploy a WP7 app to a device. I've written a few test apps though.
Also, found this blog (first in a series of a few) that attempts to develop an app using Visual Studio (for WP7 dev), Mono Touch (for iOS dev) and Mono Droid (for uh, Android dev)... Might be of interested to some: http://nicksnettravels.builttoroam.com/post/2011/04/04/Windo... And the rest of his articles are easier to get to via the archives - http://nicksnettravels.builttoroam.com/archive.aspx#Mobile
[+] [-] Rudism|14 years ago|reply
[+] [-] oldschooltaper|14 years ago|reply
Remember your first iPod?
Chances are you were forced to use something called iTunes. Now people do not think twice about iTunes.
But back then there was just no sensible reason, from the user's perspective, not to let a user add/remove music from an iPod without jumping through an additional hoop. People had to spend countless hours deciphering the protocol in order to build programs that could do what iTunes did: add/remove music.
Out of the box, the iPod was literally unusable without first installing some Apple software.
No matter how wonderful the design of an Apple device, the hoop jumping just becomes increasingly tiresome. I'm too tired to do the Apple dance.
[+] [-] dave1010uk|14 years ago|reply
[+] [-] Tloewald|14 years ago|reply
[+] [-] ricardobeat|14 years ago|reply
The Apple dance takes a couple minutes to do and costs $99/year.
[+] [-] rsiqueira|14 years ago|reply
10 PRINT "HELLO WORLD"
RUN
[+] [-] jiggy2011|14 years ago|reply
They might sell a few more Mac desktops this way but I can't see it being a large number in the grand scheme of things.
One of the reasons I bought an Android instead of an iPhone was because I can develop for it using the computer I already have.
[+] [-] nl|14 years ago|reply
People have written Apps to help you work around how difficult it is (eg TestFlight), but even then your beta testers have to download & sign up for some random 3rd party app, then request your app just to be able to test it. Compare that to Android: enable 3rd party apps via the settings menu, then email them the app.
[+] [-] grannyg00se|14 years ago|reply
It has been a while for me but from what I can recall you are ready to go once you download the blackberry IDE. There may be an eclipse plugin for that now so you don't have to download the whole monster.
[+] [-] swedenborg|14 years ago|reply
[+] [-] jinushaun|14 years ago|reply
[+] [-] jacquesm|14 years ago|reply
At the same time that lovely naivete about what would happen is exactly why this will never fly.
Apple is the golden goose and nobody will sign off on a risky move that might kill the goose or stop it from laying those golden eggs. If there is one thing that makes CEO's conservative it is very large streams of income. You can take risks when you're small.
If 'the Woz' wants to have a more open platform comparable with Apple then I'm pretty sure he'd find tons of people willing to follow him if he decided to go down that road himself. What will happen is that sooner or later he'll need a business guy to take care of all of those non-technical details and at some point in time after that we'd have a new Apple, just as bad as the old.
[+] [-] rbanffy|14 years ago|reply
Apple has been faithful to its principles since Jobs returned - to offer a few products, not to compete in features and to provide a seamless experience. It's successful because its clients like it that way.
I don't think Woz has as many fans as Jobs had, but I still suspect the "tablet ][" is yet to be invented.
[+] [-] alecco|14 years ago|reply
On the other hand, they can learn from others. Android/Google is catching on Apple due in part to a mostly open platform.
[+] [-] swedenborg|14 years ago|reply
Q: is that human nature or indoctrination of democracy at play ...
[+] [-] RandallBrown|14 years ago|reply
Apple's biggest strength to me is timing and execution. They didn't invent the tablet, but they made it better and at a time when more people were ready for it.
I think the time is coming that being more open will be an advantage. Right now controlling your entire experience (to me) produces better products. I think Apple will patiently wait for the time and likely execute it correctly.
[+] [-] 1qaz2wsx3edc|14 years ago|reply
Should Apple relax restrictions on the app store, sure. However then quality may dip or so users are told.
Should Apple open source more technologies, sure. However it comes with a cost, such as documentation efforts and etc.
Both of these problems are in the critical path of timing & execution. So I highly doubt Apple will do anything.
The Woz has always pushed for an open Apple, and damnit I wish he had it, but I doubt it from happening.
[+] [-] gaelian|14 years ago|reply
Kind of the similar to what happened with their implementation of the mouse and the MP3 player, they didn't invent these things, but they improved upon them or made them more accessible to consumers at the right time. But I am really keen to see if Apple can continue this pattern without Jobs at the helm.
[+] [-] rbanffy|14 years ago|reply
I don't think they could make the existing product lines more open, but they could explore the idea of a developer version of the iPad. Sure someone would find a way to download music or copying installed software without paying, but I don't think that would be even measurable.
I'd love if it came in beige, with a rainbow logo ;-)
[+] [-] swedenborg|14 years ago|reply
comes with the territory . if you the one and in bed with CIA who's to say open up ...
[+] [-] ghost91|14 years ago|reply
[+] [-] gouranga|14 years ago|reply
IBM is the new DEC.
Microsoft is the new IBM.
Apple is the new Microsoft.
Linux is the new... err ahh...
BSD is the new.. err umm...
Screw opening corporations. Break the cycle entirely I say.
[+] [-] vegas|14 years ago|reply
[+] [-] roc|14 years ago|reply
But what "Open Apple" implies, are things like an "Open" specification for the Dock Connector. And "Open" specifications that invite vendors to write their own device drivers to handle those accessories.
And that's an invitation for third parties to sell crap accessories with buggy or broken drivers and generally annoy the hell out of users who are currently paying Apple a premium to not be annoyed.
Similarly with services. "Open" the specification, allow the world in, and you get crap and esoteric support problems.
Again: things that people pay Apple a premium to not suffer.
And none of this is to say Apple is perfect, or their way is better. They make their mistakes, but they believe they're the right people to fix them. And they naturally support fewer devices, fewer services and fewer use cases. So it's far from appropriate for everybody. But it's damn sure appropriate for Apple's customers.
Woz's statement reads like a musing from someone who doesn't understand why the best of intentions don't always become the best of manifestations.
If you Open Apple, they'll get new, different customers. And lose all the old ones.
[+] [-] bobsy|14 years ago|reply
Would the devices be as compact and look good if they had a bunch of removable slots in the back? No.. no they wouldn't.
The thing that differentiates Apple from everyone else is that they make simple, classy products which are easy to use. If Apple open up they move into competition with the likes of Dell. This is something they simply don't need to do.
I recently switched back to Windows and the difference! My Windows computer came with a list of dos and don'ts. If I want to keep my warrenty intact I need to keep the box. I shouldn't smoke around it. I should do a yearly inspection to check for dust build ups! With a Mac you plonk it on the table, attach your mouse and keyboard and off you go. I was messing around with cables for ages with my Windows computer.
Look at Apple now. Jobs was right, Woz was wrong. Would it be nice if Apple products were more open? HELL YES! Should Apple do it? No... because then they loose a big chunk of what makes Apple, Apple.
[+] [-] Loic|14 years ago|reply
This is the philosophy of Steve Jobs, he even said he did not want to go through surgery first because he did not wanted to be "opened".
This is really interesting, in fact, these points are the ones I found the most interesting in all the media frenzy we got after his death.
[+] [-] oldschooltaper|14 years ago|reply
In other words, you can buy the great Apple form factor and design, but you don't have to deal with the restrictions of the OS. You could install your own OS.
Obviously this would initially only target hackers. NetBSD can run on some Apple hardware. And there is all the Hackintosh work to build on. Eventually there would be more free OS offerings to install after giving the hacker community some time to adjust to the newfound freedom.
Apple could even sell OSX and iOS separately.
There is a lot of value just in the Apple hardware. Even without the Apple OS offerings. Apple is primarily a hardware company.
[+] [-] myko|14 years ago|reply
[+] [-] ezolotko|14 years ago|reply
2. Make the AppStore open and censorship-free and half of the apps will not be able to launch.
3. You need to get rid of script kiddies and lovers of fun and former middle-tier managers and game magazine review writers etc etc to have something that is close to a quality thing. Behold: native development and steep learning curve.
So, keep talking.
[+] [-] maz29|14 years ago|reply
[+] [-] sbuk|14 years ago|reply
[+] [-] swedenborg|14 years ago|reply
[+] [-] swedenborg|14 years ago|reply
one man TOG : http://en.wikipedia.org/wiki/Bruce_Tognazzini another : http://en.wikipedia.org/wiki/Donald_Norman
se the finder has a redundancy slowness to mimic human perception built in ...
[+] [-] freehunter|14 years ago|reply
[+] [-] Derbasti|14 years ago|reply
This is the big big problem with the stock market.
[+] [-] anextio|14 years ago|reply
Companies do lots of things that don't immediately look like profit-gaining moves to investors.
Actually, put another way, do you think that Google is not a corporation, and instead a basket of goodwill, since they market things as 'open'?
[+] [-] chj|14 years ago|reply
[+] [-] swedenborg|14 years ago|reply
[+] [-] treetrouble|14 years ago|reply
[+] [-] xutopia|14 years ago|reply
[+] [-] loverobots|14 years ago|reply
I think he knows it well. Like it or not Apple is AAPL, or there to make money for shareholders. Would "being open" result in more money for the people that bought a tiny slice of a $500 Billion pie? Will any CEO try when they're making $50 Billion or whatever they're making this year in profit? Not sure
[+] [-] kevinchen|14 years ago|reply
[+] [-] bitwize|14 years ago|reply
Apple devices are abstractions with well-defined interfaces (sets of operations you can perform on them). Not only should the implementation not matter, it is anathema that anyone should know the implementation because that would break the abstraction at a fundamental level.
It's absurd for a bunch of hackers to think about, but this is what has made Apple billions of dollars, and it's what made them the best technology company on the planet: the construction of devices completely defined by their simple interfaces, with all else hidden from the end user.
[+] [-] mrpsbrk|14 years ago|reply
I once believed that BSD with an Apple interface was the Utopia of computing, but no. And it took me a couple of years to understand why. I came up with a different way to say the same thing: Apple is about productizing computing ideas. But it does mean closing them down. A product is not a platform. And Xcode is just a nuisance to Apple, a requisite rather than a goal.
Sometimes productizing means making the same thing much cheaper, like their first mouse. Sometimes it is making the same thing much more expensive than necessary, like present Macs.
But the common thread is to upsell your costumer. To make him come back. This is all Apple is about. It has the advantage of pampering a prized costumer, but it has the disadvantage of locking you.
To the people saying Apple is the new MicroSoft, at first Apple was the one and only personal computer company. It used to be king of the hill. It was busted when the open-ness of the IBM PC turned out to incur cluster effects.
For all we know, this post-PC era can also witness a similar disruption. esr really thinks Android is already doing it. Lets hope.
But Apple can't do open. It is not that it would "diminish returns". It is that it goes against the very company strategy. It is cute that Woz prefers not to acknowledge it, but that is all.
[+] [-] orangecat|14 years ago|reply
Then you would agree that Macs are unsuitable for normal users, since they ship with a command line and lots of geeky Unix tools preinstalled?
[+] [-] primecommenter|14 years ago|reply
[+] [-] userdeveloper|14 years ago|reply
It seems reasonable to assume that people would not buy Apple products if they were too difficult to use.
It seems reasonable to assume people do not buy them for ease of use. Other competing systems are also easy to use. It seems reasonable to assume they buy them because they "look cool", much more so than any competing product.
It seems reasonable to assume the initial attraction to Apple products is the hardware design, not the software.
But none of this can be proved or disproved unless Apple were to unbundle the two and hackers were allowed to write software to run on the bare metal, not necessarily on top of Apple's development platform.
If Apple is afraid to try this then it shows they have something to fear. It shows they feel the need to exercise command and control over how users use Apple computers.
Apparently Apple's hardware design patents are not enough.