Tuesday, February 7, 2012

The Playbook Games

It's been over 75 hours since I registered to be a Blackberry App Vendor and I still don't have an account. Hrmm.

I'm still trying to get the app working like it should (and does on Android). But there are some new problems:

Want to work on some code and test it when you don't have an internet connection? Forget about it. The blackberry signing process fails if you are not connected to the internet. And you will likely have to restart your IDE. Guess I won't work on the plane tonight.

What about google ads? For some reason (and maybe it's just me) they won't show up, but a blank spot is reserved on the screen for the view. Works fine, though, in the google tablet simulator (Android 3.1) and on handsets. Actually works much better- no flickering, weird display problems, etc.

I tried to run a video player app (it's been downloaded thousands of times and runs well on many platforms. I know since I wrote it). It complains that there is no Internet connection, while it successfully loads youtube's website. But videos won't play, so I can't port that app or add video to the one I was trying to port.

How about adb connectivity? I have not seen it at all. This means no logs. Here is some adb output:

C:\Users\erich>adb logcat
adb server is out of date. killing...
* daemon started successfully *
- waiting for device -
error: protocol fault (no status)
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
- waiting for device -
error: protocol fault (no status)

C:\Users\erich>adb connect
adb server is out of date. killing...
* daemon started successfully *
** daemon still not runningerror: cannot connect to daemon

C:\Users\erich>adb devices
adb server is out of date. killing...
* daemon started successfully *
List of devices attached


and so on. I tried lots of things and many searches and found nothing. I even searched the Blackberry Android Micro-site as they call it for 'adb' and got this:

Your search - adb - did not match any documents.
So how do you develop and troubleshoot an app? The process is this:
  1. write your app for Android (the first-class citizen)
  2. if the app is successful, port to Blackberry and hope it works (an after-thought)
  3. if it doesn't work, don't waste your time trying to get it running right. The tools are insufficient.

It reminds me of trying to run Java on a Windows PocketPC over 10 years ago.

Saturday, February 4, 2012

RIM Offers Free PlayBook to Piss-Off Android Developers

See the tweet that started it all: https://twitter.com/#!/asaunders/statuses/165097598624075777

Sounds great, huh? Here's my ordeal so far.

Tried to sign up using iPhone- fail
Tried again from desktop- where's my email confirmation registration? who knows...
3 separate legal agreements to go through if trying to sell apps- really cumbersome process.

Tried to get blackberry tablet simulator- web link text was correct on the page but wrong in the html code. I figured it out. Just an extra challenge.

Crazy how much stuff to install- vmplayer, vm for tablet simulator, extra plugins for eclipse, certs to download, etc

Then you have to configure the plugin for eclipse- requires new process and legal agreements to get RIM software signing certificates (which come within 2 hours! oh boy!) Just another roadblock. Note to RIM: on android, I can make my own certs.

So I get my certs, try them out, and get another error. Not yet registered to create debug tokens. How many registrations do I need, seriously? Another note to RIM: easier to sign up for Android.

Got another email about cert registration. It says it succeeded and "the client has 2147483647 code signing request(s) left." Wow! This number looked familiar. Wikipedia says:
The number 2,147,483,647 (two billion one hundred forty-seven million four hundred eighty-three thousand six hundred forty-seven) is the eighth Mersenne prime, equal to 231 − 1
I'm guessing this is an error.

You can't install any apps without the cert. Need debug tokens, too, which also require the cert and to be registered. 3rd note to RIM: ever hear of self-signed certificates?

Almost an hour into the process. Still no verification from RIM I've even signed up as a developer!

3 hours after registering I finally get an email from requesting proof of identity. And it says it'll be another 24-48 hours (I'm guessing Sunday won't count) until the process is over. Well, no development for me anytime soon. I doubt I'll even get anything done now before the app submission window closes, since this is the last (and only weekend) during the Playbook giveaway promotion.

Does anyone wonder why no one wants to write apps for Blackberry devices? Such a horrible process just to get started. Something is clearly wrong with Canadian laws and/or RIM. No surprise there.

After over 3 hours of trying I have:
  • extra software installed, but none will work since my registration is not complete
  • a tablet simulator, but no way to install software on it
  • 24-48 hours more to wait

RIM does not allow you to use the tools to simply load unsigned applications on the simulator. This is absurd. I can't even try to convert my apps to their format. But I did change my icon from 96x96 to 86x86.

Friday, July 15, 2011

Profiles for Netflix streaming content control? NOT

I can't believe how bad Netflix is at managing who can watch what using instant streaming. You would think they would address some fundamental problems before dumping DVD mailings and trying to go pure streaming. I have 3 little kids and to protect them from the garbage (including hard-core porn) on Netflix I would love to be able to give them their own profile with content restrictions. Netflix allows profiles, but not for streaming. That is idiotic.

Between computers, a 3DS, the Wii, my android phone, and a roku how do you keep your kids from viewing the wrong thing, especially on a portable gadget like a 3DS or a phone? You can't be everywhere, so deactivation of the device is the only choice Netflix offers today, and they even made that hard.

What is needed
Profiles must support instant streaming with parental controls
Profiles must be able to be linked to a device
Profiles must list the devices that are linked
You must be able to individually manage device deactivation (it is all or nothing)
Profiles must be able to be deleted (duh!)

Other gripes
Why do movies already in my queue show up in my search results?
Why can't you save a movie category (ie, Cerebral Comedies)? Every now and then they get it right, but you never see the category again!
Why are genres so few, yet they have all the other categories you can't use in a search?
Why are searches limited to 10 results on a Roku?
Why can't viewing history be deleted?
And finally, why does Toy Story 3 show up in 90% of the searches I do? (Disney payola!)

Netflix is headed for trouble if they don't get in front of these problems.

Wednesday, May 18, 2011

Sony's Security Problems

We now know, thanks to Howard Stringer, no network is secure. Thanks for the tip. Here's what I can't understand about Sony and its subscription services. Once I pay for the service, I can't delete my credit card from their system (except maybe by cancelling service altogether). It stays locked in your Station Account, ready to be hacked.

Given the inability of Sony to secure my personal data, I would prefer the option of paying with my credit card as I need to, but never storing it with them. Why doesn't Sony allow this? It makes it easier for them to collect payments. But if you don't have the data, you can't lose it.

Please, Sony, let me remove my credit card info from your 'safe' hands.

Saturday, March 12, 2011

Nintendo's next gen Wii-sh list

The Wii is a lot of fun, but it needs to be much more to sell a next gen product. Total home entertainment is the goal. Here's how.

Faster processor. Duh.
Wireless N. Streaming HDTV, anyone?
1080p graphics for gaming and Internet browser
Better internet video support- no Hulu, no Espn. What's up with that?
Need a wireless keyboard/mouse accessory (preferably from nintendo)
Platform should essentially be a google tv
Disc player should play movies (DVD, blu-ray)
More channels- where's music? Pictures? Facebook? You get the idea.
News channel is weak- suffers from very poor editorializing. Top 'tech' story (out of 2) was the Pope now has a Facebook account. That is not tech, that is pop fluff.
News channel uses NASA for map images, while Google Earth is the standard. NASA graphics suck.
The news channel cat must die, too. What kind of hold over from alpha code is that, anyway?
You must be able to print an email photos/pictures from the Wii. I have a Udraw. Makes great pictures no one will ever see unless I save to sd card and move it to a computer.
Other channels, like weather, need an overhaul, too. Better weather reports, too. I don't even trust it.
Fan inlet clogs up too much causing overheating and freeze of the Wii. Should be located higher on the case.
Decent games for the motion plus would be nice.

Wow. I think this just means I need a ps3 with better games for kids.

So what will nintendo really do? Let's get crazy.

Play your mii in everything- that would be funny
Inject your face into the mii creator or ANY game
Support face and voice recognition
Really good body movement sensing- must support a karate style game.
Open system for developers to work on. No more home brew required.
mmorpg support
Introduce creativity enhancing software with special controllers
Augmented reality games
Built-in video conferencing
in game audio chat for mmorpg
real world mii toy that looks like you and integrates with the Wii (adventures with Mii games)
music creation vice dumbed down music copying/fake play back (through Wii adapter to synth module)
Wii publishing to social networks

Friday, March 4, 2011

Maven Archetype Usage with SVN

I've been creating Maven2 archetypes for use with projects involving Spring3 and JBoss AS 5.1. They are not trivial to configure, so creating a reusable archetype improves developer efficiency. The archetypes are hosted on google code. Go here to get the URL needed for accessing them: https://code.google.com/p/clear-maven-archetypes/source/checkout (no, I haven't added to a regular maven repository nor do I intend to).

An archetype is just another maven project so installing a new one and using it is simple. The name of the archetype for this example is "shellJBoss-archetype".

[This is all geared to Eclipse, so you need m2eclipse installed and subclipse for working with SVN]

You need to checkout "shellJBoss-archetype" from the trunk. You will need to add a new location to your repositories; namely,

Once you have done this, explore the new trunk and you will see the projects below. You need to right-click "shellJBoss-archetype" and choose "checkout..."

This creates a new Eclipse project for you called"shellJBoss-archetype". Switch to a Java development perspective in Eclipse. Now you need to add the new archetype to your local repository. Right-click the new project and choose "Run As". Choose "Maven Install" and that will do it for you.

You will notice in the console output this key line just before Build Success:

[INFO] --- maven-archetype-plugin:2.0:update-local-catalog (default-update-local-catalog) @ shellJBoss-archetype ---

The "shellJBoss-archetype" is now usable by the Maven new project wizard. Choose File:New:Other:Maven Project. As you work through the wizard you will get to the archetype selection screen. Choose the "Default Local" catalog and you will see the new archetype.

Critical Step
Maven does some stupid text find/replace operations that can really mess a project up. You need to set version equal to 1.0 as shown below when using the wizard. If you don't, your XML files will all be invalid.

After you have made the project, you can go into the POM.xml file and change the version to whatever you like. Also note that the archetype will name your new project and the resulting deployment *.war file using the artifactId you specify in the wizard. You can also change this in POM.xml if you like.

After you create your project, take a look and see what is in it. There are sample files showing a simple webflow with spring security and some tests written using TestNG. In fact, the project is ready to deploy to JBoss AS 5.1 (using the maven command "jboss:hard-deploy").

Selecting "Maven Build..." lets you type in whatever maven goal (command) you want. Assuming a default JBoss install, go to this url (but using your artifactId) to see the project in action:


Tuesday, February 15, 2011

NokiSoft (pronounced NookieSoft, I believe)

Microsoft has finally figured out what to do with all of its money- give billions to a competitor to quit using their mobile OS, and use Windows 7 Mobile instead. Hey, if you can't get market share by making a superior product I guess buying it is the next best thing.

I think there is a problem, though. I (perhaps naively) believe the best product(s) should get the market share. I believe this is a basic tenet of capitalism and I also think it will win out in this situation in a surprising fashion. By eliminating Nokia's Mobile OS (Symbian), a vacuum is being created that Microsoft presumes to fill with Nokia devices running Windows 7 Mobile. They believe these devices will be an equal competitor to Google Android and Apple iOS.

I don't think so. Microsoft has more or less failed for a decade and squandered any opportunity they had at taking the lead at making good mobile devices people will buy. (They do have the cutest little fuzzy creatures in their phone commercials, but three year olds don't buy phones). The only thing their money is going to do is make it easier for Google and Apple to increase market share- exactly the opposite of what they are hoping for. Nokia will lose market share, but at least they are getting paid for it. Microsoft will get nothing.

As for what they should really do, it has been obvious for years that the winning divisions at Microsoft carry the loosing ones. It is time to split into 4 or 5 separate companies. Some will fail, as they should, and some will succeed. More capitalism.