Look Ma, No Plug-Ins!

So after my renewed enthusiasm for Flash died suddenly thanks to Apple, I turned my attention to my next game development project. My solitaire games site needed to be rejuvenated. I originally created it in 2002/2003 using Shockwave. It actually used Flash assets, but in the pre-AS3 world I needed Shockwave for speed and versatility. I created a main game engine and sets of rules for each solitaire game.
It worked well for a while, but it was harder to add new rule sets than I thought. And then Shockwave started to die. We went through that year or two when there was really no Shockwave for Macs, at least not Intel Macs with default settings. Then followed a year or two more of Shockwave working poorly on Macs. So I started planning a complete re-write of Just Solitaire in Flash using AS3.
If Flash had remained an app-building option for the iPhone and iPad, I would have continued along that route. But it didn’t, so I began to consider HTML5.
OK, I say “HTML5″ but what I really mean is JavaScript. It is just that JavaScript isn’t sexy. It is not taken seriously. But with the recent browser wars forcing each browser to perform better, JavaScript is now quite a fast and reliable scripting language.
And, as it turns out, more than capable of being used for solitaire games.
So I worked for more than a month on creating a whole new solitaire engine in JavaScript. And I love it. The new engine not only works better than the old Shockwave one, but it works in places that neither Shockwave nor Flash do: The iPhone, the iPad, Android devices, Linux Firefox, and so on.
So my first attempt to make a plug-in-less game site is a success. I am still working on it, making it better, but the main site is up and running, better than ever.

June 25, 2010 • Posted in: General • No Comments

Developing For Android Using Flash

One of the great things about using a tool like Flash to develop games is that I can take those games to new platforms, ones that didn’t even exist when the game was created. I made Gold Strike in 2003, using Flash 5 or MX. But now it is on the iPhone, and soon Android phones as well.
Adobe, who has continued to expand the Flash playback engine into new arenas, will be bringing Flash to Android phones in the form of AIR for Android. It is just in the beta test phase, and I’m thankful that I’ve been allowed to test it and then given permission to blog about it.
Here is a video of Gold Strike running on a Nexus One.

I’m excited about this because I hear that the Android Marketplace can actually be pretty decent. There are fewer Android phones out there, and fewer people with them buy apps, I’m sure. But there is also less competition.
I’m impressed at how well Flash performs. The game runs at top speed — as opposed to the slow speeds on the original iPhone and 3G. So the processor in the Nexus One seems to be equivalent to the iPhone 3GS or iPad. Or, maybe Adobe was able to do other things to speed up Flash.
The screen, of course, is another issue. The Nexus One has a 800×480 screen. This is interesting as it could make it possible to build some games that need more pixels than the iPhone screen has available at 480×320.

April 20, 2010 • Posted in: General • No Comments

So Much For Creating iPhone Apps with Flash

When Apple announced third-party development for iPhone apps, I read everything carefully and made a decision: it was too risky.
You see, Apple controlled the gateway to the iPhone. After putting in time and money, there was no way to guarantee your app would make it to the store. And there was nothing you could do with that development effort if you were turned away.
That’s too much of a risk for someone like me. I can’t afford to spend a month developing a game, only to have to toss it aside.
But when Adobe announced that you could use Flash CS5 to create iPhone apps, I was excited. A have a huge library of Flash games, many of which would work on the iPhone’s touch screen format. So I charged ahead with development. Beside, by now I could see that Apple seemed to be letting most things in to the App Store, so I felt there was little danger in risking time and effort.
I should have stuck with my initial gut feeling. After developing more than 10 games for the iPhone over 3 months, and getting them in the store, it looks like only a matter of time before they are all pulled. Apple’s new developer agreement seems to prohibit using Flash and tools like it to make apps. Steve Jobs has pretty much confirmed it since then.
So my last two submissions to the app store sit in limbo in the review process. I’m sure they will not be approved. All of my other Flash-developed apps will no doubt be removed in time.
On the bright side of things, I have learned the potential of iPhone app sales. It isn’t great. Oh, I think given 3 years in the App Store, my collection would have been worth its original investment. But it certainly won’t be worth re-making the games in native Xcode, using a language I’m not as skilled with.
But finding success in the app store is another topic altogether. The approach I took and the amount of effort I was willing to put into marketing clearly wasn’t enough. I’ve got more lucrative avenues of paying my bills anyway.
So, what now? Well, for one, I can try to port these games over to Android. Adobe has announced future support for that. Since I’ve already done the work to get these games working on a touch screen and a mobile-power processor, then why not?
I’m also going to investigate creating games using only standards: HTML, JavaScript, PHP, etc. I would be very limited using these, but any games I could make should be able to work on many many platforms, including the iPhone, iPad and Android, as well as computers, of course.
So, how do I feel about all of this? Numb. I just can’t even conjure up an emotion. Apple seems to have something against Adobe and wants to control development on its own platform. I’m just collateral damage, and hardly worth Apple paying attention to. So I’m trying to let it go and realize that it is all beyond my control.

April 19, 2010 • Posted in: General • No Comments

Colorado and Amazon Battle and People Like Me Suffer

The Problem
Last month Colorado state legislature passed a bill that requires out-of-state stores to report unpaid sales tax to the state, and to the buyer. Basically, if you buy something from an online retailer, like Amazon.com, you don’t pay sales tax. Instead, you are supposed to pay sales tax on your own to the state. This is called “Use Tax” and has been in place since before the Internet. But most people don’t know about Use Tax and don’t pay it. So when people in Colorado buy something from Amazon, they get away with not paying sales tax.

Why Is It a Problem?
The government of Colorado wants this to stop for several reasons. One is that the state needs money, and the unpaid millions of dollars could help. The other is that they see this as unfair competition to in-state stores. They think people are buying from Amazon instead of from the store in their neighborhood so they can avoid sales tax.

Whose Responsibility Is It?
So the state makes it the buyer’s responsibility to pay the state. This makes sense, since the buyer is in Colorado. The seller isn’t. In fact, if the seller is in Colorado, say with a local “nexus of operations” like a retail store, they already charge sales tax, even when you buy online. So retailers like Target and Apple already charge sales tax. No problem there.
But the new bill also makes it Amazon’s responsibility. Which is strange, since Amazon doesn’t have any operations in Colorado. No stores, no employees, nothing. So Colorado is exerting its power outside of the borders of Colorado.
The Supreme Court already weighed in on this, saying that it is illegal for states to impose sales tax on companies that do not have a nexus in the state.

What Are Affiliates?
So enter “affiliates.” Amazon calls them “Associates.” Basically, anyone who has a Web site, such as a blog, can be an affiliate. All that means is that you can place links for pages on Amazon on your Web site. Instead of getting paid when someone views an ad, or clicks on it, you get paid if someone goes to Amazon from your link and buys something.
So say I have a site about socks. I blog about socks. I review them, I tell people where to find deals, and so on. I can put a link on my site that links to a page on Amazon that has socks for sale. If someone clicks on my ad, they go to the Amazon page with the socks on it. If they buy those socks, I may get a small cut, say 5% of the sale.
If a lot of people come to my site because I am a good sock blogger, then I could potentially earn part or all of my living from writing my sock blog.

Making the Problem Worse
In other states, similar bills have passed that use affiliates as a “nexus of operations.” If some blogger has an affiliate link on their site, it counts just as if Amazon had a real store on that state’s soil.
Amazon believes that the Supreme Court’s decision doesn’t apply to such a lame excuse for a nexus. But in order to protect itself it simple does this: It forbids affiliates in that state.
So North Carolina passed a bill that said affiliates count as a nexus, and therefore Amazon must collect sales tax and send it on to the state. Amazon reacted by simply forbidding affiliates in North Carolina, closing all existing affiliate accounts. No affiliates, no nexus, no sales tax.
The same thing happened in Colorado this week. Amazon closed all affiliate accounts in Colorado.

Wasn’t the Colorado Bill Different?
Yes, it was. Legislators worked with bloggers in the state to remove the idea of affiliates as a nexus from the bill. But in the end Amazon still closed all affiliates in the state. They warned legislators that they would do this if the bill passed.

How Will This Hurt Colorado Small Businesses?
One article I read estimates that more than 3,000 people earned some of their income from the Amazon affiliate program. I’m sure a lot of them earn only a small portion of their income from it. I, myself, stood to make about $2 or $3 thousand from Amazon affiliate links in 2010.
If I am average, then the total revenue lost will be around $7.5 million. That’s income that the state would have collected income tax on. That’s money that Colorado residents would have spent while living in the state.
So right off the bat we’ve got a substantial individual and state revenue decrease. This is the opposite of what the legislators intended, I’m sure. But it is exactly what any Internet-related businessperson could have told them would happen.

Who Is To Blame?
Both the state government and Amazon are to blame here. The state should have known this would happen. Amazon told them it would. Amazon did this in other states. The Colorado government passed a bill they should have known would have an immediate impact on small business and individuals.
The reason the state passed this bill was to get Amazon to inform Colorado customers about the tax they owed, and send that information to the state. But legislators should have known that Amazon was not going to do that. And they surely aren’t going to do it now. So, any state revenue benefit is not going to happen. But the impact to the bloggers of Colorado has already occurred.
Amazon can also be blamed for overreacting here. The Colorado bill doesn’t not say that affiliates are nexus, so Amazon could have gone about business as usual and just refused Colorado’s request for action and information.
?Shouldn’t Government Stand Up to Big Business?
On the one hand, it is great that Colorado wants to stand up to the out-of-state Amazon company. But on the other hand, retaliation from Amazon is directly hurting Colorado citizens.
If this was the case of two big companies in a fight, then may the best one win. But it isn’t. Colorado state government serves the people. They shouldn’t put their hate for Amazon ahead of the well-being of their citizens.
Both Amazon and Colorado are using affiliates as pawns in this game. But Colorado is supposed to be working for the people. It should take the high road here in favor of people, not politics.

How Can This Be Fixed
Simple. Colorado should repeal this law. Amazon has already said they will re-instate the affiliates if this happens.
Other states are willing to put their politics ahead of their people and will take this to the Supreme Count. Once that happens, then all states and Amazon can act together to comply with the decision.
This is a battle that Colorado citizens did not ask for and can only result in casualties, not victories.

Bottom Line

  • Amazon is not a Colorado company. Colorado can’t tell it what to do.
  • The Supreme Court decided that out-of-state companies weren’t responsible for state sales tax.
  • Legislators were warned by Amazon this would happen if they passed this bill.
  • Amazon didn’t have to fire the affiliates, they overreacted.
  • The state won’t get any revenue benefits from this bill since Amazon won’t comply.
  • Colorado will lose income tax because of the loss of revenue brought about by this bill.
  • People living in Colorado will be hurt by this bill.
  • Colorado has a responsibility to its people, not to some political tax fight.
  • Colorado should repeal this law and wait for another Supreme Court decision.
  • March 10, 2010 • Posted in: General • No Comments

    iPhones Apps Made With Flash

    You’d think that someone like me, a Flash game developer and a Mac Enthusiast, would be very disappointed that Flash doesn’t work in the browser on the iPhone. But I’m not. I can see all the problems: touches aren’t mouse movements and the on-screen keyboard isn’t the same as a real keyboard. Most Flash movies on most Web pages would be a disaster on the iPhone, especially games. They’d have to be re-worked to be of any value. Plus, I’ve seen the versions of Flash on other PDA-like devices and they run slow and are battery-killers.
    But from the very start I’ve theorized that a Publish-to-iPhone-app option would be the best way to go. And sure enough, it looks like Adobe is poised to bring us that in Flash CS5 next year.
    Now I’m excited. After all, I’ve got about 50 games that I can easily port to the iPhone now. Some of them won’t make it because of keyboard controls or screen size. But some are just perfect for the iPhone’s touch interface.
    And I can make money from them. iPhone apps, as opposed to iPhone games in Web pages, can be easily monetized through the App store. This will bring a whole new life to some of my old games. Plus, I’m looking forward to making some new games specifically for the iPhone — a new canvas to draw on with new capabilities and restrictions.
    So here’s what I hope the new export-to-iPhone function does. First and foremost, it should export strong, efficient code. I don’t want to have to spend days optimizing code like I did for Flash lite on PDAs, which was 100 times slower than Flash on a PC.
    Second, I want at least some access to the iPhone touch interface. These can map to mouse events, sure, but I don’t want my hands tied with just clicks, like I am with JavaScript in Safari.
    Third, I want access to other parts of the iPhone SDK too — like the accelerometers, GPS, saving data, etc. I can live without them in the first generation of Flash export, but I hope Adobe is at least trying to get these in there.
    Fourth, I want to avoid XCode altogether. Not a big deal, but using XCode to set up a finished program with titles, IDs, icons, etc, is a pain. I’m not hopeful on this, but it would be nice.
    Fifth, I want it to go smoothly. I don’t want Apple flagging Flash-created apps as something different and giving us Flash developers a hard time. I don’t think this will be a problem. After all, I use Cocos2D right now to make iPhone apps, and Apple doesn’t care. I don’t really think Apple will notice the difference since all they get is a binary anyway.
    So the main thing now is to bring it on. I can’t wait for this. I guess I can spend some time adapting some games to a 320×480 or 480×320 size, and eliminating any need for a keyboard. I can probably also convert some old games to pure AS3, since this would speed them up. It may be that AS3 is required for the export anyway. That’s the way I would do it.
    So I’m getting ready and I’m excited. In the meantime I’ve halted all other iPhone game development. No point wasting more time with XCode when I can be doing Flash in just a few months.

    October 22, 2009 • Posted in: General • No Comments