New and Improved Isn’t Always Better

Can you spot the problem with the title of this post? “New and Improved” is just “Improved” as the “New” is redundant. So “Improved Isn’t Always Better” is the real statement. But the definition of improved is “better.” So improved is, in fact, always better.

But nonetheless this exact statement was one made by a player of my jigsaw puzzle game, which I just converted from Flash to HTML5. In doing the conversion, I made sure that it as, in fact, improved. Included every feature of the old game, added new features and options, improved the quality of the images, and by simply converting to HTML5 I made the game playable to millions more people who do no have Flash installed.

What this person really meant to say, was “I do not like change.” The new game is different than the old one. There’s a subtle difference in the shape of the pieces, for instance. They have been playing the same game for years and now suddenly it seems unfamiliar to them.

It is a valid feeling. And very human. I have dealt with as a developer all of my professional life. Make a change to software, and even if it is clearly an improvement in every measurable way, there are people who will complain because they don’t want change.

But things need to change. It is very obvious here, with Flash being more and more hated and approaching its official retirement, that I need to move the game to HTML5. As a mind experiment I think of this person in 4 years suddenly finding that the game doesn’t work for them anyway. “Well, you didn’t want me to change it, so I didn’t. And now Flash is gone and you can’t play the game.” Or, maybe they read a blogger who spews hate for Flash and decide to uninstall it to find themselves in the same situation, but sooner.

So as a developer, I’m the one who has to bend. I can’t ask the user to do that. So I explain the changes, explain why they are necessary, and leave it at that. If I can’t convince the user that the new situation is better, then I have to let them go. It know it will be better for a majority of the current users, and all of the future users. So I press on.

Posted on August 4, 2017 at 11:28 am by site admin · Permalink · Leave a comment
In: General

What Flash Means To Me

Many people are cheering the recent news that Adobe is discontinuing the Flash browser plug-in by 2020. People associate Flash with annoying web ads, dangerous security threats, overly animated sites, and pages that don’t load on mobile devices. They have many reasons to hate Flash.

But let me tell you what Flash means to me. It started back in 1995 when I began to use Shockwave (Flash’s older brother) to create web-based games and other content. Up to that point, if you wanted to create your own software and earn a living doing so, you needed to find a way to distribute it. Without a publisher and without getting into retail shops, your best bet was a meager shareware existence, which only worked for a handful of developers.
But once you could use browser plug-ins to put software on web pages, then you had instant access to a worldwide market of users.

I wanted to be a game developer. I wanted to make my own games, not work at a large studio. Shockwave, and then Flash, gave me the ability to create my games, put them up on my own sites, and then people could play them. It opened up a whole world to me. It gave me a career.

By 2000 I had switched from using the aging Director/Shockwave development environment to the new and growing Flash environment. This lighter plug-in eclipsed Shockwave and made my games available to even more players. Companies from all over the world would come to me and hire me to build Flash games. Sometimes it would be for entertainment, and sometimes it would be for an educational project. I had a team of about 10 working on these projects. I wrote three books on this subject that helped thousands of other developers create Flash games.

Our Flash games were good clean fun. They were the reason you were at a web page, not the annoying ads at the top. They provided countless hours of joy for people, and many of these games are still being played at my sites today.

Flash is very powerful. It is basically an entire development environment inside a rectangle on a web page. The more power something has, the more potential for being exploited. If Flash was just a video playback engine, then it probably could have been made very secure. But it would not have been a tool I could have used, and may not have made any impact on the web at all. In the end, Flash probably wasn’t as insecure as people thought, as long as people kept it updated. I’m sure Windows was a far greater attack vector over the years than Flash.

Another problem was that websites would use Flash when it wasn’t necessary. If all you wanted was one piece of information from a website, then having to go through a longwinded Flash animation at the start was annoying. But that’s a problem caused by the designer and developer, not Flash.

If you never played web-based games, then maybe you only saw Flash as an annoyance. If you bike everywhere, cars are just pollution-generating road hazards, right? But don’t discount the millions of people that played, and continue to play Flash games today. And don’t discount people like me that saw Flash as a way to create great content and earn a living.

Posted on July 26, 2017 at 10:48 am by site admin · Permalink · One Comment
In: General

There’s a Lot You Can Learn From 404s

So I made some changes to one of my WordPress sites recently that updated some of the URLs for some very old posts on the site. Nothing would have broken on the site itself, but if someone had posted a link directly to a post a long time ago, it could now lead to a 404 error. In fact, any reasonably-aged site could have broken links like this as things change over time.

So I thought about tracking the 404 errors with a simple script. Sure I could have accessed the server’s logs to do this. But I thought it would be easier to add some code to the 404.php page on the site and have a simple log of just the 404 errors, with just the information I needed.

Here’s the PHP code:

< ?
$url = $_SERVER["REQUEST_URI"];

$agent = "  ";
$ua = $_SERVER['HTTP_USER_AGENT'];
if (strpos($ua,"Googlebot") !== FALSE) $agent = "go";
if (strpos($ua,"bingbot") !== FALSE) $agent = "bi";
if (strpos($ua,"DuckDuckBot") !== FALSE) $agent = "du";
if (strpos($ua,"YandexBot") !== FALSE) $agent = "yb";
if (strpos($ua,"Yahoo! Slurp") !== FALSE) $agent = "ya";
if (strpos($ua,"Baiduspider") !== FALSE) $agent = "ba";
if (strpos($ua,"Sogou") !== FALSE) $agent = "so";

if ($f = fopen(ABSPATH."404log.txt","a+")) {
	fwrite($f,date("ymd H:i:s")."\t". $agent."\t". $url."\n");
	fclose($f);
}
?>

So the bulk of the code looks at the user agent and tries to tag the biggest spiders out there. I wanted to know if any of these were still looking for old links. Having a simple “go” for Google and “ya” for Yahoo was a lot easier to read than the whole big user agent string.

So then I looked at this file after a few hours. I could see that some renamed URLs were going to be a problem, so I added rewrites for those in the .htaccess file. But I also uncovered some interesting things.

First, I noticed calls for an “apple-app-site-association” file, which I was missing. Turns out this is used when an app accesses URLs on a server. I have an app that does this, but for some reason I never realized that this special file would make things work more smoothly. Here’s all the info you need about it: Support Universal Links.

Also, there were hits for apple-touch-icon, which you can read about here. Look at the section entitled “Look ma, no HTML!” to see how to make these without adding anything to your web pages. The important thing to note is that anyone can turn any web page into a bookmark that appears on the home screen of an iPhone or iPad. You don’t have to have any app, developer relationship with Apple or anything. And a home screen bookmark will look for and try to use a variety of apple-touch-icon files.

I also noticed lots and lots of hackers/bots trying to do things they shouldn’t. They are trying to directly access things inside of plug-ins that I don’t have. I can imagine that they are trying to gain access via exploits. I’m learning a lot about what they are trying to do by just looking at what they are trying to access.

On a happier note, I saw a few 404 errors for things in a “.well-known” directory. That led me to learn about about Well-Known Uniform Resource Identifiers.

It was definitely worth a look to see which URLs were creating 404 errors. I’m continuing to gather them in a log to see what else I may find.

Posted on June 22, 2017 at 6:39 pm by site admin · Permalink · Leave a comment
In: General

Everything’s Coming Up HTML5

Been working this past week on converting my second site this year from Flash to HTML5. That’s HTML5 as in really just JavaScript. I mean there is CSS and HTML involved, and even some server-side stuff. But it is really about JavaScript.

It is just too hard to run Flash these days. Most browsers block it and have you enable it on a per-side basis. Most online forums are full of hate towards it. I still love Flash — I mean Adobe Animate — and use it for iOS apps. But for web apps, I guess it is all about HTML5 now.

So this second site is Just Jigsaw Puzzles which has some challenges. The site earlier this year, Just Mah Jongg Solitaire had simple rectangular images that didn’t really move and could be loaded directly from image files. With jigsaws I had to take the image and cut it into pieces using the Canvas. Lots of bezier curves and experimentation. But I got it to work and I am amazed at how fast the Canvas is. I hope to have the new version in beta in a few days.

My hope is that the conversion to HTML5 gives these sites new life. I have a feeling that Flash has been driving away users and muting search engine results.

But I also know that people hate change. The first week of the release of my Mah Jongg HTML5 version was just a constant stream of angry email from people who “didn’t like” the new version. This was despite the fact I tried to match the Flash version feature-for-feature and add some new stuff and improvements everywhere I could. People just don’t like change. It is also funny about how people complain about free stuff.

It is interesting that I surveyed the current users of Just Jigsaw Puzzles and found that when I asked “What do you think of Flash,” 64% replied “I don’t know what Flash is.” The audience skews older, with 94% being 60 or older. Most likely a lot of retired people who don’t necessarily care what the technology is behind the game. They just want to play. That’s how it should be. Oh, and 13% responded “I like Flash,” 20% “I don’t care” and only 3% said they avoid Flash sites. Contrast that with the hatred spewed in online forums.

Posted on June 16, 2017 at 11:50 am by site admin · Permalink · Leave a comment
In: General

Introducing AskAny.com


For the last 20 years I have created web-based games, produced video podcasts and tutorials, written computer books, and developed mobile apps. But I hope my next project overshadows all of that and becomes my legacy.
The Internet has allowed us to connect with each other in many ways. There’s the one-to-one of email and messaging and the one-to-many of web publishing and social networking.
Another way to connect is through question-and-answer sites. Some people use their own web sites to answer questions. Discussion forums and social networks provide a make-shift way to ask an individual questions. There are also sites that focus on one question at a time, allowing multiple people to chime in with answers.
My new site is AskAny.com. The idea is simple: you introduce yourself and some aspect of your life. Maybe it is your job (I am a firefighter), maybe it is your hobby (I collect comic books), perhaps something you have experienced (I was at the March on Washington), or some other aspect of yourself (I run marathons with a prosthetic leg).
Others visit the page you created and can ask you questions. You then answer the questions and spread knowledge and understanding. AskAny.com is a way for people to connect and learn about others.
I am making two assumptions in creating AskAny.com. But I think they are pretty safe assumptions.
The first is that people like to talk about themselves and things that interest them.
This could be for promotional purposes, such as plugging their new blog, website or startup. This could also be because a person feels it is important to spread information about a situation or cause, such as surviving cancer or wildlife conservation. Or it could simply be because someone is passionate about something, such as playing music or following a sports team.
The second assumption is that people are curious about others and the world around them. I hope that they see these pages and want to ask questions.
On a page titled “I am a firefighter” I want people to ask things like: “What was your most dangerous rescue?” or “How do I become a firefighter” or “Do you have a dalmation at your fire station?”
So here’s more about the site. First you create an account and then can create one or multiple pages if you wish. For instance, you can have one about your job and also one about your hobby.
If you have something to promote, then promote it! Bloggers are often told to promote their sites by guest blogging or posting to forums. But the first is difficult as popular blogs are innundated with requests for guest posts, and the second feels spammy. I encourage bloggers to use AskAny.com to promote themselves. If you have a parenting blog, then create a page “I am a parenting expert” at AskAny.com and include a link to your blog. I’ve even provided a space for a website link and Twitter handle at the top of every page.
Every page at AskAny.com has a unique URL. So http://askany.com/creator/ is one of my pages. No one else can have the page URL “creator.” So if a name is important to you, then you’ll want to create that page now. And use it, of course, as inactive pages will be recycled.
Another thing about your pages is that you have much more control than you do with discussion forum sites. If someone asks you an innapropriate question, you can simply delete it.
I want pages to live long lives, or even forever. So instead of answering questions for an hour or a day, the idea is you can answer a question here and there for days, weeks or even years.
There is also a voting system. So pages, questions, answers and comments can be “liked.” Pages with a lot of activity will appear on the front page of the site.
Feel free to give AskAny.com a try right now. The site is still in beta, but I’ve left it open to the public to allow my friends to use it during development. Use the contact link at the bottom of the site to let me know what you think.

Posted on November 17, 2015 at 10:54 am by site admin · Permalink · 2 Comments
In: General