I’m writing a couple tutorials on how to build your first app, starting with the typical Hello World example. I’ll then show how to take that code and build something a little more useful including a system clock and a stopwatch timer. It will be a total of three articles.
I had the opportunity to give my advice on mobile apps and privacy as a panelist for the 2012 State of the Mobile Net Advisory Committee. If you watch the video you will notice not everyone is in agreement with who should be responsible for your privacy–The App Developer, The Platform (iOS, Android, etc), or The End-User? I certainly have my opinions as both a developer and a consumer of hundred of apps. Click the image to watch the video:
Although ultimately it is up to the developer to protect your privacy and do no evil, I argued that the platforms are in the best position to protect your information. Apple iOS guards your location and prompts you when an application tries to access it. This works well and you have the ability to deny the app access. This kind of protection could be provided to other areas such as your address book and calendar events which are currently wide open for apps to abuse. Imagine downloading a flashlight app, only to have your entire address book uploaded to Spammers-R-Us.
The Android platform gives you a list of permissions an application requires prior to installation. I like this but as I discuss in the video it has caused issues in my own apps. I’m hoping a mix of both real time and installation time permissions find it’s way into both platforms going forward. I feel when a technical solution exists to a problem, and I’m claiming it does, then that is the best approach–Not government regulation and certainly not 100 page privacy policies that nobody reads.
We discussed issues with apps like Path which uploaded your address book without first getting your permission (It does now). The Girls Around Me App was also a major focus and although we all think it’s creepy, I’m the only one who made the point of what’s wrong with displaying publicly available information? In this case, girls were not aware their location was being put out into the public by Foursquare. That’s a problem with the social network and not with an application that just displays what is already online. Education is key here.
Privacy has become a huge issue with mobile apps and will continue to be. I’m looking forward to future versions of iOS and Android which will hopefully provide even better controls. If we just leave it up to application developers to implement privacy controls then we won’t have a consistent standardized method to safeguard our privacy. I want this across all of my applications. What do you think?
Tap, Move, Shake: Turning Your Game Ideas into iPhone & iPad Apps
My new book Tap, Move, Shake is now available online and in stores. Just click the Books link at the top of the page to see how you can pickup a copy. And if you live in the Washington, D.C. area please join me at the MoDevDC book signing on January 11th. I hope to see you there!
Update: All the book resources and source code has been published. This includes the math quiz, paddles (Pong game), Air Hockey, and Air Hockey with Computer AI. Please contact me if you have any questions.
It always gets busy this time of year but I wanted to mention a few additions to my site. The first is I have updated the book section with some downloadable content. I also added a code sample that shows how to draw circles around every touch point on an iOS screen. This was used in the book to investigate issues with head-to-head play. In addition, I added a podcast player for the Tech 411 Show which allows you to listen to the latest. Hope everyone enjoys the coming holidays. Cheers, Todd
I received a couple e-mails asking to explain my “horrible experience” with developing for Windows Phone 7. This is in response to my quote in a CNN story reported by Mark Milian. The horrible experience wasn’t in the development of the application for WP7, but it was in the publishing of the application to App Hub. Your account goes through a verification process before you are allowed to publish apps to the store and although my account was verified it never was enabled. Nobody at Microsoft could figure out why, but after a couple months of tech support e-mails and phone calls someone finally told me it was a bug on their end that couldn’t be fixed. The only option I had was to create a brand new developer account under a slightly different name.
The app wasn’t able to be released on launch day by a couple months. There were numerous copycat apps that even stole our screenshots (from our iPhone app) and when we finally got everything resolved there wasn’t enough sales to have made the process worth it or to continue active development. I believe the poor performance in sales for the platform is due to having a smaller customer base than iOS and Android. That makes sense doesn’t it? I personally don’t know anyone that even owns a Windows Phone 7 besides myself and Microsoft gave that to me to write the app. I’ve also seen poor sales from webOS and Nokia even when the app rankings were good.
In terms of the developer experience, the WP7 platform is good. In fact, I absolutely love Microsoft Visual Studio and the C# language. I’m hoping the recent Nokia deal might make the platform a contender with iOS and Android by bringing in more handsets and customers but only time will tell.
Patent trolls have been all over the press lately with companies like Lodsys suing Rovio Mobile, the maker of Angry Birds. They also have been going after small iOS and Android developers too. They are claiming they own the rights to in-app-purchase, upgrade buttons, and even links to the App Store. It kind of feels like a new form of the Mafia.
There has been a lot of advice floating around out on the Internet. Patrick Igoe, who is a patent attorney, says settling with the trolls is a bad idea. He has provided a lot of technical analysis on the patent claim charts and is having a hard time understanding how developers could be in violation. On the other side of the spectrum is Florian Mueller who is telling developers that they should just settle because of the costs involved. I contacted Apple Legal to see what they thought and received a one-liner saying “You may wish to consult the advice of an attorney as we cannot provide you with any legal advice on Lodsys’ patent infringement claim.”
It’s sad that the App industry that I truly have enjoyed being a part of for the last 3 years might actually be coming to an end. Independent developers won’t be able to afford legal representation, especially for a patent litigation case. I recently learned at the MoDevDC meetup group that an average patent litigation defense costs around 2.5 million dollars. It’s just not possible to fight a troll that has deep pockets. If we just roll over and pay the troll to go away, there is no guarantee that others won’t come knocking. There doesn’t seem to be an easy answer.
I was once proud to have my name listed as the inventor on a series of software inventions. I no longer feel this way after seeing how vague patents are awarded and then misused. Patents are supposed to be non-obvious, but all of the software patents I have read, including my own, seem pretty obvious to me. I would be the first person to sign up to have all software patents invalidated. My blood boiled when I recently listened to When Patents Attack! by This American Life. I suggest you give it a listen. I can only hope that one day patent reform can fix our patent system and help bring back innovation.
I’m now doing a weekly iTunes podcast called Tech 411 Show. Oscar Santana and I use to do this show on CBS Radio 106.7 FM (WJFK) out of Washington, D.C. We teamed up with Mike O’Meara’s network (MORE Broadcasting) and will be pushing out a 30 minute show every week on iTunes.
After doing only three shows, Apple decided to feature us on the main podcast page! We immediately shot up into the Top 10 for Technology podcasts. We even hit the #1 spot a couple times which was very exciting! I’ve always been a huge fan of Leo Laporte, so seeing our show next to his was a real treat. Check out this screenshot of iTunes:
I just wanted to spread the word and let everyone know about the show. Please subscribe on iTunes so you can listen to our show every week. I do my best to recap the best in tech news and we try to make the topics easy to understand and even entertaining. That’s the real goal, learn a few things about tech while being entertained at the same time. You can find out more at our Tech 411 website and follow the show on twitter @tech411show. Thanks and please let me know what you think of the show!
Do you ever want to live in a world in which your coffee maker preferences persist in the cloud so you can wake up anywhere in the world and enjoy your favorite cup of java? At one time I thought the company that would bring it to me was AT&T, but today I found out it was Google. (That reference is from 1993 TV commercials with AT&T and Tom Selleck, as shown below)
The Google IO keynote speech given today showed us where Google wants to take the Android platform. And that is… everywhere.
We already knew that they wanted it to run your smartphone, tablet, and television. But now they want to control your house and all your appliances. Home automation has been around forever and I’ve been using smarthome devices for years now. I only use it to turn off lights when I’m about to go to sleep. I know I can do a lot more than that but that is what I’ve found it most convenient to control–I’m tired and the lights need to be turned off.
Google gave me the impression that they weren’t just thinking about lights, although their demonstration did focus on light bulbs that you just screw in that could be controlled easily. What I found interesting is they demoed an exercise machine that connects to your phone and provides an interactive game to help you exercise. The game was pretty boring, but it illustrates something more important. They want your Android phone to be command central for everything. I can’t argue with that as I’m a big fan of simplification. I currently have 3 things that are always in my pocket–Car keys, wallet, and phone. If I could own a smartphone that can control all my devices, pay for anything, and even start my car then my life just got simpler. One device to control them all.
I reported the awesomeness of Arduino in a previous post and when Google announced their open accessory development kit that integrates with Arduino, I could only think of one thing–Brilliant. You can use your Android device to control anything and everything. And if you wanted to control something that wasn’t supported by the device, then then you could just build it yourself. The fact that they are using Arduino means that building hardware would be inexpensive. In addition to that, Arduino has a thriving open source community which could potentially build controllers for everything. This might just turn into an App Store of hardware accessories. Allowing developers build on top of a platform without having to pay licensing fees only means the platform could really grow fast. It will be a platform that people will want to have.
I think we can all agree that Google is great at pushing technology forward and worrying about the consequences later. I really like everything I heard today, and only hope that their Do No Evil motto doesn’t one day turn into Dr. Evil. I really don’t want an evil corporation taking control of my coffee maker.
I have been troubleshooting WordPress today as I have noticed a couple issues:
1. On my first Hello World blog I noticed when using an apostrophe it had a strange behavior. It keeps adding additional apostrophes every time I save. So if I wrote I’m, it would change it into I”m. If I saved the blog again it would change to I””m.
2. Downloading and upgrading plugins would fail with “Could not create Temporary file.”
It turns out that problem #1 is not a WordPress issue but a PHP setting issue. I found this site which explains how to disable Magic Quotes. Just had to add “php_flag magic_quotes_gpc off” to my .htaccess file and no more issues.
The solution to Problem #2 was not as nice. Tried numerous things from the support thread but in the end the only thing that works was changing the permissions for the wp-content folder to 777, perform the updates, and then revert the permissions back to 755. Not ideal but I suppose I won’t be updating and download plugins that often.
I was able to easily add the Twitter integration to pull from @toddmoore using the “Wickett Twitter Widget” Plugin. It was so simple that I highly recommended it. My previous WordPress blog suffered from a lot of SPAM in the comments so I also enabled the Akismet plugin to manage it.
I think WordPress and the various plugins are great.