Tuesday, September 7, 2010

SVG Mystery Breakthrough - Use PATHS not OBJECTS

It was an international effort; but, I believe we have found a work-around that allows you to import and cut SVG files as long as you have the free Inkscape or other program capable of editing SVG files.

First I want to thank the people that provided the input that resulted in finding this temporary solution.  Each of these people contributed shapes, testing and/or ideas that resulted in this discovery.  As I said, it truly was an international effort! 
Ruthie Gedalovitch - UK
Denise O'Connor - USA
Tina Mac Queen-Ladoucuer - Canada
Thomas Tweedie - Australia
Denise, I believe, was the first person that was able to get an SVG file to cut, so this let us know that it could be done.  But, the rest of us were having no such luck.  Ruthie then followed up with a Flower that she was able to cut correctly.  So, that encouraged us to dig deeper.  Thomas Tweedie still doesn't have his eCraft as yet.  But, what he DOES have is a great analytical mind and Adobe Illustrator, so he was able to create a test file that contributed to the effort and to dig deep inside my files to provide some insight.

But, Tina provided the file that broke this thing wide open.  I had a very simple file with very few commands that threw the eCraft each and every time I ran it.  But, Tina's file was big and complex.  Yet, it cut perfectly.  This led me to explore the underlying differences and what I discovered was that my file made use of an OBJECT to create the circle and Tina's file made use of a PATH to define her scalloped circle.

So, this prompted me to convert my Circle OBJECT into a PATH using Inkscape and importing the modified file into eCraftShop Pro.  And, BINGO!  Success!  Subsequent tests of building SVG files shows that SOME objects, like a box will work; but, other objects, like the circle will not work.  But, all PATHS, so far, seem to work.

Here is the SVG text for the file that does NOT work.  Notice that there is no section called 'path'.  Instead, the circle is defined as an object with an X and Y location and radius. 


Now, here is a view of the same basic file where the circle OBJECT was turned into a PATH.  Notice that the circle now has a beginning and end with NODES defined along the path to define its shape.

 Click Image to see full size

 While you can see that Inkscape made a very compact file into a very verbose file, that is not where the reasl differences lie.  The code at the very bottom of the example is the real meat of the find.  Notice that you can no longer find a Circle Object in this code.  Instead, at the very bottom, you find a PATH with a series of NODES that defines points along the path that draw the same circle we had before.

Apparently, eCraftShop Pro is able to decypher the circle as long as it's a path.  But, has trouble if the source SVG code defines the circle as an object.  So, our workaround, until Craftwell can deliver a patch that fixes this issue, is that if we try to import an SVG and it fails, we can bring that file into Inkscape and covert any offending objects into Paths and try it again.

If you do not have Inkscape, I would be happy to temporarily try to convert offending SVG files while we wait for a fix from Craftwell.  Just email them to me;  tmeeks(at)createandcut.com

We may find other reasons why an SVG file might not cut correctly.  But, at least we've identified one cause.  I hope this is helpful to you and I'm certainly hopeful that it is consistent as my limited tests have been.

Monday, September 6, 2010

An SVG I Have Yet to Get to Fail

TinaScrapbooking, from the eCraft_Crafters Yahoo group has uploaded an SVG to the files section for the group that I have tested and have yet to get it to fail.  It looks like this when imported into eCraftShop Pro.


The file itself is quite complex.  And, that this is puzzling thing.  The Inkscape version was 0.46 and that may be a factor.  But, no matter what I tried... multiples...


And, even resizing and warping!  I could not get her SVG file to fail.


One thing is clear when you start digging in the SVG file format.  For a "standard", there sure seem to be a lot of variations exhibited from file to file! 

At any rate, thank you, Tina for finding or creating a file that consistently works.  This, along with a file that consistently does NOT work, should help the developers a LOT!

Again, this file can be found in the Files Section of the eCraft_Crafters Yahoo Group.  It's called Scallop Circle.SVG

A Consistent SVG Test File and .CRW

The best way to test software is to minimize it down to the barest essentials to remove the number of variables.

An SVG file is very much like the HTML that draws this page in your browser.  It's just a special form of XML code.  Here is a screen capture of a very simple SVG file that creates a circle and a triangle.

As you can see, it is a very small bit of code.  It says, make a circle with a radius of 60.  The X and Y locations aren't important since we will be moving the file inside the virtual mat area.  And, it also says make a triangle by creating 3 lines connecting from point to point.  The last points, apparently, are understood to go back to the starting set of points to close the path.

You cannot get an SVG file much simpler than this.  So, it should make for an excellent file for testing importing and cutting SVG images.  You can even use a text editor to create the file by simply typing what you see above.  Unfortunately, the blog software tries to run the code if I give you the text itself.  So, I had to display it as an image.

Here is how Inkscape sees this file.

And, here is how it is seen in eCraftShop Prom which is exactly as it should see it. 


So, from a simple visual perspective, it appears that there is no problem IMPORTING a simple SVG.  So, let's take it to the next step to get a consistent behavior from my eCraft.  In a perfect world all of our machines would behave the same with the following setup.  But, we're not in a perfect world and that is why we need to try this in many machines.  Here is the layout.


 I imported the SVG file and then did a copy and paste to get three identical shapes in a row.  Then I cut it with this result.


As you can see, I can repeat the attempt to print over and over and I will always get the same result.  It doesn't matter if I turn off the eCraft and back on so that it is the first thing cut or if I leave the eCraft on between cuts.  It's always consistent.

Now, the real test is to see if your results are the same as mine.  I'm going to put both the SVG and the .CRW files up on the eCraft_Crafters Yahoo group File Upload Section so that you can download the SVG report back on how your system behaves.
 
The  SVG file is called MinimalSVG.SVG and the eCraft project with three sets of the SVG is called MinimalSVG.CRW.

It will be interesting to see how various systems behave with this bare minimum SVG file.

UPDATE #1: Thomas Tweedie's Adobe Illustrator (CS5) File.
Australian Thomas Tweedie sent me a file, using the same shapes, that was created in Adobe Illustrator.  Testing his file, the eCraft reacted COMPLETELY differently, yet THE SAME.  With Thomas' file, the eCraft began the cut with the circle's rather than the triangles (the different) and failed consistently exactly 50% into the first circle (The Same).  Thank you Thomas!  I'll be working with him to try to see how my original file that has been imported and saved in Adobe Illustrator behaves.  What is important for now is that in both cases the failure occurs at 50% of the first circle... a place where one would expect a tab or, possibly, a node in the path.
A personal note.  I am really impressed by the observations and help that I've received from Australian's interested in the eCraft!  And, they don't even have machine's as yet!!   Can you imagine how much help they are going to be to all of us when they actually GET a machine???  Hurry and ship to Australia, Craftwell! 

UPDATE #2: Paths vs. Objects in the SVG Behave Differently

Turning to using a simple SVG file has turned out to be a useful strategy.  For instance, I brought the SVG into Inkscape and converted the circle OBJECT into a PATH.  (The Scallop was a PATH.)  And, it cut the entire circle.  However, it continued beyond 360 degrees and then stuttered.  At least there was an identifiable change in behavior.  And, that is what we are looking for as we experiment.  I'll continue to modify and experiment with the file to see if I can get it to stop at 360 degrees and not reach the stuttering point.
If you have a cut that is failing and you have Inkscape, try seeing if converting the OBJECT to a PATH is any more successful.

Taking Stock in What We Know

Over the past 40+ years I have been involved with many, many situations where, for want of a better description, chaos reigns.  That has been true of projects with small companies and with large ones, like Microsoft.  It is inevitable in the computer industry.

It is never any fun to be in a chaotic situation where uncertainty reigns.  And, from reading just about every message about the eCraft on the Yahoo group and Craftwell's Facebook page, it's clear that this is true in the situation in which eCraft owners find themselves.  So, for what it's worth I would like to suggest something that has never failed me in W-A-Y worse situations than this one.  (I once felt it necessary to return more than $30,000 to a client because the software I had tried to use was so bad that I felt I could not complete the project.)

In the rural area I grew up in, the method I use is generally called "Taking Stock".  We step back and rather than looking at what we DON'T know, we focus on listing what we DO know.  And, then try to use that to  apply to the things that we don't know.

So, what do we know?

First, we know that the standalone eCraft is able to cut the shapes on an inserted SD card without stuttering.  That tells us the the cutting engine, the firmware inside the machine dedicated to perfoming cutting operations is basically working.  Yes, we've seen evidence that squares are not square.  But, they ARE at least rectangles and not random jittering lines.  So, our first known is this:

KNOWN #1: The basic cutting engine inside the eCraft is working correctly.

We also know that the basic design of the hardware is excellent. While we've had to learn the settings and when to use the blade cover or not, most of us, with a little experience under our belts, can cut most materials including heavy card stock, light papers, cloth and model airplane plywood.  While we haven't had the luxury of seeing how it performs over several years, it certainly seems tough enough to take some erious punishment.  So, our second known is this:

KNOWN #2: The eCraft hardware design is excellent and the build is rugged.

Beyond the machine, we know some things about the company. We know that the harware beta testers have said that the company has been very responsive when it came to hardware changes and that the machine we now have is a vast improvment over the machine they were first give to test. So, to me that is something that we should not and cannot forget when it comes to the current software situation.

KNOWN #3: Craftwell has proven responsive in the past

We now know a bit more about the structure of the organization behind the eCraft. We can visualize this structure as three arms... manufacturing, software and marketing (with support).

KNOWN #4: The Structure behind Craftwell has three arms

The parent company of Craftwell is Asian based and it is a large manufacturing company with what we Americans call "deep pockets". We have been told, and I believe it to be true that they have many years of experience in electronics manufacturing and that they have a large staff of engineers. Since I don't know any more than this about the company, I am going to limit my 'known' factor to one thing.

KNOWN #5: The Manufacturing Arm of eCraft is large and experienced.

The software company is revealed by eCraftShop Pro, itself. As I write this, I do not have the software available. So, I will have to modify this blog entry when I return home from traveling. But, it is an India based company that specializes in writing software for startup ventures. It appears to be a large organization and India has become a center of software development because of their combination of high education and lower wages. You would be very surprised to learn how many large U.S. Game companies rely on programmers and designers from India and China. My only concern about long distance programming is that direct contact is lost and this, I feel, is what happened with eCraftShop Pro. What appears to be a software problem is really a communication and software management problem. Given the size of the campany behind the software and the location where brilliant programmers are readily available, I think once the communication and project management issues are fixed, we will be quite pleased with the end result. But, for now, it is nothing less than disastrous for Craftwell. So, our knowns for this paragraph are three-fold:

KNOWN #6: The software arm of the Craftwell Organization is large

KNOWN #7: Because it was large, Craftwell might not have paid enough attention to managing the software development more directly

KNOWN #8: Fixing the communication and project Management problems will fix the software problems

A lot of people are surprised to hear me call Craftwell a start-up company. After all, the parent company is enormous and has many years of experience in the electronics field. Start-up companies are generally seen as little mom and pop operations working with a shoe string budget. So, how can I call Craftwell, that oblviously is NOT in that category a start-up.

Well, it's because I have been involved in many such start-ups over the years. IBM had been in the mainframe computer business for many, many years when it formed a team to market the PC Junior. The PC Junior team was a start-up within the umbrella organization. Moreoever, the thrust of the marketing of the PC Junior was completely outside the long experience of IBM. IBM knew corporate marketing. They were clueless about consumer marketing and that is why I was brought in by the PC Junior team to explain to their parent organization why their strategy was destined to fail if they did not change quickly. I still have the paper I presented, to no avail, and the PC Junior not only failed; but, failed miserably. What was the missing element in IBM's strategy? Emotion. IBM had opted for practicality and completely missed the emotional aspects of why people felt the strong need to "learn computers" at the time.

But, that is not my only example. Hasbro is the largest toy maker in the world. But, with Nolan Bushnell of Atari fame, they created a little startup video game company called ISIX in the 1980's that had to stand on its own to succeed. Time-Life Software was a startup within the giant Time-Life organization. Astrocade, sold the video game system developed and owned by the Bally empire. Cosmic Blobs was a small startup tean within the giant Dessault orgranization.

I worked with all of these projects that were effectly startups within much larger organizations. One of the things that made them a startup was that they were moving the company into a market into which they had never gone before. So, even though all of these large companies had years of experience, they did NOT have experience in the field in which the startup team was going to be taking them.

And, that is where the Craftwell offices in the U.S. come in. They are the startup team taking their parent company into the new market of digital die cutters and crafting. And, it is obvious that this startup team was more focused on getting the hardware right than on getting the software right. In fact, I believe that they were (and are) a bit naive about the level of sophistication that will be required by the software to satisfy this marketplace.

But, I also think that they will NOT make that mistake in the future. So, my knowns for these last paragraphs are:

KNOWn #9: The Craftwell team can be considered a startup

KNOWN #10: Start-ups by the very nature of moving in new directions, lack some of the operational experience they need.

KNOWN #11: Those gaps in expertise can be filled quickly.

The infrastructure is there. All the elements for total success are there when we take stock of what we know. Naivete is not surprising in a startup team since there are so many unknowns to the team. They are charting new waters. But, those gaps that resulted in the software we see can be easily corrected by better communication and stronger project management. This is a wake-up call and I think the Craftwell management knows this and is now VERY wide awake!

You wait and see. The end result of this current chaos is going to result in a stronger and more dominant product in the future. I LOVE working with people that have experienced some failure. They are the truly wise ones. Nobody knows better then they, what to watch out for in the future.

If you have already purchased an eCraft and are concerned, I think you'd be wiser to keep it than to return it. My experience says this a GOOD thing (although it looks TERRIBLE now) for all of us in the very near future.

Thursday, September 2, 2010

Stuttering When Trying to Cut SVG Files.

Nothing is more critical to us now then being able to import and cut SVG files.  In my TRIAGE list it is right at the top.

Hopefully, the behavior that many, if not all, of us are experiencing when trying to cut a shape that was imported as an SVG can be fixed very, very quickly.

Here is a video that demonstrates the problem.


My operating system is a Windows 7 - Ultimate (64-bit) and you can see the driver that I'm using in this article.

If you are having similar problems with a different operating system, or NO problems with cutting SVG imports, PLEASE let us and the software designers know by posting a comment.  THANKS!

NOTE:  I have NOT seen this behavior with eCraftshop's internal shapes.  So far. I THINK it's limited to SVG files.  I'm importing SVGs from Inkscape both in Inkscape and Regular formats.

You don't see me panicking and I bought TWO!!!

I know that everything that could go wrong has gone wrong when it comes to the debut of eCraftShop Pro.  You've had problems getting it loaded.  I've had problems getting it loaded.  It's been tough.

And, on top of that the electricity and phones went out in the area in which the Craftwell offices are located and everyone is having to work from home.  It's got to be a nightmare for them.

Then there is the software, itself, once it is loaded.  I saw a rave review on Craftwell's facebook page touting how wonderful it is.  And, I could not help but wonder what universe he is living in!  I am NOT going to rave about how good the software is.  That's because it is not.

BUT!!!

And, I mean this sincerely...

The eCraft is a better machine than my Gazelle in all the ways that are important to me.  And, the Gazelle is among the best of the best.  If you panic it is you that will lose in the long run, as all these startup glitches get put behind us.

Many, many years ago, I was in charge of a Washington Area telethon called the "Johnny Cash Youth Special" that we expected to bring in millions of dollars.  But, just as the telethon went on the air, a popular local call-in program also went live on the radio.  Unfortunately, we were on the very same 'choke' network.  This network is designed to protect the entire phone system in a surge of calls by blocking calls on purpose.  Our phones went dead as a doornail.  And, we barely cleared expenses.  We were devastated.

The Baltimore chapter of the organization was not on a 'choke' network.  They DID make millons and they were estatic.  At that time, neither organization could ever have guessed what the final outcome would REALLY be in a very short time.

A year later the Baltimore organization was almost broke having lost all their old support base because that base thought they were no longer needed.   But, we still maintained our old support base because they knew they were needed.  In the end, we came out AHEAD and the Baltimore chapter all but collapsed.

In a time of crises, chaos or just plain uncertainty it's easy to lose perspective.  Don't let that happen here.  The eCraft is, at it's CORE a superior machine.  The fringes might be a bit rough right now.  But, from all the testing I have done, I have to believe that the CORE is rock solid.

But, what of the Software?

Being honest, I have to say it's a huge disappointment.  But, in my 30+ years of being a software designer, I've delivered big disappointments before.  Yet, once we and the client saw what we'd delivered and how our original vision had fallen short of their actual needs, we were both able to more clearly communicate what they wanted and what we could deliver.  SOFTWARE IS EASILY AND QUICKLY CHANGED!\

Once you know what you DON'T want, you have a better idea of what you DO want.

So, rather than bash anything and everything about the eCraftShop Pro, which I could easily do, I would rather work with my fellow eCraft owners to TRIAGE the software and communicate our priorities and our expectations back through the Craftwell channels to the developers.

PRIORITY #1: SVG IMPORTING  AND CUTTING

For me, the number one priority is to get the SVG importing and cutting fixed... and fixed fast.  With that working we have the safety valve of being able to use any number of products to create our own designs.  Everything else is a distant also ran.


And, if that doesn't get fixed, then it's time to go in another direction.

Finally, I started out by pointing out that I have purchased two of these machines... and, remember, I am not even a crafter.  I am helping my artist daughter do her art.  And, along the way hoping to help you who can do such beautiful work to do YOUR art.

I could easily return them.  But, I won't.  I'm looking to where this can go, not where it is right now.  And, I remain convinced that those of us that muscle through these uh... interesting... times.  Will be VERY glad that we did.

TRIAGE... not TRASH... is the road I'm going to take.

I'll do it with my eyes wide open and my reality glasses on.  I'm as sad as you are that we weren't delivered a much more mature product.  But, we do have to remember we are dealing with not only an infant product; but, an infant company.  It takes guts for a start-up to invest the kind of money they've invested in the hardware.  So, I am willing to believe that after this wake-up call they are going to be willing to invest the same energy and money in the software.

Let's help them do it.  You know what you want and you know what you need.  This is your chance to mold a product to fit both of those criteria.

Maybe this blog is a good place to communicate your own priority or priorities.  I allow comments as long as they are not totally outrageous or filthy.   As you look at eCraftShop Pro, right now, what is YOUR number 1 priority?  The great thing about the internet that people all over the world can work together to build a better tool for themselves.  And, it's easy for those who are responsible for making the changes to see what you have to say.

I usually respond to comments.  But, in this case I will not, letting you have a conversation among yourselves to build our community TRIAGE list.

eCraft Driver on a Windows7 (64-bit) Computer

Everything that I test will either be on a Windows7 - Ultimate (64-bit) or an XP Professional machine.   I can't guarantee that the drivers loaded onto my machine for the COM port are the correct drivers.  But, they are the drivers that Microsoft Windows 7 THOUGHT were the right drivers and they at least allow me to cut.  When I first loaded the software the driver, for whatever reason, failed to install correctly.

The name of the driver on my machine is Silicon Labs CP210x USB to UART Bridge (COM3) 


The settings are the defaults.


When we click the Advanced Button, we get some more information about the driver settings.  Again, these are the default settings.


The third tab in this dialog box reveals the date of the driver, which in my case is 7/21/2010.


But, selecting the driver details reveals the most useful information for those whose drivers have failed to load correctly.  If gives us the files and the locations of those files.  If your is failing, you might want to check for these files. 


This tab isn't all that interesting.  But in the interest of showing all the tabs, it's included.


And, the same is true of the last tab.  It may be that you might want to uncheck the auto power off.  But, only if you suspect it's giving you problems.


HOW MINE FINALLY LOADED

I could not cut when I first installed the software.  I knew not to connect the cutter before installing it.  So, that wasn't the issue.  And, I tried, several times, to unplug and plug in the USB cable without success.

So, I went to the System Device Manager and found that the device driver WAS loaded.  But, at the time it was 'not working correctly' for whatever reason.  It will be found under "Ports (COM & LPT)


I made sure the eCraftShop pro was closed and the eCraft was turned off.  Then I deleted the entry.  I cannot remember if I rebooted or not.  But, once its was deleted I attached the USB cable and turned on the eCraft.  At that point, Windows 7 went searching for the driver for the eCraft and installed it correctly.

Now, I THINK this is the correct driver.  But, I have not seen any other machines and Windows could have found a close match.  I am having some problems cutting SVG files.  And, it's possible that it's a driver issue. 

I'm a software developer.  I don't claim to be a hardware guru.  So, take this post with that in mind.  It's at lease worth a try for you.