Since when is the Maple Leaf the symbol of North America? Does it have something to do with the value of the dollar? The country with the highest valued dollar has its flag tagged as North American symbol?
Or is it simply that the title of the story should have been "Volcanic Ash Heading Towards New Foundland, Canada"?
Are you completely unaware of how interconnected our two countries are? If the ash cloud is heading towards North America, it would have the potential of disrupting more than just flights to Europe. Air freight could be affected. If the cloud were to spread over to Alaska, say goodbye to Fedex packages from Asia which all come in from Anchorage, Alaska. Sure, they could eventually redirect through Hawaii and into Sea Tac but that could take some time.
They can't embed the codec and remain truly Free software.
Second, while they could link to platform-provided codecs, it's a support nightmare.
Third, it would legitimize patented crap.
It is you who has no idea. Software can be free "gratis" but it is property and therefore cannot have "rights and freedoms". People have right and freedoms which can be extended by licenses by the original rights holders.
They could add H264 support as a plug-in which would have its code stored in an external project which only mozilla staff would have access to. Mozilla could kick off official builds which had the plugin packaged with it while unofficial builds from the community would lack the plugin. Mozilla could also offer the plugin as a separate download either "free" or for a nominal fee to cover licensing costs.
Linking in support for windows 7 and OS X would be trivial. Linux support is platform issue and not the problem of mozilla if they go this route.
It is not crap and it is already legitimized. It has support of HD Cameras everywhere, Google, Apple, Microsoft, Blu-ray. Shall I go on? It is a licensed standard and now the defacto standard for video.
Clearly not oh trollish one. The GPL maximizes the freedom of the end users, and software exists solely to be used. It also will ensure lightworks continues to benefit from this open-sourcing. Without the GPL linux would be as unused in the enterprise as FreeBSD.
I don't know how I will modded but GPL is "NOT" for end users. It does not affect end users one bit. End users do not compile or care to compile code.
Unfortunately, there is no (-1, Wrong) moderation. The GPL is for protection of users. It gives the users the right to receive, modify, and redistribute the code. You can see it is for protection of users because it gives these rights only to the users, i.e. the recipients of the binary code. As a programmer who is not the user, you are not entitled to receive the code from the distributor, because they did not distribute the binary to you.
Fortunately for you, there is no such modification. Users have no interest to receive, modify and redistribute code. Interested third party developers however do. As long as the GPL community continues to confuse users with developers, GNU desktop environments will continue to languish with poor end user support and uptake by the general public. It does not matter if something is "free", people are not willing to spend their time in exchange for "free" products anymore.
If you are contributing to the codebase then you are no longer wearing the "end user" hat but a "contributing developer" hat.
This is provably false. You are, rather, wearing two hats at once.
Yet again, you do not understand the distinction between the general public user community and developers. Developers are willing to roll up their sleeves to fix bugs while end users want a product that works and sufficient documentation to explain how the software work in the event that the UI is non-obvious.
BSD and MIT license grant more rights to third party developers. Full stop.
Artistic and similar licenses grant rights to everyone, while GPL grants rights to users. Full stop. It's right there in the licenses. By default works are covered by copyright. Artistic licenses say anyone can do as they like but you must give credit. GPL says recipients of the program can do as they like. The source code is considered to be the program as well (as it should be) so recipients of the source are granted the same rights as recipients of the binary. Except, of course, clauses about providing source don't apply, since there's no source to the source.
This is patently false. USERS do not receive the program in any other form than a compiled binary. Even if you were to include a source directory wastefully in the same DMG as the binary, users will install the binary and throw away the DMG not bothering to look at it. The GPL does not grant or bind the end user to anything. It is not an EULA (End USER Licence Agreement).
GPL takes the approach of enforcement of rules if you want to play while BSD relies on good will and a desire to co-operate.
False. Both are powered by copyright, and thus both depend on the enforcement of rules.
Copyright is not affected by either license. What is your point? You still maintain the copyright to all of the code that you write regardless of license. Some projects require rights assignment (GNU for example) before the code is accepted into the repository but that is outside of license terms.
One requires coercion and the other is completely voluntary.
Both are completely voluntary. Nobody is forcing you to use either license when you distribute software you have written. BSD and GPL licenses only grant rights! They take nothing away. One license, however, provably provides mo
Clearly not oh trollish one.
The GPL maximizes the freedom of the end users, and software exists solely to be used. It also will ensure lightworks continues to benefit from this open-sourcing. Without the GPL linux would be as unused in the enterprise as FreeBSD.
I don't know how I will modded but GPL is "NOT" for end users. It does not affect end users one bit. End users do not compile or care to compile code.
If you are contributing to the codebase then you are no longer wearing the "end user" hat but a "contributing developer" hat.
BSD and MIT license grant more rights to third party developers. Full stop. GPL places some restrictions on release of binaries from code modifications which require publishing of code changes if a binary is released to the general public. Full Stop. Let's stop trying redefine terms like "freedom" and just spell out the differences.
GPL takes the approach of enforcement of rules if you want to play while BSD relies on good will and a desire to co-operate. One requires coercion and the other is completely voluntary.
I was actually very surprised that Apple is even making a keyboard dock, as it makes it look more like a laptop.
You may have just explained why the keyboard dock forces the iPad into portrait mode instead of landscape, and why the "Pages" word processor only exposes all of its features if you're using it in portrait mode. When the thing is actually attached to its dock, standing there with a screen that's taller than it is wide, and an extreme mismatch between the width of the display and the width of the keyboard, you cannot mistake it for a laptop.
Have you ever stopped to consider how inefficient it is to have a widescreen for word processing? Back in the 80's-90's there were some world processing workstations with portrait view monitors so that you could see more of the page at once. Widescreen = great for video, portrait = good for word processing.
To the extent that any technical background has been discussed, about whether Apple could allow 3rd party development packages, it's that they question whether the "multi-tasking" in iPhone OS 4.0 could be made to work safely.
From what I've gathered, the "multi-tasking" (beyond the limited number of special server processes) in iPhone OS 4.0 is really more of a fast application switching system, where the os saves and restores data state when stopping and restarting processes. Apple thinks they can safely do this for apps compiled against the Apple 4.0 developers kit. They don't think they can safely do this for any arbitrary code.
If this is correct, Adobe could say "Tell us what information you need, and we'll tell you how to find it for apps compiled using our tool". Apple might then say "If we do this for you, we would have to do this for anybody who wanted to build a 3rd party development kit; that would not be practical".
My question to Apple, if I was Adobe, would be "If our tool built binaries that followed the exact rules of your developers kit, such that iPhone OS 4.0 could not tell the difference between a binary built by us, and a binary built by our software, what would happen?"
A much better approach would be to output an Xcode ready project with C/C++ code, resources and some objective-c code to interface with the API.
Do you understand the concept of N-tier applications development?
Yes. Do you understand the concept of any other model of applications development?
Basically, there are two reasons for wanting an App Store App rather than a web-hosted app:
You want an iPhone-like interface to your web service. You don't mind it requiring constant internet access. In that case, your argument makes perfect sense and writing your front end in Objective C is a no brainer. Yes, a lot of apps fall into this category.
You want a largely self-contained application that users can run offline even without a WiFi or cellular signal. In that case, all the "business logic" has to run on the phone, and your model falls to pieces. E.g. TomTom/Copilot, and most games.
Its the latter category that will be hit by this simplistic rule - you seem to be thinking entirely in terms of the first category. Quite frankly, if you are doing a client/server app the "best tool for the job" looks increasingly like Javascript/HTML for the frontend which can target any platform with a decent browser and doesn't have to be approved by the App Store.
Yes I understand other models of development. I have developed e-commerce websites, self-contained front end desktop systems which contain their own local storage and periodically send back updates to the back end system, back end processing and multi-tier client-appserver-database systems.
I also understand the false economy that can exist with reuse of an existing database. If the existing database does not scale well to the constraints of mobile platforms like the iPhone and you are not going to be able to reuse your UI code either. These are things that you have to be prepared for and if you wish to continue to have some portion of your code common to all platforms, you have to be willing to perform a radical refactor to modularize your code into what is common and what is platform specific. To attempt to use some sort of "compatibility layer" to get your platform specific code to run on another alien platform for the sake of code reuse is sheer lunacy and laziness.
Trying to somehow translate a Java codebase to C or Objective-C on the fly using a code processor is a bad practice.
In the systems that we develop at work, we have begun to move a lot of basic utility classes used throughout the organization into a common external source tree referenced by each of the other source trees. A game developer could do the same although in the real world, most of the shared code in a game would only possibly be shared between mobile platforms with a similar level of performance as desktop code would often not be a good fit.
As to your last point, the reason why you would provide a rich client in the first place is for visibility and exposure on the appstore which you would lose with mobile version of your website. There are other advantages for a rich web service client such as a better end user experience but the main reason is advertising.
What's ironic about this move is that XCode is pathetic as a software development environment compared with other platforms, like Eclipse and even Visual Studio. You can't even link to a standard version of the source of a library in another project in XCode, without making a copy of it. Refactoring? They never heard of it.
It seems that Steve Jobs is too insecure and too much of a control freak to encourage real innovation on the iP** platofrm.
This is much worse than Microsoft's refusal to publish their APIs for many years, until the European Union recently called them on it.
We can only hope that the European Union will ride again. And soon!
Eclipse? Are you serious? If you are going to do any serious Java development, you are going to want to use IntelliJ. Do you even work as a developer? Visual Studio out of the box is slightly better than X-code for some niche tasks but overall X-Code is nowhere near as bad as Eclipse. What makes Visual Studio shine are plug-ins like Resharper (made by the same company that makes IntelliJ). You have heard of refactoring but you don't know what it means.
A development team can keep their core source code common to all platforms they are targeting lower down in the source tree and link to those files in each platform specific project. The only place you are going to have a problem is if you are using C# or Java somewhere but if your codebase is C/C++, there should not be a serious issue.
Eclipse is garbage. I used it briefly for Java and had to use it for Python via Pydev. I hated every minute compared to working with any other IDE.
If my company were to create an application for the iPhone, we would use Objective-C for the app and probably C# for the web services it would consume.
Sure, if you're developing exclusively for the iPhone that's a no-brainer.
...but if you wanted to produce substantially the same application for iPhone, Android and Windows Mobile, would you maintain 3 complete, separate code bases in (respectively) Objective C, Java and C#? Me, I'd look for ways of putting as much of the code as possible in a common language.
So, looks like there's a market for an Objective C to Java/C# translator:-)
Do you understand the concept of N-tier applications development? If your application is heavily reliant on servers and the majority of your business logic is on the server, rewriting the presentation layer to be native to each platform should be trivial. In that situation, you will not have three separate code bases for the entire system but just the mobile front end which should be a small fraction of the entire codebase.
Too often the "existing" code base is used as a straw man argument for getting something like Mono touch to work instead of just learning the right tool for the job. For a client server app, Mono would bring nothing to the table other than developer familiarity with a language to the table because Mono touch does not support.NET remoting.
You could use SOAP service with a simple http soap listener and XML parser or send data back and forth with something like JSON.
I would argue that it is better to rewrite a front end when launching on a new platform rather than bring the old potentially buggy code over which would not look right on the new platform anyway. Think of it as a radical refactoring.
The main obstacle to making a 3d game on the iphone that can compete with the PSP right now is the OpenGL driver, which adds so much overhead that it usually shows up at the top of the profiler for any game. If they'd let us direct access to the hardware we'd be able to push twice as much polygons, but instead we're stuck with this "intermediate layer". Does this mean they'll get rid of it?
If you were targeting several platforms from the beginning, your core code should be C/C++
Why? True, C/C++ isn't a bad choice for a cross-platform app, but cross-compilers or virtual machine based languages are perfectly valid approaches.
Why? Cross-compilers produce bloated, buggy and difficult to debug code.
You are supposed to choose the best tool for the job, not the one you are most familiar with. I'm not a fan of MSFT and I was skeptical of.NET but I learned how to develop in C# because my workplace demanded it. When there is a need to use Java for interoperability with off the shelf enterprise software, we use Java rather than insisting that everything be in.NET because Java is what the larger companies use.
If my company were to create an application for the iPhone, we would use Objective-C for the app and probably C# for the web services it would consume.
People who were putting out cookie cutter apps or games using some middleware to make their life easy will be affected by this.
If this affects you in a major way for your multi-platform deployment then there is something wrong with your codebase. If you were targeting several platforms from the beginning, your core code should be C/C++ and then you should have another layer for your platform API specific hooks in the higher level project. Just keep that common code linked with relative paths to your iPhone project file and do the same for the other platforms you are targeting.
Thin client apps should not be affected by this since you would already be coding your interfaces separately for each platform for a native look and feel and having the major grunt work done on the server.
Meaning if I want my applications to be aware, they have to ask Apple for permission and expect Apple to become part of the information pipeline... Interesting! How will that fly in, say, China, where I am currently working? Will the Apple servers be accessible from here, always? Do they play nice with China Mobile and the local Internet connection?
If Apple has a deal with China Mobile to carry the iPhone, I would expect that they are on a "white list" for the great firewall of china as things like push email from mobileme, find my iPhone and notifications all use the persistent connection apple sets up when you have roaming and those services turned on or have wifi signal. They might still scan but not block roaming phones from other countries. Regardless, Apple's servers act as a proxy only for background processing, if you are a in foreground mode, the app should be connecting directly to to the other servers.
So does the judiciary now have absolute power to jail anyone on whim even outside of the court room? Not even your president or constitutional monarchs have that power.
There must be limits on the powers of the judiciary. No judge should have the power to jail anyone for contempt except those who are appearing before the court. If you are in the audience, all the judge should be able to do is throw you out of the court room or file a complaint of disturbing the peace with the local police. To suggest that you can be jailed for sending email is ludicrous.
Well, Skype and IM are an "always on" kind of thing, they need to be live to ping and show status, etc. WiFi is pretty much an "always on" thing as well. Music - whether from the phone or streamed - is often going and that is always on. And of course the basic phone, GPS/nav when I'm driving (Google Maps), and calendar/task list, etc.
*Sigh* Skype will call an API to register with a service that will listen on behalf of your app for incoming requests which will wake up your Skype apps and allow you to take the call. IM'ing can be handled by notifications where you are connected to a server and that service sends notifications to the apple servers which forward it to your phone.
Go watch the keynote for yourself. It is up on Apple's site right now.
But if multitasking isn't "integral" but would be nice then the developer is still left with coding and testing two scenarios. That's fragmentation, although admittedly a little less than Android.
There are a lot of scenarios that you have to test for. For example, if your app can make use of location services, you have to test for now your app will react to location service being turned off or denied access by the user to location. Luckily, Apple provides API functions that you can call to make your life easier.
I totally get the unified inbox thing. I'm just confused about the need for multiple exchange accounts. How many people need to list more than one exchange account at a time in a way that "open other mailbox on start" doesn't handle?
GMail offers support exchange mode or at least an emulation of Exchange. So it is possible that someone might want to setup both their corporate exchange account and their Gmail account as exchange on the same phone. Before, this was not possible and you would have to use exchange for work email and IMAP for Gmail.
So now you have iPhone developers having to worry about which hardware they are running on:
* Older OSes that can't multi-task versus newer iPhone hardware
* Larger screen sizes on the piece of junk iPad versus the tiny iPhone screen rez
Isn't 'fragmentation' the latest talking point for Apple and Apple fans in the media after the 'teh most apps' failed to have any effect on slowing down the massive Android surge?
Wrong on so many levels. The programmer does not have to worry about any of that. If they call the API, the OS will either allow multitasking on the machine it is running or it won't. If you create a universal app to run on the iPhone and iPad, you call the API to find out which type of machine you are running on and then run that codebase.
The problem with Android fragmentation is that there are no clear lines of demarcation between types of phone. Whereas Apple makes is clear as to what is and what is not supported on the older phones.
If multitasking is integral to the operation of the app, it will be listed as only compatible with the newer phones and touches.
Re:iPad not PC/Mac replacement but an extension of
on
The Apple Two
·
· Score: 1
My laptop needs a fully functional web browser, removable media and ample storage. Oh, and a useful method of data input. The iPad has none of those things. I have no issue with people liking the thing, but I honestly cant think of anything I would use it for. My 15 year old Linux 486 tablet has more viable uses to me.
So what you are telling us is that you use or laptop as a desktop replacement? I was talking about people who have a desktop (PC or Mac) and a laptop just for portability and how the iPad could replace the laptop but not their main computer at home. The iPad has a keyboard dock or you can use the Apple Wireless keyboard with it. So you can use the touch screen and/or a keyboard that is either integrated in to a dock or a wireless keyboard. No doubt, there will be adapter cables that let you plug in a USB keyboard through the dock connector in the future.
iPad not PC/Mac replacement but an extension of it
on
The Apple Two
·
· Score: 1
The iPad is meant to be a mobile extension of your computer without having to be constantly tethered to it. It will kill the need for a laptop for a lot of people when you can take it with you and work on a lot of stuff on the device or connect remotely back to your PC/Mac with apps like iTeleport.
You can use it on the road, in your hotel room, in your living room, office cafeteria or coffee shop down the street.
I don't see myself getting a laptop anytime soon again after I get an iPad. I'll give my MBP to my mother as my iMac fulfills my needs for a "real" computer and the iPad will suit my needs for portability with a screen large enough to work on.
Re:At first all was good
on
The Apple Two
·
· Score: -1, Troll
Have fun in your virus infested mobile world. Do you seriously believe that OS X is going away? It is the platform for developing apps for these other Apple platforms and it is the platform of choice for movie makers and musicians.
Mobile devices like phones are primarily supposed to be phones first so who gives a crap if I cannot load any random piece of software on it. It is popular because it is an appliance first and an computing device second. The app store approval process means that I don't have to worry about viruses, trojan horses or spyware ending up on my iPhone.
It seems to me that the people complaining the loudest either work for competitors of Apple or are "geeks" with jobs outside of the tech sector in the service industry. I'm a software developer for the windows platform and I used to work in tech support in a windows shop. I have no interest in futzing around with my phone and I expect it to work all of the time. People like me are not interested in taking their work troubles home with them.
The iPad, when it arrives in Canada, will not replace my iMac but it will replace my MBP which currently sits idle as I'll be able to play games, watch movies, surf the web, read/compose email and write the odd journal entry while I travel to exotic places or just hang out in my hotel room on a business trip.
Why does looking at penises make heterosexuals stressed? because they are closet homos.
So you are saying that everyone is a homo? A more likely explanation is that it is an instinctual reaction to a perceived rival for potential female mates.
If you enjoy looking at penises, then you are probably a homo.
Re:Location without GPS
on
iPad Review
·
· Score: 1
Probably in the US, but that service doesn't work elsewhere and even then not in places without wireless access point (and still not a pin-point location). With 3G you can get a lot more coverage, it works worldwide and you can pin-point your location based on several towers.
It works in Canada and I could locate my apartment about as accurately on my iPod Touch as my iPhone 3G with GPS.
Something that is vital to Apple overtaking Microsoft is a shift in attitude of the "zealous Apple consumer". Most folks that use Apple products are fine, but holy jeebus do Apple zealots piss me off. We get it, your brand of choice is shiny and pretty. Shut up about it.
Again, I know this only applies to a small portion of the Apple userbase, but that small portion is unbelievably annoying.
The usual "this is only my opinion" disclaimer applies.
MSFT has its fanboys. Long Zheng, Paul Thurrott and those neowin site. Not to mention those stupid "Windows 7 was my idea" adverts.
Since when is the Maple Leaf the symbol of North America? Does it have something to do with the value of the dollar? The country with the highest valued dollar has its flag tagged as North American symbol? Or is it simply that the title of the story should have been "Volcanic Ash Heading Towards New Foundland, Canada"?
Are you completely unaware of how interconnected our two countries are? If the ash cloud is heading towards North America, it would have the potential of disrupting more than just flights to Europe. Air freight could be affected. If the cloud were to spread over to Alaska, say goodbye to Fedex packages from Asia which all come in from Anchorage, Alaska. Sure, they could eventually redirect through Hawaii and into Sea Tac but that could take some time.
They made their point quite clearly.
They can't embed the codec and remain truly Free software.
Second, while they could link to platform-provided codecs, it's a support nightmare.
Third, it would legitimize patented crap.
It is you who has no idea. Software can be free "gratis" but it is property and therefore cannot have "rights and freedoms". People have right and freedoms which can be extended by licenses by the original rights holders.
They could add H264 support as a plug-in which would have its code stored in an external project which only mozilla staff would have access to. Mozilla could kick off official builds which had the plugin packaged with it while unofficial builds from the community would lack the plugin. Mozilla could also offer the plugin as a separate download either "free" or for a nominal fee to cover licensing costs.
Linking in support for windows 7 and OS X would be trivial. Linux support is platform issue and not the problem of mozilla if they go this route.
It is not crap and it is already legitimized. It has support of HD Cameras everywhere, Google, Apple, Microsoft, Blu-ray. Shall I go on? It is a licensed standard and now the defacto standard for video.
Clearly not oh trollish one. The GPL maximizes the freedom of the end users, and software exists solely to be used. It also will ensure lightworks continues to benefit from this open-sourcing. Without the GPL linux would be as unused in the enterprise as FreeBSD.
I don't know how I will modded but GPL is "NOT" for end users. It does not affect end users one bit. End users do not compile or care to compile code.
Unfortunately, there is no (-1, Wrong) moderation. The GPL is for protection of users. It gives the users the right to receive, modify, and redistribute the code. You can see it is for protection of users because it gives these rights only to the users, i.e. the recipients of the binary code. As a programmer who is not the user, you are not entitled to receive the code from the distributor, because they did not distribute the binary to you.
Fortunately for you, there is no such modification. Users have no interest to receive, modify and redistribute code. Interested third party developers however do. As long as the GPL community continues to confuse users with developers, GNU desktop environments will continue to languish with poor end user support and uptake by the general public. It does not matter if something is "free", people are not willing to spend their time in exchange for "free" products anymore.
If you are contributing to the codebase then you are no longer wearing the "end user" hat but a "contributing developer" hat.
This is provably false. You are, rather, wearing two hats at once.
Yet again, you do not understand the distinction between the general public user community and developers. Developers are willing to roll up their sleeves to fix bugs while end users want a product that works and sufficient documentation to explain how the software work in the event that the UI is non-obvious.
BSD and MIT license grant more rights to third party developers. Full stop.
Artistic and similar licenses grant rights to everyone, while GPL grants rights to users. Full stop. It's right there in the licenses. By default works are covered by copyright. Artistic licenses say anyone can do as they like but you must give credit. GPL says recipients of the program can do as they like. The source code is considered to be the program as well (as it should be) so recipients of the source are granted the same rights as recipients of the binary. Except, of course, clauses about providing source don't apply, since there's no source to the source.
This is patently false. USERS do not receive the program in any other form than a compiled binary. Even if you were to include a source directory wastefully in the same DMG as the binary, users will install the binary and throw away the DMG not bothering to look at it. The GPL does not grant or bind the end user to anything. It is not an EULA (End USER Licence Agreement).
GPL takes the approach of enforcement of rules if you want to play while BSD relies on good will and a desire to co-operate.
False. Both are powered by copyright, and thus both depend on the enforcement of rules.
Copyright is not affected by either license. What is your point? You still maintain the copyright to all of the code that you write regardless of license. Some projects require rights assignment (GNU for example) before the code is accepted into the repository but that is outside of license terms.
One requires coercion and the other is completely voluntary.
Both are completely voluntary. Nobody is forcing you to use either license when you distribute software you have written. BSD and GPL licenses only grant rights! They take nothing away. One license, however, provably provides mo
Clearly not oh trollish one. The GPL maximizes the freedom of the end users, and software exists solely to be used. It also will ensure lightworks continues to benefit from this open-sourcing. Without the GPL linux would be as unused in the enterprise as FreeBSD.
I don't know how I will modded but GPL is "NOT" for end users. It does not affect end users one bit. End users do not compile or care to compile code.
If you are contributing to the codebase then you are no longer wearing the "end user" hat but a "contributing developer" hat.
BSD and MIT license grant more rights to third party developers. Full stop. GPL places some restrictions on release of binaries from code modifications which require publishing of code changes if a binary is released to the general public. Full Stop. Let's stop trying redefine terms like "freedom" and just spell out the differences.
GPL takes the approach of enforcement of rules if you want to play while BSD relies on good will and a desire to co-operate. One requires coercion and the other is completely voluntary.
I was actually very surprised that Apple is even making a keyboard dock, as it makes it look more like a laptop.
You may have just explained why the keyboard dock forces the iPad into portrait mode instead of landscape, and why the "Pages" word processor only exposes all of its features if you're using it in portrait mode. When the thing is actually attached to its dock, standing there with a screen that's taller than it is wide, and an extreme mismatch between the width of the display and the width of the keyboard, you cannot mistake it for a laptop.
Have you ever stopped to consider how inefficient it is to have a widescreen for word processing? Back in the 80's-90's there were some world processing workstations with portrait view monitors so that you could see more of the page at once. Widescreen = great for video, portrait = good for word processing.
To the extent that any technical background has been discussed, about whether Apple could allow 3rd party development packages, it's that they question whether the "multi-tasking" in iPhone OS 4.0 could be made to work safely.
From what I've gathered, the "multi-tasking" (beyond the limited number of special server processes) in iPhone OS 4.0 is really more of a fast application switching system, where the os saves and restores data state when stopping and restarting processes. Apple thinks they can safely do this for apps compiled against the Apple 4.0 developers kit. They don't think they can safely do this for any arbitrary code.
If this is correct, Adobe could say "Tell us what information you need, and we'll tell you how to find it for apps compiled using our tool". Apple might then say "If we do this for you, we would have to do this for anybody who wanted to build a 3rd party development kit; that would not be practical".
My question to Apple, if I was Adobe, would be "If our tool built binaries that followed the exact rules of your developers kit, such that iPhone OS 4.0 could not tell the difference between a binary built by us, and a binary built by our software, what would happen?"
A much better approach would be to output an Xcode ready project with C/C++ code, resources and some objective-c code to interface with the API.
Do you understand the concept of N-tier applications development?
Yes. Do you understand the concept of any other model of applications development?
Basically, there are two reasons for wanting an App Store App rather than a web-hosted app:
Its the latter category that will be hit by this simplistic rule - you seem to be thinking entirely in terms of the first category. Quite frankly, if you are doing a client/server app the "best tool for the job" looks increasingly like Javascript/HTML for the frontend which can target any platform with a decent browser and doesn't have to be approved by the App Store.
Yes I understand other models of development. I have developed e-commerce websites, self-contained front end desktop systems which contain their own local storage and periodically send back updates to the back end system, back end processing and multi-tier client-appserver-database systems.
I also understand the false economy that can exist with reuse of an existing database. If the existing database does not scale well to the constraints of mobile platforms like the iPhone and you are not going to be able to reuse your UI code either. These are things that you have to be prepared for and if you wish to continue to have some portion of your code common to all platforms, you have to be willing to perform a radical refactor to modularize your code into what is common and what is platform specific. To attempt to use some sort of "compatibility layer" to get your platform specific code to run on another alien platform for the sake of code reuse is sheer lunacy and laziness.
Trying to somehow translate a Java codebase to C or Objective-C on the fly using a code processor is a bad practice.
In the systems that we develop at work, we have begun to move a lot of basic utility classes used throughout the organization into a common external source tree referenced by each of the other source trees. A game developer could do the same although in the real world, most of the shared code in a game would only possibly be shared between mobile platforms with a similar level of performance as desktop code would often not be a good fit.
As to your last point, the reason why you would provide a rich client in the first place is for visibility and exposure on the appstore which you would lose with mobile version of your website. There are other advantages for a rich web service client such as a better end user experience but the main reason is advertising.
What's ironic about this move is that XCode is pathetic as a software development environment compared with other platforms, like Eclipse and even Visual Studio. You can't even link to a standard version of the source of a library in another project in XCode, without making a copy of it. Refactoring? They never heard of it.
It seems that Steve Jobs is too insecure and too much of a control freak to encourage real innovation on the iP** platofrm.
This is much worse than Microsoft's refusal to publish their APIs for many years, until the European Union recently called them on it. We can only hope that the European Union will ride again. And soon!
Eclipse? Are you serious? If you are going to do any serious Java development, you are going to want to use IntelliJ. Do you even work as a developer? Visual Studio out of the box is slightly better than X-code for some niche tasks but overall X-Code is nowhere near as bad as Eclipse. What makes Visual Studio shine are plug-ins like Resharper (made by the same company that makes IntelliJ). You have heard of refactoring but you don't know what it means.
A development team can keep their core source code common to all platforms they are targeting lower down in the source tree and link to those files in each platform specific project. The only place you are going to have a problem is if you are using C# or Java somewhere but if your codebase is C/C++, there should not be a serious issue.
Eclipse is garbage. I used it briefly for Java and had to use it for Python via Pydev. I hated every minute compared to working with any other IDE.
If my company were to create an application for the iPhone, we would use Objective-C for the app and probably C# for the web services it would consume.
Sure, if you're developing exclusively for the iPhone that's a no-brainer.
...but if you wanted to produce substantially the same application for iPhone, Android and Windows Mobile, would you maintain 3 complete, separate code bases in (respectively) Objective C, Java and C#? Me, I'd look for ways of putting as much of the code as possible in a common language.
So, looks like there's a market for an Objective C to Java/C# translator :-)
Do you understand the concept of N-tier applications development? If your application is heavily reliant on servers and the majority of your business logic is on the server, rewriting the presentation layer to be native to each platform should be trivial. In that situation, you will not have three separate code bases for the entire system but just the mobile front end which should be a small fraction of the entire codebase.
Too often the "existing" code base is used as a straw man argument for getting something like Mono touch to work instead of just learning the right tool for the job. For a client server app, Mono would bring nothing to the table other than developer familiarity with a language to the table because Mono touch does not support .NET remoting.
You could use SOAP service with a simple http soap listener and XML parser or send data back and forth with something like JSON.
I would argue that it is better to rewrite a front end when launching on a new platform rather than bring the old potentially buggy code over which would not look right on the new platform anyway. Think of it as a radical refactoring.
The main obstacle to making a 3d game on the iphone that can compete with the PSP right now is the OpenGL driver, which adds so much overhead that it usually shows up at the top of the profiler for any game. If they'd let us direct access to the hardware we'd be able to push twice as much polygons, but instead we're stuck with this "intermediate layer". Does this mean they'll get rid of it?
OpenGL ES support is built into the API.
If you were targeting several platforms from the beginning, your core code should be C/C++
Why? True, C/C++ isn't a bad choice for a cross-platform app, but cross-compilers or virtual machine based languages are perfectly valid approaches.
Why? Cross-compilers produce bloated, buggy and difficult to debug code.
You are supposed to choose the best tool for the job, not the one you are most familiar with. I'm not a fan of MSFT and I was skeptical of .NET but I learned how to develop in C# because my workplace demanded it. When there is a need to use Java for interoperability with off the shelf enterprise software, we use Java rather than insisting that everything be in .NET because Java is what the larger companies use.
If my company were to create an application for the iPhone, we would use Objective-C for the app and probably C# for the web services it would consume.
Thin client apps should not be affected by this since you would already be coding your interfaces separately for each platform for a native look and feel and having the major grunt work done on the server.
Meaning if I want my applications to be aware, they have to ask Apple for permission and expect Apple to become part of the information pipeline... Interesting! How will that fly in, say, China, where I am currently working? Will the Apple servers be accessible from here, always? Do they play nice with China Mobile and the local Internet connection?
If Apple has a deal with China Mobile to carry the iPhone, I would expect that they are on a "white list" for the great firewall of china as things like push email from mobileme, find my iPhone and notifications all use the persistent connection apple sets up when you have roaming and those services turned on or have wifi signal. They might still scan but not block roaming phones from other countries. Regardless, Apple's servers act as a proxy only for background processing, if you are a in foreground mode, the app should be connecting directly to to the other servers.
There must be limits on the powers of the judiciary. No judge should have the power to jail anyone for contempt except those who are appearing before the court. If you are in the audience, all the judge should be able to do is throw you out of the court room or file a complaint of disturbing the peace with the local police. To suggest that you can be jailed for sending email is ludicrous.
Well, Skype and IM are an "always on" kind of thing, they need to be live to ping and show status, etc. WiFi is pretty much an "always on" thing as well. Music - whether from the phone or streamed - is often going and that is always on. And of course the basic phone, GPS/nav when I'm driving (Google Maps), and calendar/task list, etc.
*Sigh* Skype will call an API to register with a service that will listen on behalf of your app for incoming requests which will wake up your Skype apps and allow you to take the call. IM'ing can be handled by notifications where you are connected to a server and that service sends notifications to the apple servers which forward it to your phone.
Go watch the keynote for yourself. It is up on Apple's site right now.
But if multitasking isn't "integral" but would be nice then the developer is still left with coding and testing two scenarios. That's fragmentation, although admittedly a little less than Android.
There are a lot of scenarios that you have to test for. For example, if your app can make use of location services, you have to test for now your app will react to location service being turned off or denied access by the user to location. Luckily, Apple provides API functions that you can call to make your life easier.
I totally get the unified inbox thing. I'm just confused about the need for multiple exchange accounts. How many people need to list more than one exchange account at a time in a way that "open other mailbox on start" doesn't handle?
GMail offers support exchange mode or at least an emulation of Exchange. So it is possible that someone might want to setup both their corporate exchange account and their Gmail account as exchange on the same phone. Before, this was not possible and you would have to use exchange for work email and IMAP for Gmail.
So now you have iPhone developers having to worry about which hardware they are running on:
* Older OSes that can't multi-task versus newer iPhone hardware
* Larger screen sizes on the piece of junk iPad versus the tiny iPhone screen rez
Isn't 'fragmentation' the latest talking point for Apple and Apple fans in the media after the 'teh most apps' failed to have any effect on slowing down the massive Android surge?
Wrong on so many levels. The programmer does not have to worry about any of that. If they call the API, the OS will either allow multitasking on the machine it is running or it won't. If you create a universal app to run on the iPhone and iPad, you call the API to find out which type of machine you are running on and then run that codebase.
The problem with Android fragmentation is that there are no clear lines of demarcation between types of phone. Whereas Apple makes is clear as to what is and what is not supported on the older phones.
If multitasking is integral to the operation of the app, it will be listed as only compatible with the newer phones and touches.
My laptop needs a fully functional web browser, removable media and ample storage. Oh, and a useful method of data input. The iPad has none of those things. I have no issue with people liking the thing, but I honestly cant think of anything I would use it for. My 15 year old Linux 486 tablet has more viable uses to me.
So what you are telling us is that you use or laptop as a desktop replacement? I was talking about people who have a desktop (PC or Mac) and a laptop just for portability and how the iPad could replace the laptop but not their main computer at home. The iPad has a keyboard dock or you can use the Apple Wireless keyboard with it. So you can use the touch screen and/or a keyboard that is either integrated in to a dock or a wireless keyboard. No doubt, there will be adapter cables that let you plug in a USB keyboard through the dock connector in the future.
You can use it on the road, in your hotel room, in your living room, office cafeteria or coffee shop down the street.
I don't see myself getting a laptop anytime soon again after I get an iPad. I'll give my MBP to my mother as my iMac fulfills my needs for a "real" computer and the iPad will suit my needs for portability with a screen large enough to work on.
Mobile devices like phones are primarily supposed to be phones first so who gives a crap if I cannot load any random piece of software on it. It is popular because it is an appliance first and an computing device second. The app store approval process means that I don't have to worry about viruses, trojan horses or spyware ending up on my iPhone.
It seems to me that the people complaining the loudest either work for competitors of Apple or are "geeks" with jobs outside of the tech sector in the service industry. I'm a software developer for the windows platform and I used to work in tech support in a windows shop. I have no interest in futzing around with my phone and I expect it to work all of the time. People like me are not interested in taking their work troubles home with them.
The iPad, when it arrives in Canada, will not replace my iMac but it will replace my MBP which currently sits idle as I'll be able to play games, watch movies, surf the web, read/compose email and write the odd journal entry while I travel to exotic places or just hang out in my hotel room on a business trip.
Why does looking at penises make heterosexuals stressed? because they are closet homos.
So you are saying that everyone is a homo? A more likely explanation is that it is an instinctual reaction to a perceived rival for potential female mates.
If you enjoy looking at penises, then you are probably a homo.
Probably in the US, but that service doesn't work elsewhere and even then not in places without wireless access point (and still not a pin-point location). With 3G you can get a lot more coverage, it works worldwide and you can pin-point your location based on several towers.
It works in Canada and I could locate my apartment about as accurately on my iPod Touch as my iPhone 3G with GPS.
Something that is vital to Apple overtaking Microsoft is a shift in attitude of the "zealous Apple consumer". Most folks that use Apple products are fine, but holy jeebus do Apple zealots piss me off. We get it, your brand of choice is shiny and pretty. Shut up about it.
Again, I know this only applies to a small portion of the Apple userbase, but that small portion is unbelievably annoying.
The usual "this is only my opinion" disclaimer applies.
MSFT has its fanboys. Long Zheng, Paul Thurrott and those neowin site. Not to mention those stupid "Windows 7 was my idea" adverts.
Proof denies faith, and without faith, God is nothing. If the Devil particle proves God exists, then by God's argument's, He doesn't.
That is circular logic where you assume that faith has any effect on god. It has an effect on man and how they perceive the world around them.