Friday, February 26, 2010

Despite Some Issues, Still Loving the Samsung Moment

I have had my new Samsung Moment for about four days now and I am still loving it.

There are few minor annoyances for the system that I am still working through.  For example, there is a notification for when the network signal is lost (I am out at a customer site with limited Sprint network coverage because of the building construction).  Every time I lose signal, it makes a noise.  Every time I regain signal, it makes a noise.  I had the same issue with the power connector (connect power and it makes a noise).

I have tried disabling the notification by installing a new 'silent' ringtone (just one second of dead air).  Using the silent option fixed the power issue, but did not fix the network loss issue.  I have not found anyway of changing the notification for the loss of signal.  So, I am on the lookout for an app now.  I am sure there are some hidden notification options somewhere, maybe I need to get an app to fix those issues.

The other major issue has to do with the fact that my email for my domain is hosted at Google (using the Google Apps Engine).  These are the same issues expressed by Gina Trapani over at Life Hacker (http://lifehacker.com/5475809/why-google-apps-users-miss-out-on-regular-gmail-featuresand-some-solutions).  To work around these limitations, I am forwarding all of my traffic to my Gmail account and then archiving the email on my Google Apps account (in case I decide to go back).  I exported my contacts from my Google Apps account and then imported them on Gmail.  The only thing I don't have working yet is the calendar sync.

Everything else about the phone is much better than the Blackberry I had before.   I am even getting used to the on-screen keyboard.  I have my Gmail email working, Google Voice,  contacts, and corporate email working.  There are tons of apps (too many sometimes).

Wednesday, February 24, 2010

Android vs. Blackberry

I just got a new Samsung Moment from Sprint to replace my Blackberry Curve 8330.  The primary reason for the change was the Blackberry had a bad scroll ball.

I have had a Blackberry for quite a while (about four and half years) through work.  I was used to the aging interface.  As a messaging device, the Blackberry was pretty good (send / receive email, calendar, etc).  However, although there is an app store, the Blackberry is not very modern.  For example, the web browser is extremely slow and does not render most normal pages correctly to be usable.  The browser is not very modern and does a poor job of dealing with Web 2.0 sites.  A number of sites end up with the left side navigation bar being on top of the content requiring scrolling several pages down to get to the content.  In addition, the Blackberry devices I have used have not had touch screen interfaces (although I know there are a couple that do now support the touch screen interface).

I have had the my new Android device and I love the interface.  The interface seems responsive and easy to navigate around in.  The on screen keyboard is also not very difficult to get used to (although I have a physical keyboard, I am trying to use the on-screen keyboard to see how it works).  For normal conversation and email, the on screen keyboard works well.  When entering non-words (passwords, industry jargon, etc), the keyboard is a little cumbersome to find the special characters.

I am just waiting for the Android 2.1 update (supposedly going to be released anytime from last Monday until March depending on which site you read).  That will enable the use of voice to text entry in any of the text fields (as opposed to just using the keyboard for text data entry).

Thursday, February 18, 2010

Java Application Debugging Fun

I have been spending a lot of time recently debugging a variety of different Java applications (both for work and school).  In school, I have been working on the three tiered system for distributed computing class.  Fortunately, most of of the issues there have been caused by simple mistakes.  However, the majority of the time, the issue requires tracking the flow between several (up to seven) different class files (which is a little time consuming sometimes).

At work, I have created two different applications for the L3-TAL implementation on the ASR-1004 ISG implementation project I have been working on.  The first application is a pretty straightforward process which reads the output from the 'show arp' command on the router and creates an internal database for the tracking of IP to MAC address database.  The second part of the application reads in the output from the 'show subscriber session' command (or 'show subscriber session identifier source-ip-address <address> <mask>') and removes the L2-TAL identifier (the MAC address) and then adds an appropriate L3-TAL identifier (IP Address).  That process is working pretty well overall.  The goal of this process is to allow the customer to switch from L2-TAL to L3-TAL without requiring the users to re-authenticate (or at least most of the users).

The second application is based on reading Cisco CNR log files looking for 'expired' and 'granted' lease logging messages.  I was hoping to utilize a Syslog listening process (which is what I originally designed), but the Cisco CNR does not utilize syslog (or SNMP traps for that matter) for anything but significant messages (i.e. errors).  So, I have had to re-write the application to utilize a recurring process that re-reads the log files periodically.  This has added some significant inefficiencies to the system (having to read the same log files multiple times for example).  The re-reading needs to occur within the interval of the DHCP lease holding to ensure that if a DHCP lease expires, another user will not be giving the IP address until after the subscriber manager (the Broadhop) is updated removing the IP address identifier.

Thursday, February 4, 2010

HCI For the Broadhop Subscriber Manager

First, I must apologize for the lack of screen shots, I cannot post the screen shots as there is sensitive information on the pages.  At a customer site, I utilize the Broadhop subscriber manager.  The subscriber manager provides and ISP with the ability to manage subscriber options for various ISP tasks.  The system allows the administrators to define information such as the user account information for the subscribers (user name, password, etc).  In addition, because the ISP provides multiple services, the Broadhop subscriber manger defines various locations and devices for the administrator.

The user interface is very confusing for the Subscriber manager.  First, the administrator needs to define the service levels for the on one 'tab' in the user interface.  The service level is used to define various components in the system such as the upload/download speed, access to resources and error pages.  From there, the administrator defines the locations (or towns in this case).  In each of the towns the administrator needs to define the service levels (defined in the first step) available in the town.  Finally, the user needs to define the network devices that are in each town and the subnets that belong in the town.

Although the management is through a web interface, there are a number of issues that make the interface difficult to manage.  First, there are links on the location page for the various services available, but the links do not take the administrator to the management or definition of the service.  This does not seem like a huge deal until there are several hundred (as is the case for my customer) service levels defined with almost one hundred different locations.  The list of services is provided via a sorted list in a tree view (one tree node for each service level with device specific information underneath each).  This seems like an acceptable user interface, until the administrator updates a service level.  When the user performs an update, the entire page is refreshed (causing the focus to be on the top of the page versus keeping the configuration where the administrator previously had focus.  Collapsing the tree levels is only effective until the page is refreshed (every refresh keeps expands all trees nodes).

Next, there are many locations where lists are provided, but the list is not sorted.  For example, when defining services for a subscriber (the level of service they have), the administrator must first define the location (which is provided as a list of around one-hundred different towns for my customer) in an unsorted list.  This means that an administrator must start at the top of the list reading each of the items until the correct town is located.  Then, the administrator is provided with a list of services (for that one location) and that list is also not sorted.  Fortunately, there are only about ten different services per location at this customer.  The frustrating thing is there are other lists (such as when the administrator is adding services to a location) that are sorted correctly.  So, this appears to be a case of HCI oversight.