Showing posts with label Reviews. Show all posts
Showing posts with label Reviews. Show all posts

Wednesday, February 22, 2023

Just renew magicJack for another 5 years

It's time for renewal.   Today I received a 5-year promotion plan offer from email notifications.  This good deal is only for renewal and used once only.  The total charge for 5-year (plan renewal) is $150 order + $13.50 admin = $163.50 plus tax if any.  This exclusive offer is not present on the magicJack homepage.

My experience with magicJack

I have been using magicJack since 2009, and I am happy about it.   My magicJack device over a decade is still working.   A few years ago, magicJack even made its mobile apps available without additional charges.  The app won't require the magicJack device plugging into a computer as long as the Internet connection is available.  It is a very good feature on-the-go without carrying around the magicJack device.  The bad of the app is that it keeps popping up the new feature alert (such as using Bluetooth for communication) when the new feature cannot be auto-enabled due to phone settings.  I hope that this can be improved sometime soon.  

magicJack app can run on a very old android device with at least Android 4.4.  But for Apple devices, it requires at least IOS 13.  It means your devices must be quite modern. 


Sunday, October 20, 2013

Missing Orders - Order Confirmation (FlexPLM)

FlexPLM: v9.1

My previous post mentioned a serious design flaw in OC which causes confusion on cost sheet identification. There is another issue as bad as this design flaw. Missing colorways happens almost every day. All orders are subject to the colorways being placed in the product plan. Thus, missing colorways in OC means missing orders.

For each valid OC, there must be a [product] plan which consists of quantities (Target Volumes), delivery date (NDC), colorways and etc. Each order is organized per row by colorway (see Sample of Plan). Some colorway rows or the whole plan data could be lost without user knowledge.

At first, we thought that it was a human issue due to colorway/size category deletion for the fact that this customized version of FlexPLM doesn't perform any detection including colorway/size category that may be in use. Missing orders haunts the company since moving onto FlexPLM. Similar to the design flaw issue, it requires daily dedication to keep track of OC plans. Recently we've found that one of causes is leaving page including the browser Back and Forward buttons. If the user navigates to some other pages before the plan is saved and exited, and then returns to plan for editing, the issue of losing plan data will occur. By the time comes, the PO specialist tries to issue and approve the PO but finds missing or no orders.

This missing order issue could happen anytime during OC editing or after completion. Today you find the plan look perfectly in the OC but it may vanish in a few hours, next day or even any time in the future. There is no guarantee that the entire plan data exists until PO creation. We still don't know why the plan data will be gone when no one touches it.

Lesson Learned

Be sure your system could handle the situation of users leaving pages without saving data. Your UAT must include this to ensure data integrity. This problem reminds me of my time working for a marketing research company where the applications always allow people leaving pages and then quickly returning to answer the rest of questionnaires.

 
Sample of Plan - This plan is modified for display only; simply expand it to view the plan.
When the plan data is lost, each order (i.e., the colorway row) consists of yellow exclamation mark or the entire plan is even missing or empty. The following plan won't be seen when the problem occurs.

Wednesday, October 16, 2013

A Serious Flaw in Order Confirmation (FlexPLM)

FlexPLM: v9.1

From the sourcing or merchandising perspectives, PO is their ultimate goal to finalize the deal. Although all data are captured by the system (FlexPLM), FlexPLM is unable to issue PO nor to generate packing list and labels. A custom interface was developed to transmit data from FlexPLM to the PO system. Order Confirmation (OC) is responsible to capture the ordered data for PO processing. In other words, OC is a stepping stone from FlexPLM to PO. This OC module is customized for PO needs but there is a design flaw along with other long-standing bugs.

Two major components must be referenced by an OC upon completion:

  • Cost sheet(s) and
  • Product Plan (to specify colorway(s), NDCs, shipping terms, order types, order quantities and etc.) for ordering

A Design Fault Issue

A valid OC must contain at least one or more cost sheets. Each cost sheet is in turn referenced by a cost sheet number. While everyone assumes that the wanted cost sheets are set to the OC, instead the OC only remembers which unwanted cost sheets the user specifies. This design is similar to an email system. The system only remembers what you don't want, instead of what you want. It is not practical and it is a complete fault when this is put in place of ordering.

Let's consider the following situation.

At day one, there are 3 confirmed cost sheets. The user only wants CostSheet2 (CS-123452) to be referenced by the OC. Everything looks perfect in the system.
( Day 1 )
Existing and confirmed
cost sheet
User
Wants
OC
Remembers
System
Displays
NameNumber
CostSheet1CS-123451
CostSheet2CS-123452
CostSheet3CS-123453

On the second day, there are 3 more confirmed cost sheets finalized for the product. Because the system only remembers what users don't want. These 3 newly confirmed cost sheets are uninvited and added into the OC. The OC in turns results in error.
( Day 2 )
Existing and confirmed
cost sheet
User
Wants
OC
Remembers
System
Displays
NameNumber
CostSheet1CS-123451
CostSheet2CS-123452
CostSheet3CS-123453
CostSheet4CS-123454
CostSheet5CS-123455
CostSheet6CS-123456

[Added & edited on October 20, 2013] Why is the OC in Day 2 in error? The error is not from FlexPLM but the interface which picks up the data from FlexPLM to the PO system. The costs specified in the cost sheet could be appliedy to all or certain colorways of the product. If two cost sheets referenced by an OC contain the same colors, the interface will be confused which cost sheet to use. Let's say cost sheet A defined that color black costs $5.5 totally while cost sheet B said that color black is only $4.4.

To fix this, the merchant has to go into the OC and explicitly tells the system to cross out the other 3 cost sheets. Each sourcing office could create and complete 100 to 200+ OCs per day. Initially all OCs were handled by the merchants themselves. Because of unfriendly GUI and learning curve, the company would like their merchants focusing on the business instead of system operations. Two more headcount or positions are introduced in the office to handle OCs only.

As a matter of fact, the GUI itself refreshes this design problem by asking the user which cost sheets they don't need. The operation is similar to an email system where you delete the unwanted emails. The system will assume that the leftover are the emails you want to keep.

Lesson Learned

I personally wouldn't accept this implementation and won't expect to educate users to work around it either. This situation for sure won't be occurred when all cost sheets are defined and completed ahead of time. In reality, the users unlikely complete all cost sheets before ordering. They usually place orders while they are still working on other pending cost sheets. In this situation, it is no way to prevent the above issue from happening with the current system design. This issue greatly disappoints users and introduces more work. It is also too late for the company to realize this problem. The expense of modification is on the company. Thus be sure the behavior of the system matching the real operations. Don't expect to educate users how to work around the issue when the reality disagrees or/and the system is unable to provide the guidance.

Tuesday, August 27, 2013

Reasons Why Users Don't Like FlexPLM

This post is to follow up the discussion in my previous post.

     
  1. FlexPLM is NOT user friendly.

    Steep Learning curve is required on using FlexPLM. Words or phrases on the screen are not self-descriptive. It is not easy to navigate within FlexPLM to locate data. The wizard or the icons are also hard to find on the page. Data presentation of FlexPLM is not organized logically from user perspectives. The Interface is poorly designed.

  2.  
  3. FlexPLM doesn't promote collaboration but frustration.

    Workflow is available on FlexPLM but it is not tied to the actual process flow within the system. Instead, it acts like a complete separate process that requires additional manual steps from users as if they were coming from a different system. Luckily, neglect of any workflow task won't prevent users from working on the products within the system. Unfortunately, it causes some degree of disagreement among departments of how tasks could be done.

  4.  
  5. FlexPLM can't streamline or help optimize the process but heavily increase (or triple) workload and rely on user "supervision."

    • Let's take a notification of mailing out development samples as an example for illustration.

      Without FlexPLM, users simply notify the buyers about airway bill info via a single email.

      With FlexPLM, users have to do the following:

      StepWhy is this step necessary?
      Send an email notification to the buyers via Outlook as usual FlexPLM lacks of notification capability.
      Input the airway bill info into the system via Line Sheet or the product page The business requires to capture this piece of info.
      Consistently search "My Work" to see if the expected workflow task is available for completion. Some workflow tasks prior to this have not been completed yet. Or the tasks cannot be displayed for users for unknown reasons or a bug.

      There are no distinguishment between new tasks and the existing. Finding new tasks among tons of existing outstanding items visually is not easy. Some users are even manually exported data into Excel and manage them daily.

      When the workflow task is finally shown up at "My Work", check the selection box and then click the submit button for completion. It is how the users tell the system of their task completion.
      Be sure to click the Refresh hyperlink at "My Work" again to ensure that the submitted task no longer exists in the outstanding task list.

      For unknown reasons, some workflow items require multiple submissions.

      Additional notes: PTC/ITC said that everything works as designed and it is user fault. As per them, multiple records of completion for the same task showing in the system doesn't confirm the issue. It may be an double-click issue by users.

      This is one of examples. There are plenty out there. All burdens are on end users.

    • Internal data corruption happens all the time. For unknown reason, a NULL value is periodically placed into the data field without user knowledge during "save" or "update", which causes severe data lose or missing orders.

    • In addition, data discrepancy may occur between the pages shown on the screen and the physical print copy from the generated PDF (TechPack). Users feel humiliated when their vendors inform them that they found a few issues from the given PDF. Measurement or grading sheets are usually the victims.

  6.  
  7. FlexPLM can't help reduce cost but increase labor cost to ensure everything won't fall apart.

    Users work very late (even till mid-night) after switching to FlexPLM. The company increases the workforce by hiring more data entry for help-out.

    Losing orders happens from time to time and it has been one of the major issues so far. Learning from a few painful experience of missing orders, most users will print and save a copy of their work for future reference and periodically check against the system till the POs are issued.

Experience with FlexPLM

If you're looking for PLM solution or FlexPLM is on your list for evaluation, my experience with FlexPLM may be your interest.

FlexPLM is developed by PTC headquartered in Massachusetts. There are various FlexPLM packages available for purchase, from fully customization to the simple configuration with a very minimum change. For the past 18 months, I have been dedicating my time to administer FlexPLM for a company which purchased the package with the least customization. Thus, most of features are out of the box (OOTB). The software itself is further customized and serviced by one of PTC's software partners, ITC InfoTech, which houses in India.

Up till now, the company has been using FlexPLM for 2.5+ years but the feedback is negative and no one likes it. The more users use it, the more complaints there will be. This company is in the garment industry. Its sourcing offices are all over the world while its retailer stores are exclusively in the states. They do everything themselves from design to product development including choosing fabric, color, lap dip, sample yardage, development sampling, costing, manufacturing and moving products from warehouse to the retail chains. In order to consolidate everything (except PO) in an one single system for all parties (fabric specialists, designers, technical designs, quality assurance, merchants in headquarters, merchants in sourcing offices, warehouse employees, staff in retail stores and even the management), FlexPLM was chosen to replace their existing legacy systems including their in-house developed merchandising software and the PDM.

PTC's sale speech sounds good but what FlexPLM delivers is another story. The management of the company originally focused on job done, As the increase of the anger from users, they realize the simplicity must be taken into the consideration while they want to remain the same process flow on FlexPLM. Overall, here are the voices from users:

Anger is everywhere in the workspace of every office. After 2.5+ years trying, the company finally gives up and decides not to continue with FlexPLM. The message of discontinuity is firm and even publicly announced to the entire company. They are making no more than 2-year transition plan to be out of FlexPLM. It is noticeably joyful from users' faces as soon as the announcement was made. As a matter of fact, they can't wait for that day to come. Obviously, they would prefer the instant demise of FlexPLM.

FlexPLM may be a perfect fit for most companies in most industries without customization but it certainly does not fully comply with the needs of the company, especially the need of the full life cycle operations from material to product, from product to manufacturing, from manufacturing to dispatching and finally down to the retail stores. The customization is supposed to bridge the gaps but it somehow fails.

We all know that bugs always exist software but FlexPLM is not tested well before production. I personally always wonder how the release could pass the testing if they have or perform proper test cases and suites. The same issues could be re-surfaced in any release. To some extent, the problems are even rooted from the design (I will address this more when I discuss order confirmation in my future post).

The project manager of the company should take some responsibilities. The actual operations executed by each department is somewhat different from the way the system presents. And some of end results also behave somewhat different. To fix all issues, the system keeps being bandaged without root cause analysis. To me, the fix will never be a fix if they keep shoveling the problems under the rug.

Another problem is that the project manager believes that human education can work around the issues instead of finding the fundamental culprits and tailoring the system to guide the end users or simplify the work process. To me, it won't stop the problems if they keep relying on training to teach users what they should or shouldn't do to work around the system issues. Sadly, I just don't see there is any business requirements analysis.

I am not here to judge. You should be the one to decide what to do. I will show you the fact from the system and the end user points of views, and what the company are facing so that you may add them into your substantial criteria for review, evaluation or even customization. I personally hope that they may be somehow useful or even help you make a sound decision.

Please stay tuned if you're interested.

Monday, January 10, 2011

Registry Mechanic vs AML Free Registry Cleaner

Despite all the good reviews about PC Tools Registry Mechanic, I am disappointed by it.

I don't use registry cleaner but lately I would like to try it out and possibly find one to add into my collection. Under google search, Registry Mechanic by PC Tools is highly recommended by most reviews I have read. Unfortunately, I would not recommend it.

I did a very simple test myself a week ago on one of my virtual machines. This machine is always abused to use for bit torrent, software tryout, far-sites movie watching and etc. Thus I know its registry could be a mess. Because it is a virtual machine, it will be easy for me to recover it if something goes wrong during this registry test. In the course of searching good registry cleaner, AML Free Registry Cleaner is another good one on my mind. Thus, this test is Registry Mechanic vs AML. If you seek for professional opinions on registry cleaners, you may have to go some place else. Here is simply my opinion.

Registry Mechanic vs AML Free Registry Cleaner:

Test Targets Registry Mechanic AML Free Registry Cleaner
Version 10.0.134    (currently also known as
Registry Cleaner 2011)
4.21
Price Free to try
(First 6 sections repairing trial);
$29.95 to buy
Free

Test machine: Windows XP SP3.

Test Results based on problem found and detected:
Registry Mechanic 2011: 150 problems found
AML Free Registry Cleaner: 327 problems found

I went ahead to fix all problems found by AML and run the test twice (before and after reboot). Both results are the same and shown below:

Registry Mechanic 2011: 17 problems found
AML Free Registry Cleaner: 0 problem found

I don't find any abnormality after the fix by AML. Everything is working fine.

I cannot use Registry Mechanic to fix all problems it found because of its trial version restriction. However, I did something else interesting that may be an interest to you.

At pctools site, it features Registry Mechanic 2011 supports 17 languages but there is no further information about which languages it actually supports (or I could not find this information nor separate installers for other languages). When I installed it, it would not present me a language selection. I was curious how well its language detection was. Since that XP installed in this virtual machine is a multilingual version, I started fresh and switched to Traditional Chinese to test its language detection.

Why Traditional Chinese? Most software cannot handle well Traditional Chinese. They usually mistake the OS as Simplified Chinese if they try to be smart without letting the user to make a choice. Registry Mechanic suffers the same problem.

Similar to AML, the installation of Registry Mechanic is simple and straightforward. AML supports English only while Registry Mechanic claims to support multiple languages. Unfortunately it won't present you a language selection and it tries to be smart to use the language to match your OS. Sometimes it is not what you want. The worst is that it could present you a wrong UI language. Registry Mechanic mistakenly presented me everything in Simplified Chinese while my OS language is in Traditional Chinese. Because of this problem, some characters on screen are garbags.

As I mentioned before, I could not find the details of which 17 languages Registry Mechanic supports. Based on my test, it doesn't support Traditional Chinese but Simplified. To me, it is a serious problem for a software (which claims to support multiple languages but provides no language selection) to present the wrong UI language. Indeed, a lot of users would prefer to choose their languages.

There is one thing that annoys me most I found with AML Free Registry Cleaner. When it starts, it is always in a maximized mode. I personally don't like it. There is no way to configure AML to remember my preference. Other than this, I am fond of AML.

AML Free Registry Cleaner comes with free Disk Cleaner option. At first, I was surprised it found a lot of tmp files while CCleaner reported nothing about them. Later, I found that those tmp files are created everytime I reboot. Thus, I won't be able to get rid of them because they could be used or created by the system or the software (like anti-virus) you installed. They are needed whenever the system restarts. Thus, AWL Disk cleaner at this case is no use.

Conclusion

Between Registry Mechnanic and AML, I would highly recommend AML Free Registry Cleaner. The most importances are that AML detects more problems than Registry Mechanics and it is free!

Sunday, January 9, 2011

Impressive PDFCreator File Size Optimization

I have been using both PDFCreator and PrimoPDF for 3+ years. I mainly use them as a PDF converter and a virtual printer. I personally like PDFCreator most. But PrimoPDF can handle/convert some Web pages that PDFCreator cannot. To me, they both compensate each other. However, I have never paid attention to the PDF file size generated by them until recently. PDFCreator definitely is the winner. If anyone looks for a good PDF compression tool, I would highly recommend PDFCreator.

The following table presents you the file sizes generated by PDFCreator, PrimoPDF and GIRAC freewares from Microsoft WORD 2003 which doesn't contain images.

MS WORD 2003 with no image73KB
PDFCreator35KB
PrimoPDF124KB
GIRAC123KB

As you can see, PDFCreator file size optimization is the champion.

Updated on Jan 27, 2011:

Today I need to convert a document from WORD to PDF. The document is embedded with a tiny image. I used both PDFCreator and PrimoPDF for comparison to see which one does a better job. As expected, the PDF by PDFCreator results in very small size. But this time, the PDF made by PrimoPDF is a bit huge.

MS WORD 2003 embedded with a tiny image69.5 KB (71,168 bytes)
PDFCreator47.2 KB (48,388 bytes)
PrimoPDF1.18 MB (1,245,833 bytes)

Friday, August 27, 2010

BIOSAgent is no longer available

I have been using BIOSAgent since 2007 when I was working in a project that extensively dealt with system detection. It helped me to fix a lot BIOS issues by providing me every single piece of information stored in the BIOS. Sadly, this wonderful desktop, standalone BIOSAgent is no longer available for download now. The last version is 3.66. I don't have the last version but up to v3.61.

BIOSAgentPlus is the successor or the replacement. The current version I tested is 2.2010.1.8. Unlike BIOSAgent, BIOSAgentPlus requires Internet connection for data interpretation. It doesn't scan your system over the Internet; currently you still have to download an EXE file to do the scanning and then interpret the scanned data at their online server.

Basically, there are two ways to submit the scanned data:

  • Default: Run BIOSAgentPlus while you are connected to the Internet. After the scanning, BIOSAgentPlus will auto-fetch the data.
  • Offline: Set "Work Offline" (see my offline section below to see how) and manually submit your data to DriverAgent (another tool by eSupport).

If the scanned data is auto-fetched by your local copy of BIOSAgentPlus, the result page will display not only the information of the BIOS but also every driver of your system. Any new driver(s) available to your system will also be shown in that page. If you post the data yourself, the BIOS information will not be displayed but you are still able to view the information of your existing and new available drivers online. Thus, the manual method at this point is useless. After all, the data is actually interpreted by DriverAgent, which won't interpret BIOS data.

If you scan your system offline, BIOSAgentPlus will automatically open a text XML file for you. Do a search on <D:smbios> in the file and you should find all the BIOS data. On XP, this file is stored in the folder of %TEMP%\DriverAgent.

Regardless of which method you use to submit and interpret the scanned data, you can always be allowed to choose to "Save Scan Data" for future use. This simply saves the reference data in a HTML file. Next time, you double-click on it and the data will be fetched and viewed from their online server. Again, Internet connection is absolutely required. With this, the BIOS data is always interpreted and displayed in the page.

I personally don't like the BIOSAgentPlus because I am not interested in the driver information or its upgrade. I just want to instantly see what data was written in the BIOS. In addition, when I am doing this, most of time the Internet connection is not available or the system has not completely configured well yet. With BIOSAgentPlus, I have to do more steps to view the data or I interpret data myself. I really miss the nice and simple BIOSAgent.


How to Run BIOSAgentPlus Offline (for version: v2.2010.1.8)

As usual, the downloaded EXE file doesn't require to install; simply download and run it. When BIOSAgentPlus runs and performs the scanning, on XP, the BIOSAgentAgent icon will be displayed in your system tray.

Right click the icon, select "Work Offline" if the Internet connection is not available. If you need scan again, then click "Scan". Note that The Scan button will be grayed out while BIOSAgentPlus is scanning.

As soon as the scanning is done, a text file named DriverAgent.xml.txt will be opened for you. Follow the instruction in that file and submit its XML content to http://driveragent.com/manual.php. As discussed before, the BIOS information will not be interpreted when you manually submit data to DriverAgent.

Monday, June 22, 2009

BeVocal vs Voxeo - Which one is good for a beginner?

Recently I have been learning ccxml and vxml. To begin with, I chose to do ccxml. But I recognized that I had to understand how vxml works before I could do something on ccxml. So in the past 2 weeks, I've begun working on vxml.

I signed up two free accounts with BeVocal and Voxeo respectively. Here are my simple comparison as an IVR beginner.

Category BeVocal Voxeo
Customer Support
and Forum
Worst! I have never got a response from them. I guess they are not entertaining any free account members. If so, they should mention this in their site. In addition, I am still unable to access their news forum discussion groups either. Extremely efficient, fast response. I have no problem to access their forum discussion boards.
Text to Speech (TTS) Sound more natural. I've seldom needed to do some customization in code in order to get a better speech. BeVocal sounds better than Voxeo, especially in reading a long sentence or a paragraph. A short sentence or a few words interpreted by voxeo TTS are okay. Otherwise, there is a tweak work, like manually using <break> or using comma to break the sentence into a few words together so as to make the speech more natural. This could be a problem if the text is instantly interpreted to a speech on the fly as soon as TTS engine receives text from a Web application. Voxeo claims that the speech will be better with their pay voice version. In addition, some words from voxeo TTS are never right to my ears. For example, slash or the punctuation / is always pronounced as flash. The word project sometimes is read as pro-jack or pro-ject.
Voice Recognition Acceptable. Frustrated. You'd better code with DTMF (telephone keybad input). I am not sure if voxeo's voice recognition engine is coded with genetic algorithm so that it could learn in the long run.
HTTP Integration As of my writing now, I still don't know where/what the actual voice URL of BeVocal is. Thus, I cannot forward the application control (using <goto>) back to the particular dialog of the vxml on BeVocal server. I need to duplicate all the scripts on my Web Server in order to continue the application. BeVocal probably has published the HTTP connection information somewhere in their site. However, for this moment, I just want to test and see how my Web application works with voice dialogs.

When you're serving your vxml via HTTP to BeVocal voice server, your vxml file must set CONTENT-TYPE header to application/voicexml+xml. Otherwise, an error is expected.
I like voxeo approach using Web URL as their voice browser URL. It is a lot simpler for a beginner like me. The concept is very simple and easy to implement. With Web URL approach, I can simply use <goto> fetch my vxml files or return to any <form> of the same vxml file. There is no file duplicate needed on my Web server. And I don't need to research how to do HTTP Integration either at my early learning stage.

Voxeo will process your vxml with CONTENT-TYPE header set to either text/html or application/voicexml+xml.
Grammar and Syntax It is hard to say which one will be easy to work with. I cannot tell which one is more straight on the W3C spec either. They are slightly different.

For example, For BeVocal, we must have this; otherwise, it will be error out.
    <vxml version="2.1" xmln="http://www.w3.org/2001/vxml">

For Voxeo, we can have:
    <vxml version="2.1">
or
    <vxml version="2.1" xmln="http://www.w3.org/2001/vxml">


For BeVocal, it accepts the following and your script runs without any problem:
  <form id="q">
    <block> 
    <subdialog name="result" src="#personalInfo">  
      <filled> 
          ... 
      </filled> 
    </subdialog> 
    </block> 
  </form> 
For Voxeo, your scripts will never be run but it won't generate an error for you that makes debugging very difficult. I have left a note to their support team and hope that they will speak to their engineers about this.

To work around this, it is better to follow the W3C specification 100%. If something goes wrong, check the spec first.
How Easy to Test
an Application?
BeVocal displays 1-800 number + pin, a direct number and SIP on every Web page saying for application testing. For unknown reason, I can only use the direct number. The 1-800 number and SIP have never worked for me. Voxeo provides 5 ways to test every application: 1-800 + pin, a direct number, Skype, FWD, SIP and even iNum number. Every method works for me like a charm.
How Many Applications
Can be Tested
at a Time?
One. BeVocal only allows you activating an application for test at a time. Many. Each application will be assigned to different numbers and pin.
Application Debugging BeVocal's Log Browser can be used as a tool to debug your vxml but you cannot view that particular log while you're executing the application. Each log can be reviewed after execution with color highlighting. All errors will be highlighted in red, letting you know exactly which line it is, similar to other programming debugging tool.

Their Vocal Debugger will allow you walking through the script and even pause your application at certain point. The pause is not a break point unlike other programming tool where you can set it beforehand. You only set it when you run the application.

If you don't like to use a phone to test your voice application, you can use their Vocal Scripter. It simulates the dialing process for connection and convert your response in text to voice back to your application. But I am not fond of it. I would like to test the voice quality as well.
Voxeo only provides a single tool called Application Debugger. You can have it open while you are testing your application. When an error occurs, it will highlight it in red. Unfortunately, the error is not exactly what we are looking for in our script. They are mostly Java stack trace error with the line numbers that we don't care. It is good for Voxeo supports or their developers for further diagnostic. I like BeVocal giving me exactly which line of my script is having a problem.

Unlike BeVocal debugger, Voxeo debugger won't allow you walking through the application directly. But it provides the execution messages as if it documents the call scenario so that you can look at the output and see if there is any abnormality.

Their error logs can be retrieved in a later time but as soon as you close your debugger, all the color highlighting is gone forever. The log is in plain text. Within a day, you can easily view it with your browser. Otherwise, you have to download it first because Voxeo will put them in a .GZ file. Because of this, I guess, Voxeo provides another tool called Prophecy Log Search. Still there is no color highlighting. At this moment, I don't find it useful but instead dislike it. To me, the tool is too heavy. The search is slow. JavaScript error is everywhere. It doesn't support both IE 7 and Sea Monkey 1.1.14, which I use intensively for my Web development.

One important thing that I learned within these two weeks is about a shadow variable. In the beginning of my learning, I was confused by this term being used in IVR. A variable is a variable. What does it mean a shadow variable? If I am correct, it is similar to a read-only property of an object. When we use one of the pre-defined tag element such as <record>, we are sure able to access its attributes. But this <record> tag consists of other properties available after the code execution like duration, size, termchar and maxtime. They are all read-only. In IVR world, such read-only properties are called shadow variables.

In closing, as a beginner, I would like to work with voxeo because their support encourages me to do more in their products, which I could not find this with other companies. Although I am frustrated by their voice recognition all the time, I found a way to work around it. Of course, I wish that voxeo could improve it in the future soon.

Saturday, April 25, 2009

MagicJack: pros and cons

MagicJack (MJ) is a USB Internet phone device using the processor chip from Tiger Jet acting as an adapter that allows you to plug in a regular phone and then use, or directly use the provided softphone via your computer with a speaker and a microphone ready. The device is Windows compliance so there is no driver needed. Any new driver update will be automatically detected and distributed via Windows update.

I purchased it because I was suddenly required 100% travel due to the department transfer and I began disliking my new task. I was thinking to leave the company by starting my job search journey. Since I had the company cell phone, I could simply forward all my personal calls to my cell because my home phone was a basic land line without any feature. Thus, I would like to have an economic solution. MagicJack is the solution I chose. If you have stable high-speed Internet connection, the phone quality will be as good as a regular land line. MJ works like other VoIPs like Vonage but with much lower cost. You can use it wherever you are including internationally, and unlimited calls are free to made within/to the US and Canada.

I am a MagicJack user and use it every day now. I would like to share some thought and experience here. You may find them useful to decide if MagicJack is right for you.

Pros Cons

Driver Needed No, MagicJack is compatible on Windows and Windows compliance. Thus, there is no driver needed. Any new driver update will be automatically detected and distributed via Windows update.

Easy Installation Unlike its advertisement on TV (i.e., no installation), MagicJack requires software download and installation. You must sign-up an account as soon as you have softphone installed and then activated it before you can make a call. This is based on my experience. I have 3 laptops and 1 desktop at home; they all required manually software download and installation.

Cost and Features Low cost. The first year subscription including the device itself is $39.95 + shipping and handling ($9.95 for USA user). Up to this moment I am writing (April 25, 2009), each subsequent subscription per year is only $19.95 and $59.95 for 5 years. Unlike a landline or other VoIPs, the price here is final without additional tax or subcharge. The cost includes all the needy features: unlimited local and long distance call, 411 directory assistance, voice mail, call waiting, 3-way calling, call forwarding, 911 service, and Do-Not-Disturb.

Total Call Minutes No limit on total call minutes. Unlimited calls can be made within the United State and Canada. But the duration of each call is limited to 2 hours.

Quality of the Call and Connectivity The service provided by MagicJack is VoIP relying on Internet connection. Thus, your Internet connection stability is the key to your call quality and connectivity. I have a stable, high-speed Internet; I found the call quality is as good as a landland. I usually talk to my family about 2 hours during weekends (but there is time limit per call; 2 hours max). Within these 2 hours, my call is never interrupted nor dropped. I am happy with the call quality and I have no problem on the call connectivity.

Phone Number Like other VoIP phone service providers (e.g., Vonage), MagicJack provides you a phone number. You can choose the number that you want including the area code.

Windows Only MagicJack cannot run on any other platforms but windows only.

Computer-Dependent MagicJack goes offline when your computer is off. In addition, you have to log in onto the system and let the software (i.e., softphone) load before use. MagicJack provides you a call log (via softphone) but the missing call will not be captured when the computer is off unless the person leaves you a message. Any left message will be directly delivered to your email box via a WAV file.

Software-Dependent You cannot make a call if your softphone is not ready. You have to wait until your softphone is completely loaded. Seeing "Ready to Call" on the softphone doesn't mean you can make a call. You may still have to wait a few seconds. Although you are able to use a regular phone to make calls, the softphone is the actual interface sitting between your phone and the device (i.e., MagicJack). Thus, if the softphone is not running, your phone will not work, and you will never know if there is a missing call unless the person leaves you a message. Only when the softphone is up and running, all calls timestamp will be kept in your call log.

Any Hardware Conflict Yes, at least I found that MagicJack is conflict with my USB TV tuner. As soon as I plug the TV tuner in, the MagicJack softphone won't work without unplugging and re-plugging. The same problem occurs when you start or reboot the system with the TV tuner and MagicJack attached. If you make a call without hearing the phone dialing after you have keyed in all the numbers, it indicates either your softphone is not ready or you have hardware conflict issue.

Consume More Drive Labels MagicJack is a USB device but it consumes 2 disk/drive labels. If you have a lot of external USB drives (e.g., USB thumb drives), some of them may not be recognized because MagicJack takes their original drive labels. To resolve this, you need to specifically change the drive labels either on MagicJack itself or the USB drives via Computer Management.

Configurability No, there is not much you can configure MagicJack except for the call forwarding via their Web-based interface. You cannot configure the greeting message if you don't like it (sorry, I cannot find a way to do it). And you cannot change the time zone either. Thus, the time shown on the call log doesn't reflect your actual time. I have no idea which time zone is.

Customer Service Unlikely you will speak to a live person over the phone but live-chat with their technical support 24/7 or via email query. Frankly, I don't find them much helpful on the issue I had. MagicJack will provide you a contact number when you have a billing issue but you need to chat with the technical support first. The attitude of the customer representative in the billing department is horrible. The one I talked to was impatient and unpleasant. The more I spoke to her, the more I got frustratetd. See my another comment on MagicJack.

Time Limit Per Call Each call is limited to 2 hours. Otherwise, the call is automatically terminated and then what you can hear is the dial tone. You can continue with your conversation by placing the call again.

Other Issues

  • Dial Tone Problem: Having a dial tone doesn't mean you can make a call immediately! Sometimes you may need to unplug the MagicJack and plug it back in order to resolve the issues. Without a dial tone when you try to make a call happens daily. From my experience, it could occur once a day at least. Hanging up and then pressing the button again sometimes may resolve the problem. Otherwise, replugging Magicjack should work.
  • Late Response: Don't immediately make a call when the softphone is first loaded and indicates "Ready to Call". Give more seconds before use; otherwise, most likely you need to hang up and call again. There is always a delay on the softphone.
  • Popup Softphone: Owing to its software dependent, every time a call runs in or you try to make a call, the softphone will pop up even if you have minimized it to the system tray. It is very irritating. In addition, after having hung up the call, 2 or 3 seconds later, the softphone will pop up in front of every application. I find it very disturbing.
  • Cannot Do System Standy or Hibernate: You cannot put your system to sleep by doing either standy or hibernate when you have MagicJack attached.
  • MagicJack Won't Auto-Start after Logoff: If you log off your account and then log in later, you need to manually start MagicJack.


Updated on October 17, 2009
An additional note: since MagicJack is via VoIP protocol to send voice, your traditional fax machine may not work with VoIP line. I have recently run into this problem. For the detail of why faxing and modems don't work well over VoIP, see here.