IOS6 Mapkit licensing, terms of use [closed] - licensing

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 7 years ago.
Improve this question
In IOS6 map data was replaced from Google to Apple's own map data.
In the past, when MapKit was used you had to accept Google Maps licensing and terms of use (https://developers.google.com/maps/iphone/terms). What is the situation with the new MapKit and its new map data? E.g. GoogleMaps was not enabled to use in commercial apps by free, to use it you had to buy some premium packages. Etc.

Starting again since the comments became too long. Essential points are
1) You never had to pay to use MapKit in a commercial app (noted that if you charge solely for map access then you violate the terms - no mention of what action gets taken, also some people confuse the Javascript API terms with the MapKit terms).
1.2) With exceptions as noted in 10.9 of the license agreement
2) Using the MapKit under iOS 6 shouldn't be seen as any different to using ApplicationKit, UIKit, or any other framework Apple provides. You can use them in commercial apps.

This particular subject is very obscure. I've been looking into this matter for the past 2 days... so here are my 2 cents:
Mapkit is one thing, GMAP terms and conditions is another thing. The fact that Mapkit is free does not mean that the map provider is going to give you the data for free and allow any kind of use.
If you are going to show vehicles' locations on map and those vehicles are your customers (you charge for the service), you need GMAP Business edition and Premier API. There's no way around it, no matter if the iPhone app is free and this is also regardless of the framework (Mapkit).
Addressing the original question about if Apple Maps is going to be free, there is no way to know at least right now... No one knows. We can speculate that it will be free, for the simple fact that if it's not, it will break current functionality of other tracking applications that were developed in the time of iOS 5 where GMAP was the current data provider. We can also speculate that, since GMAP Business is $10k per year + traffic, it's not going to be free!
And most important of all, about the "Apps that use location-based APIs for dispatch, fleet management, or emergency services will be rejected," note that it says "location-based APIs", which your app "will not use" because you already have the position data on your servers. The idea behind that sentence is to avoid apps that will track the iPhone user in real-time. You can have to most amazing Fleet Management app and never use the built-in GPS antenna, simply because you don't need it.
Sources:
https://developers.google.com/maps/licensing
https://developers.google.com/maps/iphone/terms
http://www.google.com.pr/enterprise/earthmaps/maps-faq.html (check out question "What is the cost of Google Maps API for Business?")
Apps that are already doing it:
https://itunes.apple.com/us/app/fleetmatics/id441922434?mt=8
https://itunes.apple.com/en/app/scania-fleet-management/id513863147?mt=8
Hope that helps.-

Related

When to go with traditional Java stack (Struts2/SpringMVC) vs modern JS stack (AngularJS, NodeJS etc) [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 1 year ago.
Improve this question
We need to implement a one-form app (long form) that persists into Oracle DB. There are no Web services of any kind. The culture is traditionally Java-oriented here but it's open for suggestions.
What are the Pros and Cons of going with:
The traditional MVC Java stack - Spring, Struts2 or SpringMvC, Hibernate
The JS (modern) stack - AngularJS, NodeJS, ReactJS
Any clear explanation of the differences, with the Pros and Cons, would be strongly appreciated.
As I stated, I haven't been able to find a reasonable and understandable comparison.
It's apples and oranges. I'm only posting this as an answer because it outgrew the comment.
First to nitpick a bit, AngularJS is front-end technology, you can use it with any back-end technology (I use it with Struts2). So lets remove that from the comparison.
Second nitpick your comparison is more a JS vs Java choice. If you did your research you could be comparing NodeJS against Play, Vert.x, or similar. Not because those frameworks are "modern" but because they share some of design goals which made NodeJS what it is (Vert.x is very similar in intention, it has comparable speed, non-blocking design, and allows for polyglot programming).
But really there is something more fundamental than the frameworks... and that is the language. If you know JS and you've worked on the front end design did a mockup and then need to develop server side services and aren't more comfortable with another language, well it really doesn't make sense to invest in that heavy lifting when you can start doing something useful right away. It's also the same the other way (from the Java perspective) no matter what the framework you need to invest time, if you already know a Java web framework, why waste your time figuring out something else?
That last question isn't rhetorical, seriously why waste your time? In defence of keeping with JS, you can keep everything in one language, NodeJS is pretty fast, although keeping the comparison fair there are many Java web frameworks Struts2/SpringMVC don't have similar design goals to NodeJS while Play, Vert.x, and I'm sure there are others would be a more fair comparison. JS has a different way of doing things and if you have JS ninjas then it does make sense to do everything that way. As for why Java, it is fast, it has an enormous codebase, there are APIs and frameworks for everything, from meta programming, AI, robotics, security, obviously databases and everything common, there is enormous choice. It is more structured, in the end this means that months later you can generally figure out what you were doing and you can better share work and divisions of labour. But again, does any of that matter? I'm not looking to start an argument with the general public, only you know your requirements. Consider them and also consider human nature and take a reasonable course.
In my experience people use what they know, people I find are often splitting hairs over their favourite framework and someone else's for no other reason that that is what they know. If you're going to use some technical tooling advantage to try an get consensus that is highly unlikely to happen, and I would recommend first to look at your human resource capabilities; I mean you could write it in Java or JS, whatever but happy employees will produce way more regardless! What the majority would rather work with can't be discounted lightly.
This is not a question which stack you use. Pros and cons have nothing with the technology involved rather than humiliating the user experience by choosing one framework over another.
If you get any project from an idea to the production software you should know that many many, many factors apply on making decision on the architecture of the project. All it depends on the proposal that you should write first. The quality of this document will make influence on the further decisions and directions, feed-backs from the end user who is the consumer of the desired product.
No language, no framework, no programmer needed to provide you the user requirements. It's just the software that should do some things. That's all you need to know at the first time.
You can promise the user that you can build the software that is required, but you don't tell how it would be built, which language you use, framework, technology, resources.
You can see what other people is created and how it works and if it fits with what user is required then you luckily copy/paste. Unfortunately, it doesn't work in most cases and you have to pay for every brick in the building.
The most significant part over technology is programming resources. If you have such resources that you already tied a half which technology is preferred to use with the project. Technologies, languages, frameworks are different, and nobody can handle them all with expert level. You can build the software with one framework, then rebuild it from scratch with another and then you can compare. If you can't compare the costs used to build the software than your decision is just opinion based on other opinions.
The pro-vision occurred if you have experience of building production software on different platforms using different languages and different frameworks. Because many languages, frameworks are in most business problem oriented and recommended to use by experts as suitable to solve such kind of problems. There's no any point which one is better, because if you choose one that is more recommended than others and create ugly software using it you can't say that it's worse that others that are less recommended. On the other hand if you choose framework and create the great software that may be lacks some features available in other frameworks you'll win.
Don't play with the technology, use qualified consulting services. This is out of the topics of stackoverflow. Because this information is always commercial. Good luck with your endeavors to find the better software that suits your needs.

Sitecore more for corporate users? [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 9 years ago.
Improve this question
First, I've looked at every other stack site and I can't seem to find an very appropriate place to ask this. It's a pretty general questions, but basically, I'm wondering if Sitecore is targeted mainly at corporate users?
I've done a bit with Drupal and because it's open source of course you can install it on any shared host (at least LAMP but I guess Windows as well). I can't seem to find a lot of sites that advertize hosting for Sitecore other than the limited number on the SiteCore hosting site.
The only ones I see prices for tend to be WAY more than what you get from a shared host. IE, $100+ per month vs. ~$10-20 for your typical LAMP Shared host.
I'm about to get some Sitecore work at my company, and wondering if I'm going to be able to do any playing on my own with Sitecore outside of work, but it seems this is something you don't play with unless you have an actual license and host, unless there's some test environment one can set up on your local box, or is this not feasible?
As you can see, these are fairly basic questions, but I could not find good immediate answers to them while searching, so any good basic primer or info would be great!
Sitecore is an enterprise level web content management system (or Customer Engagement Platform as they call it).
The license fees vary per country and setup, but start at around $20k.
If you want to play with Sitecore as a developer, you can ask them for the Sitecore Xpress edition.
It's a free, limited release for developers.
You need to contact Sitecore and they will give it to you.
For non-commercial use you can use Sitecore Express. You'll have to contact Sitecore to get this.
This is a scaled back version though.
From their site:
Xpress is a version of Sitecore’s CMS that has been seriously scaled
back, but is ideal for developers wanting a no cost version and are OK
with the restrictions. While the enterprise scalability and
performance power has been pulled out, as well as the business
user/marketing capabilities, the developer flexibility remains.
I don't know about the cost of hosting it.
As the others have mentioned, there are ways to get the software without a license, but traditionally developers work with this with a license.
At that point, you do not need to worry about hosting, as long as you can run a .NET web application on your machine. Sitecore runs in IIS with SQL Server or Oracle databases. This allows you to do all your development and playing around on your local machine without needing to have it hosted.
In my experience, your best bet for short term hosting of Sitecore is a service like Amazon EC2. A service like this gives to access to remote server space where you can install Sitecore and all the extras you may need.
This sounds like a good fit in your case since you can start and stop the service whenever you need. This will allow you to play around with Sitecore without a large upfront investment. Also, you can always start up a new server instance whenever you need an outward facing site to show clients.

Marmalade Mobile App Development - Is Marmalade a Good Choice? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I’ve got some apps on the cards, my target platform of choice is Android, however I’m aware that there are some SDK’s around advertising the ability to write once and deploy to multiple mobile Operating Systems. One such seems to be Marmalade.
This product in particular claims compilation to native code per device to achieve compatibility. What I’d like to know, before i commit to the price tag, or even developing outside the manufacturers intended frameworks – is peoples thoughts on the matter.
Compilation to native code would assumedly have high performance, however I am guessing there’s a tradeoff where you lose easy access to all of the API’s provided by google/apple, etc.
Looking for any other pros/cons and whether or not people who went with something like marmalade hit road blocks, wished they had not made the move.
My apps will not require a 3d engine, which seem to make up the bulk of the sample apps on the marmalade showcase. My apps will however generally want to store quite a lot of relational data & hit web services, so convenient access to sql compact would be nifty.
I work at Marmalade caveat.
The solution that we provide offers high performance because it does not rely on a virtual machine like other cross platform solutions do.
Additionally you can use native APIs directly using our EDK (Extension Developer Kit) that allows you to package up calls to native calls on iOS and Android. So you need not miss out on these.
Take a look at this blog by one of our developers who has taken his game across a whole bunch of platforms with little effort using Marmalade http://www.drmop.com/
For the last comment, we do provide sqlite support through our open source modules.
Look at Cut the Rope or Plants vs Zombies. I doubt that you need more than they need - and they use Marmalade to port games to non-iOS devices.
Regarding sql - you can use sqlite: https://github.com/marmalade/sqlite
The only trade-off is development speed. It's several times faster to write scripts in Unity and use their visual tools but you are also forced to use Unity tools and if you have more than 40K vertices visible per frame game will be slow at iPhone 3GS (10K for 3G and older).
With Marmalade in theory you should know Visual C++ but when you need some things specific to iOS or Android and no one still made library for that you have to take their EDK, native SDK and write libraries by yourself. It's not that hard and you can outsource that if you don't have time to learn new SDK.

Developing Mobile Apps for Multiple Platforms (without a cross-platform framework!) [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 3 years ago.
Improve this question
We're the developers of a relatively complex non-game iPhone 3 application, and we're beginning an ambitious rewrite to take better advantage of iOS 4. There's a significant social element to the app, so we started thinking that we'd like to make it available on as many modern mobile platforms as possible:
iPhone/iOS
Android
Windows Phone
BlackBerry OS
Symbian
There are several approaches to cross-platform development, and they all have limitations. No solution manages to take advantage of all a device's functionality the way a native application can. Given the complexity of our app, I'd simply like to maximize "logical" code reuse without resorting to a cross-platform framework. I'm envisioning tools that will make developing and testing apps against multiple platforms a little more seamless. What can we do to make developing on 5 platforms take less than 5 times the effort?
Push as much of the functionality as you can back to a shared web server, and try to make only the UI specific to the platform.
I know you said no cross-platform frameworks, but perhaps something to look at:
Write all the core logic in javascript. Unit test that at will. Then use tools like Appcelerator to turn that logic into native code.
Then import that logic code into your native platform projects for each of those platforms, and build out the other features you feel can't be achieved properly in any other way.
For platforms they don't support right now, you might be able to find a js to native code converter, or indeed a way of hosting a js environment within those platforms.
None of these will play nice together. It's not in their perceived best interest to do so.
The best bet is to dumb everything down and keep it simple. Simplicity always wins when you are trying to sandbox multiple hostile interests.
Look to XML for all data, and then have 5 binaries to read it or push it all to a web server via PHP. All these mobile platforms will function nicely with XML because it's in their best interest to do so. Worry about branding and appearances AFTER you get the core functionality off the ground.
NOTE: Javascript is the last thing you should be looking at in the beginning. It rarely plays nicely on all platforms in the same way. So make sure that your JS layer is independent of your data layer. DO NOT INTEGRATE THEM. That would be bad. You want your Android JS to be potentially different than the JS you push on the Blackberry for example. Because you won't know how quirky it will end up being until you try it out and test your methods.
I agree with Beth. I have developed a product based on the same thought process. I have a java server running on a socket, which has a client library that client app's use to connect to the server. The client abstracts out the socket piece and provides easy api's for client apps to call.
The server is equipped to handle multiple client connections in parallel, thread pool concept.
Now, since it will be a java client library, you can only run this on android. To get this working on other platforms, you can run this client piece on J2EE. This way you create a third middle layer. All other platforms can then connect using the browser.
With this done, you can now use JSON to Object libraries to expose your object (on the server side) to JSON. I haven't done this yet, but will do it in a few weeks.
Btw, I just cant get myself to use any cross platform frameworks. They promise the world, and dont mention any of their limitations upfront. Its painful towards the end of your product/app release to find out all these limitations/hidden costs.
Well, you can look at JQTouch, SensaTouch or maybe wait for a while to see the jqueryformobile to finally get published. If you are not in a hurry, I would already start working in jQuery, since two out of three from this list are (will be) based on jQuery as plugins
I'm currently thinking to this problem , and my solution would be to put all the logic server side and use an approach like Model-View-Presentation, a series of events fired by the UI that should instead be specific for the client

Alpha Software v 9

I am not a 'programmer' but want to develop a database application using Alpha Software Platinum v 9. The app would allow users to list classified ads via a web site and browse for items being sold etc. Does anyone have experience with Alpha software and is it really as easy they state on their site? Again, I am not a programmer but the info says you don't have to be to use their software. Thanks!
I have not used the software, but my advice would be:
Do not attempt what you say you are going to without significant programming experience.
Sooner or later you will need to troubleshoot your application (if you get that far), and you will need programming skills.

Resources