iTunes Connect - Getting Rejected - app-store-connect

So, I have tried to upload my application to the iTunes Connect, but it gets rejected.
2.11
Apps that encourage excessive consumption of alcohol or illegal substances, or encourage minors to consume alcohol or smoke cigarettes, will be rejected
My application
So the application I am creating is a Drinking game application. It contains "I have never/Never have I ever", and some spinning bottle look-a-like. I have several view controllers that contains rules on how to play each game.
After a search on AppStore for "Drinking Game" I get over 500 results of games. So how come that theirs game gets approved, but not my game.
I do not have any question in the "Never have I ever" game that asks for alchol, cigarettes or any usage of drugs, but the other games does.
EDIT:
I submitted an appeal to the Apple Review board, and got this back:
2.18 - Apps that encourage excessive consumption of alcohol or illegal substances, or encourage minors to consume alcohol or smoke
cigarettes, will be rejected

This is fairly obvious isn't it?:
2.18 - Apps that encourage excessive consumption of alcohol or illegal substances, or encourage minors to consume alcohol or smoke
cigarettes, will be rejected
You have implemented what is a very well known drinking game.
The fact that other games have slipped through is not really relevant. You could try pointing to these and ask for clarification as to why they are approved but yours isn't, but the most likely response is the other games also get pulled.

Since 2.18 appears to address an issue with minors you might want to try to re-submit it making it 17+ or higher (if possible).
Hope that helps :)

Related

Does Allen Bradley SLC500 PLC worth to buy in 2017?

I am looking for a plc system for our brewery. I would like buy a second hand PLC with the necessary modules. I have seen the AB SLC500 1747-L542 cpu for a good price (120$) with a lot of modules, but I dont know, if it is new enough for a project. (Windows compatibilty, programming environment, etc)
Should I buy it, or it would be a bad decision? If it is not a good decision, what do you suggest for me? I have seen Siemens S7-200, Siemens ET 200 and others too.
Thank you.
If you want to go cheap, use something from automation direct or ez automation. You not only need a CPU, you need I/O cards, rack, power supply, software & HMI. That's going to be a ton of money up front. With the two vendors I mentioned, they bundle most of that for a much lower cost of entry.
Yes this is certainly new enough to use. However, you will need an entire rack. For instance, a ethernet, devicenet, or io cards to connect the processor to your components.
Also as Bill J mentioned, AB may be industry standard in America, but it is expensive. Depending on your brewery's income it my not be smart. Siemens is the same idea.
Quote from AB's website
Our Bulletin 1747 SLC™ 500 control platform is used for a wide variety of applications. Rockwell Automation has announced that some SLC 500 Bulletin numbers are discontinued and no longer available for sale. Customers are encouraged to migrate to our newer CompactLogix™ 5370 or 5380 control platforms.
link to website
So I would say, for a new project, no it's not worth bying in 2017.
Depending on how many points you need to use I would recommend going with the CompactLogix or MicroLogix from AB. The lowest CompactLogix is my favorit for all around tasks, I have standardized the whole plant to use it as the lowest level PLC for the simplest machines. Built in you get Ethernet capability, 16 inputs, and 16 outputs. You can expand the controller via different modules (up to 8 for the lowest PN), that can include additional discrete IO, analog modules etc.
Do not use a SLC as they are obsolete and even though you can get it to work without much trouble this is not a good choice for a new project.
It is hard to say what you need exactly without knowing the specifics of your project so I would recommend using the "integrated automation builder" (a free download from AB) to properly size a controller for your needs.

How can we test Roku application

I'm new to Roku development (in R&D phase actually). I read that we can't test Roku app on simulator and need real device. If we develop an application, how will we test it?
I checked Roku developer site and different links on internet, but could not find anything that answers my questions
As per my info, Roku sells 5 devices so:
Can we do one app that supports all 5 devices?
Do we need assets in multiple resolutions?
Do I need to buy all devices?
Can we do one app that supports all 5 devices?
Yes. Roku is trying hard to keep their platform coherent, though there are performance issues between the OpenGL and non-OpenGL devices. The "legacy" models (<2222) are no more supported, the firmware is kept current for the others.
Do we need assets in multiple resolutions?
Theoretically yes, practically - not really. You can make-do with assets in only one resolution, if you RTFM and pre-plan carefully. You'll need 3 sizes of app icon, no sweat. For the real UI though, you can either do HD (720) or FHD (1080) and leave it scale accordingly - the thing is TV is very forgiving to scaling graphics because of 10ft watching distance (60" 1080p screen is "Retina" beyond 8ft). Can largely snub SD.
Do I need to buy all devices?
No. And there are much more than 5 devices that are in use - see https://forums.roku.com/viewtopic.php?f=34&t=86471&start=15#p536994 for some statistics (RokuCo does not publish statistics, so that's about the best info available). If you buy only 2 devices, i'll say get
a #42xx (Roku 3 or current Roku 2) as reference model with OpenGL
a #27xx (Roku 1 or SE) or #5xxx RokuTV as reference for "slower", non-OGLES
As 3rd model i'll say the "new HDMI stick" #3600. You can get that one as the only device, its performance is somewhere between (1) and (2) above... but i don't think developing with only 1 device is a good idea.
One thing you may not have noticed is that there are also these "Roku TV" things under Hisense/TCL/Sharp/Insignia brands, models #5xxx. These are proper TVs with proper Roku smarts - meaning can run your Roku app. And one can be had for as little as... (skimming BestBuy web) $130-150 for 24-32" screen.
And i haven't even mentioned the 4k/HDR craze here, nor the new 37xx/46xx models that will be out for the holiday season (i only expect minor, evolutionary changes there).
Disclosure: I am a Roku employee.
That's correct, you'll need an actual Roku device to test your application. You can buy them used on eBay for very cheap ($20-35), or you can buy a brand new unit from our website for $50. The latest Roku Streaming Stick (Model #3600X) is my personal favorite option, and a great value.
You don't need to buy all devices, although we do recommend having many models so that you can QA test across devices. However, one popular development approach is to build your channel on a lower-end model, which theoretically will assure it works on higher-end models as well. This will also mean you have to spend less on your purchase.
Download our Precertification Checklist and open the third sheet, which includes a list of all our model numbers and corresponding code names. I'd recommend building on a "Giga" or a "Paolo."
Think of this cost as an R&D expense. Plus you'll get to enjoy the device on your free time as well!
As for your other questions:
Yes, you will only build one app that will work on all different devices. We do recommend taking the time to make sure your app is optimized across all devices, including older devices with less processing power. Our Performance Guide is a great starting point for this.
The other option is to check if the first number of the device model is less than “3” (which indicates it's a lower-end device) and add conditionals off that, such as removing animations.
You can find two examples of this on our RokuDev GitHub page:
Hero-Grid-Channel —> Components —> LoadingIndicator —> LoadingIndicator.brs —> Line 244
Multi-Live-Channel —> Source —> Main.brs —> Line 21
Yes, you do need different assets based on resolutions. Take a look at this document: https://github.com/rokudev/docs/blob/master/design/channel-artwork.md

How can redundant systems decrease failure rate if they are all esentially the same?

In a systems analysis class the instructor talked about redundant systems. She told a story where 3 independent systems could land an aeroplane and on the test run all 3 failed simultaneously (somehow the pilots still had time to manually land). I don't understand why having redundant systems would help? If system A can't communicate with landing gears systems B and C couldn't either, right? Is the idea behind redundant systems "let's hope one of these doesn't have a bug"? If yes wouldn't it be too late when the bug is discovered (e.g. primary system failed so switching to secondary, oh wait the aeroplane blew up)?
It seems to me redundant systems are like saying "here's the same tool made a bunch of different ways but if you need a different tool your out of luck".
Identical systems help prevent a certain class of failure, namely an electronic or physical failure in a device, if that is a non-deterministic failure. In other words, if you have 3 hard drives in a RAID 5 arrangement, you are protected against one hard drive having the heads crash, but if two do, it's restore from backup time. Head crash of a hard drive, electronic failure, etc, are sorts of errors that this sort of thing protects from.
What it does not protect from are deterministic failures caused by software bugs in all three systems. Back to your RAID 5 array, if the hard drives are the same and there is a bug in the controller that causes the heads to write corrupted data on all three, the fact that you have three hard drives with corrupted data written to them is no real comfort.
So as a good, real world example here, a squadron of F22 fighters were flying from Hawaii to Japan when they crossed the international date line and experienced a bad avionics dump. Apparently from some sources they lost inertial reference, some air data, some communications, weapon systems everything. A software bug apparently didn't handle the dateline right and locked up all the redundant systems. The squadron had to return to base and land without instruments. Had the weather been bad, the computer crash would have turned into aircraft crashes though we hope the pilots would have been able to eject.
Additionally you have more complex failure cases with redundant systems and these are often harder for the individuals involved in maintaining safety to troubleshoot when things go wrong. For example how is the failure of the second system handled? This has caused terror and injury in at least one aircraft case. In that case, the failure of a second angle of attack unit (part of the Air Data/Inertial Reference Unit) caused the system to use inputs from the first failed sensor, which caused first an uncommanded climb and then an uncommanded plunge. The aircraft landed safely but this is a good reason to wear seatbelts when seated in an aircraft!
So as always there is a tradeoff here between robustness and being able to prove graceful handling of all possible states of failure. In general, in aviation this is seen to be a positive tradeoff, but it is not free.

How to bench software on multiple graphic cards with cluster

I would like to bench my software on multiple graphics cards without buying any existing ones!
Do you know any service providers for that?
I wonder if there is something like http://www.keynotedeviceanywhere.com/ for desktops. I guess the game industry might use this kind of service to test their graphics engine...
Thanks
What about http://www.gaikai.com/ they render in the cloud.
Hate do answer your "how do I do this?" question with "don't do that", but...
Don't do that :)
I suspect most of the kind of people who want to test their graphics software on multiple hardware can afford to buy all the multiple hardware, so there isn't much demand for the sort of thing you are asking, particularly not if you want it for free.
If you want to do stuff on the cheap, try:
Aim low. Get a $30 card or two and test on those. This will cover 99% of your potential user base.
Deal with the major brands. For desktops, this means ATI and nvidia. Not many other brands to worry about here, except intel if you want to stretch that far.
If you are brave enough, publish your benchmarking software on the web somewhere and ask other kind users to test it and submit results.

How are vendor IDs assigned for USB devices?

I am developing the firmware for a USB-based hardware device. The USB interface protocol requires that each device be assigned a vendor ID (VID) and product ID (PID).
How do I, as a device manufacturer/designer/developer, acquire a vendor ID? It is my understanding that the USB-IF assigns and policies these; is that correct? Do I need to buy a vendor ID from the USB-IF?
What happens if, instead, I just randomly pick a vendor ID to assign to my device, or just enter 0x0000, 0xFFFF?
Vendor IDs are a scarce resource, just like OUIs (top 3 octets of MAC address) and IPv4 addresses are. They have to be allocated so others don't use IDs/addresses that collide with yours. The cost just raises the barrier to allocation, so everybody doesn't land-grab willy-nilly.
It would be nice to have a "private" range, much like RFC1918 addresses (10/8, 172.16/12, and 192.168/16), that people who don't care about collisions can use.
The only meaning of getting a vid and a pid is to ensure that your sub device will not affect other with the same vid and pid.
You could set the vid or pid you like but you get the risk of a collision and your driver or the one of the other device could stop working, or both.
Ref: http://www.usb.org/developers/usbfaq#12
One other answer that people have missed: It takes a surprising amount of money and time to run a standards body.
There are costs to host the web site and official repository for the standard. You have to setup your own server, or rent space with a hosting company.
A new standard requires marketing. If people do not hear about your standard, how are they going to adopt it and use it?
Are you going to demo the new USB standard at CES, IDF, Embedded World, or some other trade show? It costs tens of thousands of dollars to rent a booth and pay for construction at one of the big shows. It costs thousands in air travel and hotels.
Are you handing out pamphlets at the show? How much does it cost to have them printed?
Are you going to advertise your standard in a magazine? Or banners on a web site? How do you expect to pay for this?
It costs money to coordinate meetings between the various members of your standards body. If you want a face-to-face meeting, you have to rent a conference room somewhere. Are you providing snacks and coffee? If you want to do a conference call, who is paying for the phone service?
You probably have an e-mail list or discussion forum. Who is maintaining that? How are you paying for the disk space to archive everything?
Does your standards body have a mailing address? Office? PO Box? Phone Number? Fax number? How do you expect to pay for that?
Any standards body with more than 1-2 members is going to have a board of directors, bylaws, officers, etc. Who is running all of that?
At some point, you will want to incorporate your standards body so it is a "perpetual" organization, not just tied to you personally. That means you need to file a tax return. Who is paying for the attorney's fees? Do you want liability insurance?
For a "physical" standard like USB, you probably need to spend money building prototype connectors and testing them. You probably need a test lab somewhere with oscilloscopes and other equipment, not to mention PCs, cables, and other equipment. Before you build the connectors, you probably want to simulate them, both mechanically and electrically. The costs for doing this can exceed $100,000.
Are you designing the logo for the standard yourself in MS Paint? Or do you want a graphic designer to do it for you. Who's paying for it?
Do you want to register your logo as a trademark? Who is going to take pay the fees for that?
Beyond money, it takes a lot of time to run a standards body. In the beginning, you might be able to handle it in your spare time, but for a high-visibility standard like USB, you may need someone dedicated to the standards body full time. They will need a salary.
The money to run a standards body has to come from somewhere.
You can charge membership dues, but this may not be enough. You will find that only a handful of people actually want to contribute to the standard. Everyone else will simply download the spec from your web site and benefit freely from your hard work.
You can charge for Access to the Specs, but this gets the "open standards" people up in arms. It also hampers the adoption of your spec. Not to mention people will probably just share the PDF illegally.
The simple truth is that a $4,000 annual membership fee is a pittance for a USB device manufacturer. You will spend far more than that designing your product and manufacturing it. The people who balk at that cost were probably not serious about building a USB device anyway, and would just "waste" the USB vendor ID (there is a finite number of possible IDs).
I've never found an official public listing of VIDs.
Seems to me that usb.org should provide one as a general service to the USB community, and if a vendor didn't want their VID public usb.org could just list it as "private" (it could well happen that a company wants a VID for internal use only)
The best list I've found for VIDs (and many associated PIDs) is here:
http://www.linux-usb.org/usb.ids
It's updated frequently, but I have found errors, so caveat emptor.