Carat: Monitor what is using your phone’s battery

A group at UC Berkeley has developed an app called Carat that monitors your phones battery usage and then recommends what you can do to improve it. I just downloaded it last night and will report how well it works in a few days. Please note that this is different than battery saver apps which are designed to shut things down – those actually take up more battery.

Website: http://carat.cs.berkeley.edu/

Testing and Publishing your app on iOS vs Android

Well I have now published on both several times and here are my thoughts:

Android: In order to test your app you have a choice of testing it virtually or saving it as an apk. Virtual testing is easy and works pretty well. The downfall is that eclipse requires you to create a virtual device instead of just providing one. While this step only takes a minute to complete, it does take some time to figure out how exactly to do it. My recommendation is to make this process easier for eclipse users. Now publishing the actual apk file is very easy. You first need to buy an Android developer license for $25. Then you publish through the publishing wizard which guides you through creating your apk file. It takes maybe 1 minute to publish. At that point you can put the app on your device or upload it to the Android store. Once submitted to the Android store (Google Play) your app is in the store immediately and ready for people to download.

iOS: Once you have completed your app  you are ready to test it out. In order to test it out you can choose to test it virtually or on your devices. Testing virtually is easy, xcode provides a virtual player and you just click the play button. This part is much easier than Android. However, everything else is significantly more difficult. First, you need a Mac, you cannot publish an app via a PC. Then, in order to test on your device, you must have the develop certificate which cost $99 per year. Once you make the purchase you must log into apple development center and register your device. Once you register your device you need to create a developer certificate and a provisioning development certificate. And you need to give your app an ID. These installations are not easy for the novice user. I spent about an hour setting it up and getting it to work right. Once you are satisfied with your app and want to publish, you need to create a provisioning distribution certificate and install that. The important thing is to make sure all of your certificates align with your app otherwise it wont work. Then from here you publish your app via xcode using the organizer. If there are errors it will not publish. Now it might seem simple to use the organizer however it is not. It took me about 10 hours to figure out to actually use the organizer. Why? It is a new feature on xcode and Apple’s own tutorials tell you to publish via the Application Loader, which is the old way and no longer works with the new version of xcode. So there was no way to know to use the organizer. Thus all resources I could find online, including Apple’s were telling me incorrect information. I was very frustrated with the whole process. It probably took me 10-15 hours to actually take my finished app from my computer to the app store. At that point, your app is not on the app store. Instead Apple has to review and approve of it. It took me 7 days and they rejected my app. I didnt actually understand why as their explanation did not say or let me know if there were an error or not. Apple, just create a publish wizard like eclipse. Why the need to 3-4 certificates to publish the app?

Overall, Android is 100x easier and more user friendly. However, the disadvantage is that anyone can publish anything to their app store which could mean there are more bad apps to sort through. However, good apps might be rejected by Apple (and it has happened) so Apple’s tight control is not an advantage and most ‘tech’ people do not like that control. In my opinion, if you are new to app development, go with Android. If you are doing this with your school, use Android.

Facebook Launches App Store: Major Privacy Concern!!!!!

Well facebook has launched their app store for Android and Apple iOS users. So you can now download apps via their store but there is one issue: Facebook automatically tells me what apps my friends have and recommends apps to me based on their apps. Do they want me to know which apps they have? It tells me specifically who has what app. In my opinion this is kinda like someone looking at my browsing history because it actually is telling me what sites my friends used. For instance, it is telling me who has used match.com. I do not like this and I do NOT know how to stop it. Here is how to manage which apps can interact with facebook but this still doesnt solve the problem (actually it might, I just do not know for sure). If anyone knows how to prevent please let me know.

1. Log in to facebook
2. Go to privacy settings (top right corner for those on a PC)
3. Click ‘edit settings’ on the ads, apps, and websites section
4. On the apps you use section, click edit settings then edit the settings for each app

Facebook please make this easier to change.

Link to facebook app store: http://www.facebook.com/appcenter

App Inventor College Course part of curriculum at the University of San Francisco

This is very cool. USF has created an App Inventor course that is part of their curriculum. It is designed for non-computer science majors and counts towards a math class. This is a great idea because it exposes students to programming logic and lets them create a mobile app.

Check out the article here: http://teach.appinventor.mit.edu/stories/app-inventor-course-university-san-francisco-usf

PhoneGap: Building an app and classroom use

Well I have built my first mobile app using PhoneGap. Here are my thoughts:

Usability: Setting the software up was pretty easy although I did think the PhoneGap tutorials were not very good and had to look elsewhere to get the software installed on both Eclipse and Xcode. However once I was set up, all I needed to do was to drop HTML files into my WWW folder. Additionally, it was not easy to figure out how to publish my apps to the Android/iOS stores but very easy once I did figure it out. I would recommend one be familiar with Eclipse and Xcode before working with PhoneGap. Now onto building an app – very easy. Building an app using HTML was pretty easy. PhoneGap does have the ability to interact with the phone’s internal hardware just like a native app, which is nice. It does require javascript though, so be prepared to program if using PhoneGap.I did have to also modify things in both Eclipse and Xcode in order to get certain things to work, for instance, just adding external links to my app in Xcode required modification. I honestly think PhoneGap needs to work on their tutorials, for many things their software could do, and it would used by many more people. They are limiting themselves with the poor tutorials they have on their site.

Publishing – Publishing on multiple devices was pretty easy. After I had finished my app for Android, it took me maybe 30-45 mins to get it ready for publishing on iOS, which is pretty impressive. Keep in mind though that in order to publish on Apple (or even get your app on your iPad/iPhone) you need to pay the $99 developer fee. On Android, that fee is only $25 which is much more reasonable. Also, Android lets you publish your app without review, Apple needs to review (takes weeks at a minimum) and might actually reject your app.

Education use: I think this would be a very good tool for the classroom but there are a few things that an instructor needs to be ready for. The first thing is setting up this software. It was not that easy to set up. You have to download and install like 5 things for Android and like 5 things for Apple. Not only do you have to download/install but you need to create directories and move files around. While this was pretty easy for myself (and it did take a while), this is a nightmare waiting to happen in the classroom. You will have to walk your students through this process and I would expect errors. This process alone will turn off non technical students who will never use this tool after class due to this set up process. Once all set up though, its HTML, CSS, and Javascript. I do believe your students should thoroughly understand HTML and CSS with intro level javascript knowledge before attempting to use this tool. You at least need to know how to find/modify javascript to really do  anything ‘fun’ with the tool (unless you are just creating static HTML pages). Now, if you can look past all of that (and I probably can for my non programmer/non technical students even though I did sound rather negative in my review), I would recommend to require all students buy an Android develop account for $25 (vs iOS $99 due to cost) and let them each publish their apps to the Android Martketplace (Google Play). I think students would love to see their apps on the app store.

Has Adobe won the mobile war? I think so…

There is so much misinformation out there it is ridiculous. I hear so many rumors from non-developers about mobile development and the funny thing is, most of them have never developed an app. So why has Adobe won? Two software packages – Adobe Air and PhoneGap.

Each of these software packages allows you to create mobile apps on multiple devices. So I can develop one app and it will run on the iPhone, iPad, and Android based devices. Thus I no longer need to waste valuable time developing apps for both iOS and Android when I can develop one that deploys on both.

With Adobe Air, you develop your app in Flash and package it for each device. Wait, isnt there a rumor that Flash doesnt work on iPhone? Yes there is that rumor and it is only partially true. Flash does not run in the iOS browser BUT it will run as a stand alone app. So YES you can develop apps in Flash for Apple and they work very well.

With PhoneGap, also owned by Adobe, you can develop apps via HTML5 and then publish to Android and iOS devices. Again these work very well.

Additionally, with both of these software packages I can actually use hardware features of the phone and use them when not connected to the internet. Something you can do with all mobile apps but not the mobile web. The disadvantage to developing an app over a website is that Apple has to approve it (not a problem with Android). Otherwise Apps are much better than a mobile website.

Why would I use one over the other? Flash apps are designed for more sophisticated apps that require large amounts of data (database), high intensity graphics, lots of screens, animations, etc. PhoneGap apps are better for small simple apps. Both are great for development though. Additionally, Adobe is really starting to integrate phonegap into dreamweaver so I would not be surprised if we see these two software packages merged at some point (maybe CS7?).

I will be using both of these software packages in my courses next year, so if you are interested in learning more about them, please contact me.

Adobe Air – http://www.adobe.com/products/air.html

PhoneGap – http://phonegap.com/

Two of my Android Apps now available in Android Market Place (Play)

Here are two Android Apps I created that are now available on the Google Market Place (Google Play). They are both free and both display surf reports for the states of NJ and NC. I created these apps in Eclipse using Java. They are the first apps I have created using Java. I actually believe it might have been just as much work as using the Google App Inventor. I will now be creating all of my apps via Java from now on and doing some more advanced stuff in the future as I have time.

North Carolina Surf Reports App

New Jersey Surf Reports App

Verizon getting rid of unlimited data for customers who are granfathered in

Verizon is not very customer friendly. First they are now charging you $30 to upgrade your phone and now they are going to get rid of unlimited data plans. I thought competition was supposed to keep prices down yet every cell phone company is increasing prices all the time. I tend to notice the same thing with my trash company. There are five trash companies in my neighborhood and each raises their prices each year.

Here is the article about Verizon: http://www.engadget.com/2012/05/16/verizon-cfo-says-grandfathered-unlimited-plans-on-the-way-out/