Slashdot videos: Now with more Slashdot!

View

Discuss

Share

We've improved Slashdot's video section; now you can view our video interviews, product close-ups and site visits with all the usual Slashdot options to comment, share, etc. No more walled garden! It's a work in progress -- we hope you'll check it out (Learn more about the recent updates).

Microsoft isn't standing idly by while Appple's app store fills with software; fysdt writes "A newly-announced service called the iOS to Windows Phone 7 API mapping tool acts as an interchange for developers to take applications they've already written for Apple's platform, and figure out ways to get the code work with Microsoft's standards."

You're thinking of OpenStep [wikipedia.org]. When it was clear to Steve that NeXT wasn't about to win on its own, he started opening things up, in a desperate bid to retain relevance—the design was beautiful (although I can't say I care much for the exhaustive use of NS prefixes) and it seemed like a smart move at the time. Then Apple came running back to him, he became super-duper-successful again, and suddenly playing nice with the rest of the industry became a bad dream for Steve, excepting occasional concessions

I believe that OpenStep and/or its progeny are integrated into OSX and iOS, which is one of the reasons that Apple can swap around it OS's onto various CPU designs so easily. Think of the transition from PowerPC to Intel, or the other chips that run the iPhone/iPod Touch/iPad. This is a huge competitive strength, and is likely a key reason for the success of Apple.

The answer you're looking for is "its progeny", which is the much-loved Cocoa toolkit. I was speaking of the OpenStep initiative itself, which consisted of a rebranded NextStep (which was also ported to x86) and API compatibility layers for NT and Solaris, neither of which exactly passed into legend.

One thing that's not often remembered is that the OS X kernel and APIs ran on x86 since Steve brought NeXT back to Apple with him. (Rhapsody [toastytech.com] and later OpenDarwin [wikipedia.org].) The rush for the big switch wasn't nearly as large as is often assumed, as Apple was quite prepared for it.

It's often remembered that OS X ran on Intel the whole time. Jobs pointed that out when introducing the Intel Mac in 2005. He showed the overhead view of the building where they had been running Mac OS X on Intel since the Mac OS X launch. But people had suspected for years.

It is, of course, also one of the most epic displays of grassroots community bait-and-switch in history: let volunteers spend years fixing and perfecting the port of OpenDarwin to x86, then kill the community when its code starts facilitating Hackintoshes. Classic Jobsian ill will: "if you haven't paid me in the last eighteen to twenty-four months, I owe you nothing."

Every instance of the word "win" in your post is wrong. Windows NT never won anything. It is terrible, an embarrassment. The World Wide Web was built on NeXT, and so was the modern Mac, iPhone, and iPad. If current trends hold, OS X systems will outsell Windows systems in 2014 or 2015.

The NeXTSTEP API was about running on NeXT. It was used to create the World Wide Web. OpenStep was about portability across systems. But nobody used it, they just copied it into their own proprietary systems. So now the technology enables Apple to do things like jump OS X from PowerPC to Intel to ARM within the space of 2 years.

Today, Apple's WebKit browser engine, which is the most popular mobile open source project, brings the Web and the open HTML5 API to all mobiles except Microsoft's, plus to Chrome an

is that you have to (AFAIK) buy a Mac to develop for it. I can't really fault Apple on this as it's a great business strategy, but I simply can't be bothered so I'll only make apps for Android, which doesn't require me to buy hardware.

If Microsoft wants their phone to succeed, they need to make sure that their SDK is available on as many platforms as possible.

As I understand it, you have to buy a PC with Windows to develop for Windows Phone 7. Or you have to buy a retail copy of Windows to run in dual-boot or virtualization, which is as expensive as just buying an entry-level PC due to deep OEM discounts. (Once in Best Buy, I've seen a retail copy of Windows Home Premium for $200 and an ION nettop PC with included Windows Home Premium for $200.)

As I understand it, you have to buy a PC with Windows to develop for Windows Phone 7. Or you have to buy a retail copy of Windows to run in dual-boot or virtualization, which is as expensive as just buying an entry-level PC due to deep OEM discounts. (Once in Best Buy, I've seen a retail copy of Windows Home Premium for $200 and an ION nettop PC with included Windows Home Premium for $200.)

::Sigh:: Or, you can build a faster machine for cheaper yourself... Avoid the OEM all together. You still have to purchase Windows to develop WP7 (& Windows apps, but I use Linux + Wine to cross compile some of my Win apps sans VM or dual-boot), but at least YOU CAN.

The problem for me is that I have hardware that is faster than anything that Apple sells right now, and I purchased it for less than 2/3rds the price of Apple's most comparable systems... I saw that I can purchase the Mac Box Set with

And what to test them? If you're using Wine other than as a toolkit for making Linux apps, you need to test on Windows.

You're assuming that all builds are actually tested. It's not uncommon to have regular builds - even automated ones - that aren't necessarily tested on all platforms, at least for open source projects. Being able to compile Windows applications under Linux can make that a lot easier, whereas the fact that Mac applications can only be compiled on Macs is a huge pain...

Being able to compile Windows applications under Linux can make that a lot easier, whereas the fact that Mac applications can only be compiled on Macs is a huge pain...

You are clearly open to tools like Wine. Can't you use a tool like GnuStep to cross-compile to OSX from Linux? It sounds like a huge pain in the ass vs. just having an old headless Mac to run a compiler on, but you could put it together if you wanted to stay purely open source.

You may attempt a rebuttal claiming that Apple doesn't want to support any unsanctioned hardware, and go on about "complete experience", but I'll shoot you down immediately because I install ALL of my O.S.s in a virtual machine -- there is no "hardware differences" that Apple's software would have to support except the lack of a hardware DRM system that Apple uses to prevent me from installing their inferior OS on my superior hardware.

And you know what? Apple doesn't care about your fringe desires. Just as Microsoft doesn't care, it's just that their solution happens to work on your machine. In business, you have to learn that you can't please everyone, and that you have to reduce your target customer base to whatever is most profitable, otherwise you'll never have a shipping product.

A MacBook Air costs $400 per year over 3 years, including AppleCare. It is easy to make that pay for itself by doing iOS app development. If that doesn't sound good to you, then you're not interested. That has nothing to do with Apple not participating in the generic PC industry.

Or you have to buy a retail copy of Windows to run in dual-boot or virtualization

The last I heard the Windows Phone Seven emulator that you use for developing applications, would not run in a virtualized environment (perhaps it's really a virtualized instance of the phone OS itself?).

Annoying anyway, and it's kept me from playing with the WP7 dev tools.

You can still download v3.x for free [after signing up for a free developers account], which includes the emulator.

As well as just installing XCode from the DVD included with your Mac (and/or Snow Leopard Installer DVD). I'm not sure if it is still being included with the most recently released Mac's, but it's been included on the DVD's for years.

I wonder why they ask the $5 for it. The XCode is worth thousands of dollars but apple chose to give it away for free. Comparing to the actual price the $5 is as good as free but creates a small entry barrier in sense I have to go searching for my credit card or iTunes store credentials. Maybe they want us to be all set for publishing once we get this XCode running on our machines making the iTunes account creation a part of installation process.

I still cannot fathom how every company in the world is capable of giving you updates to a product you got from them for free without attracting SEC investigators and IRS auditors out the wazoo. Every company in the world, that is, except Apple. Unless... here's the most likely reason... the "SOX compliance" issue is a load of bullshit.

Just as a reminder, here's a nonexhaustive list of companies who can give you updates to products from them for free:SonyMicrosoftNintendoDellHPSamsungHTCGoogle

How much does a Windows Phone 7 code signing certificate cost, though?

The $99/year gives access to the developer services that include generating the certificates, keys and profiles necessary to get a Windows Phone 7 device to accept apps signed using those certificates.

Developing for anything Apple is more expensive than any other platform.

False. Developing for Nintendo handhelds is more expensive than developing for Apple handhelds. For one thing, just to be considered, you have to have a dedicated secure office separate from your home and a previous commercial title on another platform (according to warioworld.com). I'd look up information about developing for Sony handhelds, but http://www.tpr.scea.com/ [scea.com] has been down for three weeks.

And I wont get into all the added hoops that Apple development entails - like paying $99 to join the Developer Network just to be able to put your own app on your own device?!?

And I wont get into all the added hoops that Microsoft development entails - like paying $99 to join App Hub just to be able to put your own app on your own Windows Phone 7 or Xbox 360 device?!?

I'd look up information about developing for Sony handhelds, but http://www.tpr.scea.com/ [scea.com] has been down for three weeks.

Between this and PSN, I'm starting to get the feeling that Sony has actually packed up and left the planet with all the money from Sony customers, leaving behind only an AI that issues random press releases to give them time to make a getaway...

Biggest problem with iOS development is that you have to (AFAIK) buy a Mac to develop for it. I can't really fault Apple on this as it's a great business strategy...

How is that a great business strategy? The number of iOS developers buying Macs contributes basically nothing to Apple's bottom line compared to iPhone sales driven by their large number of iPhone apps. The great business decision is keeping the dev environment under their control and making it Mac only is just easier and cheaper than maintaining it on Windows as well. This leads to apps that conform to UI guidelines and leverage all the built in functionality of iOS and are updated in a timely manner to take advantage of new additions to iOS. Apple doesn't have to wait for third party tool developers to add features to support what Apple puts in iOS in a new release. They build it into the tools and in many cases the next recompile of the app takes advantage of the new function. That is what is smart about Apple's dev tools, not some barely noticeable increase in Mac sales from selling to developers that want to target iOS. It's about promoting iPhone sales because that is where the money is.

You always need hardware to do development. The majority of people have a PC so this is not an obstacle; however, some people have Macs or no computer at all so they will need to purchase something to start development work.

Yeah, but Android apps are not native. You can develop for the Web on any platform, too. But if you want the power of a native app, you need a native toolkit.

You get so much more with iOS development, and you make so much more money that the cost of the Mac is immaterial. Plus, once you get one, you find it is the best PC you ever owned and forget you were whining about it. I haven't heard a single iOS developer complain about having to use a Mac. You get free developer tools with it that are worth the purc

Nonsense. If you follow the rules, the application will work on all phones running the same version of the OS and most phones running a close version. The emulator allows you to try the app on different resolutions, CPU speeds, etc.

Of course if one is happy with a development environment that "lack the full breadth of features found in higher-end Visual Studio and SQL Server Editions" and all one wants to be is a "hobbyist, student, and novice developer" then one can develop for MS Windows Phone 7. Otherwise it costs $1300 with a $800 yearly upgrade.

OTOH, the mac mini is $700 plus 4.99 for Xcode or $100 a year for Xcode and full documentation. Over three years, for a professional developer, not someone who is just knocking off far

is that you have to (AFAIK) buy a Mac to develop for it. I can't really fault Apple on this as it's a great business strategy, but I simply can't be bothered so I'll only make apps for Android, which doesn't require me to buy hardware.

All you have to buy is a dozen different phones to make sure your app is compatible and then enjoy on average 5% of the sales of the Apple app store....

This claim is a red herring for a serious developer. The upfront cost of the Apple HW required for development is minuscule. It is tiny compared to the hours of work you'll spend developing any app and, more importantly, it's tiny compared to the income you'll generate from your, obviously, block buster apps.

If this is just a hobby and you have no intention or chance in hell of making money, the HW cost is a valid concern. However, your scenario is not important in the real world. It's the professional deve

That's not really the problem. Having a Mac toolkit isn't somehow going to magically bump them to 100,000 apps. If they want WP7 to succeed, they should focus on what they are supposedly currently focusing on: Selling as many WP7 devices as possible.

If the market is there, developers will buy the hardware. I bought a new $2000 MBP just to develop for iPhone. If WP7 had the same market size, I wouldn't hesitate to drop $1000 on a Windows laptop. I certainly wouldn't hesitate to fork over $199 for a Windows l

That is great news. If you don't use a Mac, then we don't want your app running on iOS. If you're used to using Windows or X-Windows then, yes, Android has the level of quality that you'll feel comfortable with, and iOS would seem much too demanding. You wouldn't understand why either Apple or the user base rejects your app.

It's not some business strategy that iOS development requires a Mac. They simply did not port Xcode to Windows, because that would mean porting the whole of Mac OS. In the same way that

"Not really, no. Google provide an Android emulator as part of the Android SDK. It's the standard way to develop for Android."

I know Android developers who have bought a dozen or more different Android phones on which to test their software.

If buying a used Mac to do iOS development is too much of an investment, and you believe that you can use the Android emulator to get by without testing across the myriad Android devices and platforms...

Then all I can say is that I'm very, very, VERY happy you're developing for the Android platform...

Professional devs, sure, people who're interested in making money from it. Who cares about them? This is Slashdot, we like tinkering with computers, the lower the entry barrier the better. Your final sentence says it all: you're interested in a polished end product, to the point that your happy that hobbists are excluded from the platform. Nothing wrong with thinking that per se, but it's a consumer's perspective; it might be better served by, I don't know, Gizmodo or something.

So buy a cheap second hand Intel Mac from ebay or something, or buy a broken one and fix it up, since tinkering is what we do. You can get some serious deals on cheap Macs with busted screens or damaged bits and it's cheap to repair them - no more expensive than a PC.

Thinking that "low barrier to entry" means "new" is ok, nothing wrong with that per se, but it's a non-hobbyist's perspective. Might be better served by, I don't know, Dell.com or something.

Oddly enough, there are hobbyists who like tinkering with software but not with hardware... There's nothing wrong with a high barrier to entry, but there's something wrong with arbitrarily raising it -- unless you're doing it because of the high barrier to entry, as in Brainfuck or Intercal coding.

And you make my point for me. We're not all the same. Some of us don't want to mess around with getting hardware to work etc and just buy something that is turnkey. Some like to build everything by hand.

I'm not sure it's arbitrarily raising the barrier - the toolchain for iOS development is based on the one that is used for OS X, given that the two OSes share the same core. It's not like Apple deliberately said "aha, what a great way to drive OS X adoption!". It's merely a side effect of OS X only running o

Right, you're ditching the most profitable market because... why? The dev tools only run on the OS the phone's OS is based on? The app store paid developers a combined 2 billion dollars in revenue (after Apple's cut). Nothing else is even close right now.

Hilarious.

I believe the phrase is "cutting off your nose to spite your face". If you're talking "as a professional developer" (ie, if you are making your living from this).

For the casual developer just messing about, sure you need a Mac, but you can pick one up cheaply on eBay that will do the job just fine. Alternatively you can just build a hackintosh and see what's what before committing to buying new or used hardware.

This may be viable for shops with enough manpower to support multiple OSs and devices, but many one, two or three man shops may not have the resources to deal with support for some low-spec phone so far removed from the basics they can count on iOS.

Umm... way to comment with absolutley no <expletive deleted> clue what you're talking about. That argument may be valid for Android, which is avialb le on a wide range of hardware including some very low-end devices, but all WP7 phones have to meet a pretty high-end spec (1GHz proc, 800x480 resolution, 512MB of RAM, certain GPU requirements, 4-point multi-touch, and a suite of sensors). There are better phones available, of course, but only recently; that specification was finalized somewhere near a y

A fried of mine works at a company where about 20 people make a living selling apps on Windows mobile to the medical world. They now have to do a serious rethink of their business because most of their software was tied to Windows CE/Mobile for the last 10 years. They'll probably go web-based, but then you're depending on the WiFi in the hospital.

Um, C# is also used on WP7. WinMo supported native development, which WP7 doesn't (officially, it's possible unofficially) but the encouraged path was to use managed code. The UI needs to be re-written to use Silverlight, but the functional code can be re-used without any modification in many cases.

Let us say they were able to map bulk of the API that does the actual work on the app. Let us even assume they kluge a virtual environment to let the app talk to "apple app store" and transfer it to MS app store and then hack some authentication too. After all one should be able to simulate enough of it in vm to get it going. Then what?

Back in the days of Visual Studio 4 our company was doing mainly unix development. We hacked enough scripts to take the unix Imakefile and make it call the Visual Studio co

If you want platform neutral, then make HTML5. That is what it is for. iOS supports both HTML5 and Cocoa so you can choose what is best for your app. App Store is totally optional on iOS, and didn't even ship until year 2.

Except those developers who already have a library of application logic code written in standard C++ or Objective-C. On Mac OS X and iOS, a front-end written in Objective-C can link to application logic written in standard C++, and Android provides NDK to allow using standard C++ application logic with a Java front end. (It might be possible to use ObjC on Android through GCC or Clang, but I haven't heard about it.) But WP7, like Xbox Live Indie Games, can use only verifiably type-safe code. Microsoft's C++/CLI is a language that includes both Standard C++ and a C++-like verifiably type-safe language as subsets, but Windows Phone 7 will reject any assembly that uses unverifiable operations, such as any use of the Standard C++ syntax for pointers or references. So how does one translate Standard C++ into the verifiably type-safe subset (/clr:safe) of C++/CLI, other than doing it manually line-by-line and then trying to maintain two versions in parallel?

C++/CLI is not allowed on WP7, because it can emit bytecode not supported there even in the simplest of operations. This was the case with Silverlight (which WP7 is based off of). Not sure if/clr:safe would fix that.

Then allow me to rephrase: So how does one translate application logic written in Standard C++ into C# or another WP7 supported language, other than doing it manually line-by-line and then trying to maintain two versions in parallel?

What I did was I bought a used device off of eBay for development with WP7. The previous owner left all of her text messages and emails on the device, and she kept writing about how she hated the phone so much. Needless to say, it didn't cost very much. You can test everything without a phone plan (minus any transfer speeds over edge or 3G). I suspect the same is the case for an iPhone (though I own one already) and Android (haven't done any work there).

What I did was I bought a used device off of eBay for development with WP7. The previous owner left all of her text messages and emails on the device, and she kept writing about how she hated the phone so much

This is your user base that you are developing your apps for. A wise businessman listens to his customers:)

Indeed. My current income from WP7 isn't spectacular, and quite frankly I feel that investing the same amount of time on Android would have been more fruitful. I have a game I'm coming out with for WP7 and XBLIG, and if the game doesn't reach a certain target, I may not renew the license. After this game and a project I'm working on for a company (the real reason I paid the $99), I'm shifting everything to Android and probably iOS (once I get new hardware).

Actually,/clr:safe would work. The problem is that this gives you a very limited subset of the language. You can use all the basic operators, and you can define functions. But when it comes to types, you cannot even use "class" or "struct", or C arrays or pointers - only CLI "ref class" and "value class" and managed handles & refs, and arrays/strings. The result is more or less C# with C++ look and feel, RAII (since you still get destructors), and templates.

Was this true years ago when the application was first developed? Back then, Java still had a reputation for using far more RAM and CPU than C++. Besides, how does one port the logic of an application written in standard Java to Windows Phone 7 and iOS without a rewrite and parallel maintenance?

Microsoft and Apple have switched positions. You have GOT to know how much this stings executives at Microsoft and pisses off MS shareholders. MS has already blown that chance at corporate with their phone OS by fucking over the 6.x using companies.

Until 7, it was an easy migration path for corps and simple to upgrade phones for users. Now there is no upgrade path, so the door is open to choose another platform. No other platform than iOS offers businesses the control and abilities they need with a standard hardware interconnect for custom applications. Vertical markets are choosing iOS.

Their only chance really was the consumer market and they fucked that opportunity with the Zune and Kin fiascos.

The real tragedy was the sheer short sightedness of the executive team. Windows Mobile went unchanged for 5 straight years. That management thought some hex-grid icon chooser thing would fix things was just mind bogglingly stupid. Kin just has the be mentioned and not explained. Even WP7 is having issues, but its chief problems are that it launched 2 years later than would be optimal, and Microsoft severely underestimating the complexity of updates. In truth, everything else looks pretty ok. It has a solid

Blackberry's? Sorry, but corporate clients are abandoning the ship en masse. Market share is dropping and US sales in particular are tanking. The Storm line was il-received, and the Playbook is half-baked. Android app integration is going to kill QNX, just as Windows app integration put the final nail into OS/2.

Rather than rebranding and releasing as a new product and pushing it hard like they did the Storm I they left the Storm II to sit in the backlash of terrible Storm I brand experience, then discontinued it just as it was starting to gain steam as a viable contender in the group-think.

End result is the same, but there was an entire series of bad calls at RIM that leads into their current situation.

"On the other hand, having to deal with Objective-C to code for IOS is a pain."

GC on iOS would be nice. OTOH, the NARC and autorelease rules are pretty straightforward, and in practice it's fairly hard to screw them up. OC isn't as simple as JavaScript, but then again, it's not the hell-on-earth that is C++ with STL and user-overloaded everything. Love the delegate system, and the dynamic selector mechanisms are pretty cool.

The Cocoa Touch frameworks are powerful, much better than Android's, and there are a

What would be really great is if they built this API mapping system......and then ensured that the Windows Phone 7 API would map to the desktop Windows API......and then you put Wine on a Linux-based phone...

Yes, because that.NET 4.0 runtime came up on you so quickly. I mean seriously... it seems like only yesterday that 2.0 (2005), 3.0 (2006) and 3.5 (2007) were released and now the're dropping 4.0 (2010) on us and forcing us to upgrade.

I just wish you had a little more notice that this was going to happen.

Seriously, their tools for upgrading managed code are great. They even document for you APIs that have been deprecated and suggest the new API to use. You're complaining about an upgrade wizard tha

More than marketing, Steve Jobs have long term vision, something that is missing from every CEO today and almost all politicians. Who in his "right" mind in 1976 could have thought that "personal" computers that came prebuilt and output to a TV set instead to 7 segment LED display in hex code could have an use for common people, aside Jobs? About a really easy to use MP3 player, with a fast interface to a PC? About a new all in one computer, tailored to the huge masses that never had a personal computer bef

Who in his "right" mind in 1976 could have thought that "personal" computers that came prebuilt and output to a TV set instead to 7 segment LED display in hex code could have an use for common people, aside Jobs?

Steve wozniak.

Steve jobs has always been a business man, not an engineer, the engineers are the ones who make the nice gadgets, the businessmen do marketing, make requests of the engineers like marketing do, and take care of finances.