AkbarAhmed.com

Engineering Leadership

How does the Tasker help me?
Tasker allows you to automate Android. Essentially, you use Tasker to automate a series of tasks based on some event such as turning on GPS when you plus your phone into your car’s docking station. It helps you by removing the need to remember to change how Android is configured as you move throughout your day.
Setup Steps
  • Touch Market.
  • Press Search.
  • Enter Tasker in the search box, then touch the search icon.
  • Touch Tasker.
  • Touch Buy.
  • Touch OK.
  • Select your payment option, then touch Buy now: UK 3.99.
  • Wait while Tasker is downloaded.
  • Touch Tasker to open the app.
  • Touch OK.
  • Congrats, you can now create new actions using Tasker on Android.

Learn More

You can learn more about Tasker on the apps home page at http://tasker.dinglisch.net.

How does the Quick Profiles help me?
Profiles are nothing more than a collection of settings, such screen brightness, WiFi on, GPS off, ringer off, and so on. Quick Profiles allows you to create profiles and easily switch between them. When you walk into a meeting you can quickly set the phone to silent mode with GPS off (to save battery) by selecting a Meeting profile using Quick Profiles.
Setup Steps
  • Touch Market.
  • Press Search.
  • Enter quick profiles in the search box, then touch the search icon.
  • Touch Quick Profiles.
  • Touch Install.
  • Touch OK.
  • Wait while Quick Profiles is downloaded.
  • Touch Quick Profiles to open the app.
  • Touch Close.
  • Congrats, you can now create new profiles using Quick Profiles on Android.

 

Quick Profiles allows you to manually set and change simple profiles.  Later, I’ll show you how to setup advanced profiles based on triggers, timers, locations and other automated updates using Tasker.

How does the Barcode Scanner help me?
Links to Android apps are often displayed as QR codes, which are really just bar codes. Often, the quickest way to download an Android app is to scan it’s QR code. These QR codes are often displayed on a web page that can be scanned using your Android phone.
Other than scanning QR codes, Barcode Scanner can be used to scan bar codes at a store to quickly bring up product reviews and prices.
Setup Steps
  • Touch Market.
  • Press Search.
  • Enter barcode scanner in the search box, then touch the search icon.
  • Touch Barcode Scanner.
  • Touch Install.
  • Wait while Barcode Scanner is downloaded.
  • Touch Barcode Scanner to open the app.
  • Touch Done.
  • Congrats, you can now scan bar codes using Barcode Scanner on Android.

Setup Steps

    • Touch Market.
    • Press Search.
    • Enter wordpress in the search box, then touch the search icon.
    • Touch WordPress.
    • Touch Install.
    • Touch OK.
    • Wait while WordPress is downloaded.
    • Touch WordPress to open the app.
    • Touch Accept.
    • Assuming that you already have a WordPress blog, touch Add blog hosted at WordPress.com.
    • Enter your WordPress username and password.
    • Touch Save.
    • Touch your blog.
    • Congrats, you can now view and edit your WordPress blog using Android.

      Notes:

      How does the Swype keyboard help me?
      Swype is a new keyboard technology that allows you to save time when typing emails, entering contact information or while  you’re performing any other task on your Android phone that requires you to type text.
      In brief, Swype Inc. has created a new keyboard technology that allows you to drag your finger across the keyboard instead of pressing one key at a time.
      You should spend 5 minutes taking the Swype tutorial as soon as the software is installed. The investment up front is well worth the time.
      Prerequisites
      The following are setup steps that you must complete prior to
      • Follow the instructions to Allow the installation of non-Android Market apps.
      Setup Steps
      • On your desktop/laptop computer, open a web browser to http://www.swypeinc.com/
      • Follow the links to join the Swype Beta for Android.
      • Click Register (https://beta.swype.com/android/create/).
      • Fill-in the registration form, then click Submit.
      • Next, check your email for a link to activate your account.
      • Finally, open your email on your Android phone and look for an email from Swype Inc. that contains a link to download the Swype Keyboard. The download will start in the background.
      • Once the download has completed, press the Menu button, touch More, touch Downloads, touch Swype-Installer.apk.
      • Touch Install.
      • Touch Open.
      • Touch Login.
      • Enter your beta username and password, then touch Login.
      • Touch Swype Beta Full (10M).
      • Touch Download Swype.
      • Wait while the application downloads.
      • Touch Install.
      • Touch Done.
      • Touch Enable Swype.
      • Touch Swype to check the checkbox.
      • Touch OK.
      • Touch Swype settings.
      • Touch Word Prediction to check the checkbox.
      • Touch Audio feedback to uncheck the checkbox.
      • Touch Vibrate on keypress to uncheck the checkbox.
      • Press Back. Press Back again.
      • Touch Select Swype.
      • Touch Swype.
      • Touch Start Tutorial and process to take the entire tutorial (It is strongly recommended that you take the tutorial. Swype is extremely easy to use, but it works differently from a standard keyboard. As such, you need to learn how to use Swype technology correctly before you’ll see the speed benefits.

       

      Notes:

      • There are additional tutorials and shortcuts on http://www.SwypeInc.com. Text entry is a frequent activity on a phone, so the faster you become with Swype the less time you’ll you’ll waste touching individual keys.

      An obvious and large opportunity exists in the mobile phone market. At present, developing mobile phone apps requires a development team to obtain specialized skills in either Java/Linux for Google’s Android or Objective C for Apple’s iOS.

      A code generator that can output to both Java and Objective C, combined with an abstraction layer, would appear to be an obvious winner.

      Clearly, this is a difficult problem to solve, but one that would none the less have huge market potential.

      Update: July 16, 2010

      OK, so I need to publish an update to this post. As soon as I clicked Submit I came across several companies that are going after this exact opportunity. So here they are:

      Appcelerator’s Titanium: http://www.appcelerator.com (Open Source, licensed under the Apache Public License v2)

      PhoneGap: http://www.phonegap.com(Open Source, licensed under MIT License)

      MoSync: http://www.mosync.com

      RhoMobile: http://rhomobile.com (Open Source, licensed under GPL v3)

      I’m sure there are more, but this is what I’ve come across. Haven’t used any yet, so no feedback on which, if any, of these options are acceptable.

      If you’d like more info check out Savio Rodrigues’ post on cross-platform mobile development using open source platforms: http://saviorodrigues.wordpress.com/2009/06/08/building-native-mobile-applications-with-open-source-mobile-platforms

      Back in the 90’s I worked on Sun Solaris servers. Back then, there was an upstart operating system named Linux. Linux lacked the stability of Solaris and more importantly it ran on commodity Intel hardware. This may not sound like a big deal, until you consider that Sun servers of the day often had multiple inbuilt redundancies. A Sun server was really a cluster of multiple servers where a failure in one board simply meant that another board took over. This redundancy applied to all aspects of the server which largely explained why Sun servers were known to run for years and years without a reboot. If a part failed, you simply opened the server (while it was running), changed the part and closed it back up. Contrast this with the Linux/Intel servers of the day where a simple issue, such as bad RAM, meant your server was down.

      At the time, Sun argued that there was no way that a Linux/Intel server could possibly compete against a Sun server. To this day, this argument is true.

      However, what Sun did not consider is a radical change in the overall architecture. Today, each Linux/Intel server is still susceptible to failure. The solution was to use multiple Linux/Intel servers in a cluster. Now, if any one server fails, you simply remove it (while the cluster is running) and replace it with a new server.

      Today, tablets (such as the iPad) and mobile phones (such as the iPhone and the various Android phones) are far to weak to compete head on with desktops/laptops. And, there are pundits showing computing curves that project the point at which a tablet will be as powerful as a laptop.

      Frequently we hear the same question, “Will a tablet be your next PC?” This line of thinking misses the point. These hand held will not overtake the PCs power, they will simply change the social architecture of how we use computers.

      Today, a mobile phone consumes a portion of “email time”. Here, I define “email time” as the total time a person spends per day reading/writing emails. 10 years ago, 100% of email time was spent on the PC. Today, a portion of that time is spend on a mobile phone, and for those with tablets a portion of email time is spent on a tablet. Thus, the PCs share of email time has steadily reduced.

      With the rise of social media, some applications such as Twitter are being designed for these smaller screen devices. In theses cases, the small screen becomes a key selling point, rather than a performance weakness.

      Further computing fragmentation is happening with the rise of online applications. As an example, Google Docs is not a direct threat to Microsoft Office. The inherent weaknesses of online applications dictate that Google Docs will lack the rich feature set offered by Microsoft Office for years and years to come. However, what Google Docs does do is fragment office software usage. At times, sharing is more important than power. In these cases, usage becomes fragmented between high-powered desktop software and relatively weak online software. Again, the issue is not when online software will become as powerful as desktop software, the answer is likely never.

      As new technologies arise, the important question is not when the new technology will become more powerful than the existing one, but rather will social and technical architectures change so as to minimize the need for the older technology.