PDA

View Full Version : OT: Ported my FSWizard calc to a platform-independent javascript code. What now?



Zero_Divide
06-03-2013, 06:52 PM
Basically its all in the subject.
For those who don't know the story: I am developing a line of CNC speed and feed calculators.
I have ported my online version to be able to run on client side without any internet connection.
I am trying to figure out if packaging it with PhoneGap and putting it out on Google Play for 10$ is a good idea.

See. When someone extracts javascript he can run it on any platform, plus all the code is out in the open. Which will compete with my HSMAdvisor that I am planning to sell as well.

Is developing an app in java better?
How easy is it to rip/patch/reverse engineer a java code?

j king
06-03-2013, 07:12 PM
I believe I can't use java on iPhone so no.lol! Would like it on my ipad and or phone.

Jon Heron
06-03-2013, 08:28 PM
Is developing an app in java better?
How easy is it to rip/patch/reverse engineer a java code?
No, not in my opinion, using Qt (http://qt-project.org/) c++ or qml is the way to go for cross platform development, its whats used for VLC, Skype etc...
Java is no easier nor harder then anything else to crack, use some good obfuscation and carry on. Technical apps like that wont get much attention from hackers anyways...
Cheers,
Jon

Zero_Divide
06-04-2013, 07:37 AM
My app is in no way a Skype.
So, I guess JavaScript will do.
I will scrable it as much as I can and just put it out there I guess.

Thanks for replies!

Jon Heron
06-04-2013, 08:13 AM
How will you package it for the different platforms? Or is it browser based? I am not sure I understand what you mean when you say
Ported my FSWizard calc to a platform-independent javascript code. What is a platform-independent javascript code? Something that will run in a browser?
If all your program logic is in Mozilla JavaScript (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference) then all the hard work is done for a Qt qml app (http://qt-project.org/doc/qt-4.8/qdeclarativeintroduction.html). Qml uses JavaScript for its program logic, you would just need to whip up a ui and then start packaging it. You could then release it for the new blackberry and playbook, android, ios, mac, windoze, linux, win ce, etc, etc...
You can even make your ui in photoshop or gimp and then import it into qml (http://blog.qt.digia.com/blog/2010/10/19/exporting-qml-from-photoshop-and-gimp/), though you can make the ui's so easily I have not tried the importing thing, its very slick and easy to use in my opinion.
Cheers,
Jon

Zero_Divide
06-04-2013, 08:30 AM
Its basically a web page with css and html.
Inbuilt JavaScript functions do all the math and update fields. Nothing fancy.

Using PhoneGap I can create an apk file for android. I really like the flexibility and versatility of html so I want to use it if I can: what took me 2 weeks to code on vb.net took me just one night to do in JavaScript.
Does Qt have any tools to create gui drag and drop style? I looked at their site and sheer broadness of Qt kind of scares me a bit.
Even java doesn't seem so difficult to grasp compared to it.

Jon Heron
06-04-2013, 08:53 AM
Yeh, its a bit overwhelming at first. They are in a transitional time right now too which I am sure doesn't help much, it has changed hands from Nokia to Digia recently and they are rolling out Qt 5.
You can download it from here http://qt-project.org/downloads and then try one of the included examples or a simple qml hello world app and then get a feel for it.
I believe the 5.0.2 version there has qml drag and drop controls from the IDE though I haven't tried it yet as I am in the middle of finishing a Qt4.8 application and haven't upgraded to 5 yet... I know that Qt5.1 is going to have complete qml controls supported across the board from desktop to mobile. I am currently just using the old symbian controls for my apps and they work great on everything.
Perhaps its better to get the 5.1 beta, it should be out of beta and released before the end of the month... Get it here http://download.qt-project.org/development_releases/qt/5.1/5.1.0-beta1/ and try it out, you may be surprised at how quick you can pump out an app with qml...
Qt also has support for html and css directly.
Cheers,
Jon

taydin
06-04-2013, 09:24 AM
You can have all the visual aspects done in javascript/css/html. These will be out in the open and can be copied. For all the math, which is the part that makes it sellable, use a cgi interface to do the calculations. The user will only see the output of the cgi and not how it does the calculations. There are other "server side" processing technologies (php, node.js, asp, and many more), but cgi is very simple. You only need to know C.

needlenose
06-04-2013, 10:56 AM
Heads up! Check Qt licensing before you jump. It's not free for commercial use. We've had legal shut us down before because someone included Qt under the impression it was completely free.

Would hate to see good ideas get stamped out under legal obscurities.

Zero_Divide
06-04-2013, 12:54 PM
You can have all the visual aspects done in javascript/css/html. These will be out in the open and can be copied. For all the math, which is the part that makes it sellable, use a cgi interface to do the calculations. The user will only see the output of the cgi and not how it does the calculations. There are other "server side" processing technologies (php, node.js, asp, and many more), but cgi is very simple. You only need to know C.
Yea I already have php side working, but I don't see how I can possibly monetize that and keep online service free to use.
Besides because of latency issues I don't believe many people would agree to pay for it anyway.


Heads up! Check Qt licensing before you jump. It's not free for commercial use. We've had legal shut us down before because someone included Qt under the impression it was completely free.

Would hate to see good ideas get stamped out under legal obscurities.
Thanks that is a definite show stopper

http://zero-divide.net/index.php?page=FrontPage&shell_id=151&view_attached_image=121

Evan
06-04-2013, 02:09 PM
You can obfuscate the JAVA code using http://proguard.sourceforge.net/

This makes it tighter, leaner and very hard to steal. $10 is too high for an app. $5 is probably ok considering the audience. In order to convince people that it is worth paying for you should release a free limited capability version with the full set of capability menus present but with important functions greyed out. Do not use advertising support. Best is if your permissions list is "No special permissions required". That will mean a lot to an audience of techs. I will not buy an app that requires net access unless the job it does requires such access. I also will not buy anything that requires server side functionality to operate. I do not always have net access and on general principles I want all functionality to be limited to the device on which it runs.

Jon Heron
06-04-2013, 02:53 PM
Heads up! Check Qt licensing before you jump. It's not free for commercial use. We've had legal shut us down before because someone included Qt under the impression it was completely free.

Would hate to see good ideas get stamped out under legal obscurities.
That is not at all true. Qt is covered under the LGPL licence and therefore your source code can remain private. Only if you need to modify the core Qt libraries would you have to then make the source for the modified libraries available...
I have been selling applications with the Qt LGPL licence for years now with complete support from Qt and have never had to produce any source code as the LGPL protects that.
There is also a commercial edition of Qt that has some advantages, (mostly the advantage is support) however for what Zero_Divide is doing the standard LGPL would be all he needs...
Here is an old article about it from when Nokia owned Qt but it is no different then now. http://blog.qt.digia.com/blog/2009/11/30/qt-making-the-right-licensing-decision/
Cheers,
Jon

Zero_Divide
06-04-2013, 02:53 PM
Thanks for the tips.
I will definately make a limited free version.
I hate adds myself, plus there is not enough audience to make any return on them at all.
5$? Its like a pack of cigarettes......sad.

Jon Heron
06-04-2013, 02:59 PM
The Android market is completely diluted and its very difficult to make any money from it. Blackberry and ios are doing quite well with our trade apps but no matter what we tried we couldn't get any decent sales on droid... Windows phone is getting better but is worse then droid.
The apps all sell for 10 bucks but we tried every price point available as well as free versions, limited versions etc none with any great impact on sales... it is what it is.
Cheers,
Jon

needlenose
06-04-2013, 04:09 PM
That is not at all true. Qt is covered under the LGPL licence and therefore your source code can remain private. Only if you need to modify the core Qt libraries would you have to then make the source for the modified libraries available...
I have been selling applications with the Qt LGPL licence for years now with complete support from Qt and have never had to produce any source code as the LGPL protects that.
There is also a commercial edition of Qt that has some advantages, (mostly the advantage is support) however for what Zero_Divide is doing the standard LGPL would be all he needs...
Here is an old article about it from when Nokia owned Qt but it is no different then now. http://blog.qt.digia.com/blog/2009/11/30/qt-making-the-right-licensing-decision/
Cheers,
Jon

From slide 14:

"There is debate within the legal and open source communities as to whether static linking is permitted under the LGPL v.2.1 license

This is due to an inconsistency in the LGPL v 2.1 license itself regarding the definition of "works based on the Library" as the Library and derivative works of the library.

Executables may be considered to be derivative works and this could result in the need to share the application source code."

A couple of years ago, the entire software department where I work sat through a four hour meeting with our legal department where a couple of corporate licensing attorneys shredded the LGPL. Some of their legal premise was based on the ambiguity above. They are corporate licensing attorneys, I simply assumed they knew what they were talking about. The consensus from management was; all products using Qt must obtain a commercial license specifically permitting the resale of our products with Qt. It looks innocent enough, but in the right hands, has some fairly substantial barbs.

I hear Qt is a great product. I've never used it. All I warned was; look before you leap.


...but no matter what we tried we couldn't get any decent sales...

This may have contributed to your success in avoiding a legal dispute. Money has a nasty way of attracting them.

Jon Heron
06-04-2013, 05:57 PM
You make some points that are certainly worth consideration, thanks for sharing!
Cheers,
Jon

sansbury
06-04-2013, 06:26 PM
$10 is very reasonable IMHO, cost of one decent endmill. Bob Warfield seems to sell a fair amount of G-Wizard and that is ~$75/year or something, though he's gradually been packing in a lot of other features. If you want to make $ you probably need to be on the Apple App Store. PhoneGap makes the development easy, the process of becoming a developer is not that onerous.

I would not obsess over the hacking risk. Even if it escapes into the wild a lot of people will still prefer to buy it legally for convenience and the benefit of getting updates and such. Perhaps there are some "premium" features that can require a phone home to your server--WiFi or 3/4G data service are pretty near universal I'd wager.

People talking about porting to Qt etc. are breathing in too much Dykem IMHO, no offense intended. I run a software company and right now you have to be mental to build anything new in a platform *other* than HTML5 unless you have a very, very specific requirement that dictates otherwise. Websockets, Canvas, etc. make it a whole new game.

Jon Heron
06-04-2013, 08:14 PM
People talking about porting to Qt etc. are breathing in too much Dykem IMHO, no offense intended. I run a software company and right now you have to be mental to build anything new in a platform *other* than HTML5 unless you have a very, very specific requirement that dictates otherwise. Websockets, Canvas, etc. make it a whole new game.
LMAO, somebody is certainly inhaling something with making ridiculous comments like that!
You cant even compare a complete solution like the Qt suite of libs to HTML5, Qt is light years ahead of what can be done in HTML5 and the applications have no dependency on the browser of the day. Its native code that will always be more stable, efficient and reliable, period. It doesn't even make sense to compare the two, no serious application developer is using, or would consider using HTML5 for obvious reasons. Perhaps if your making angry birds or the fart app HTML5 would be a safe bet, if your making a powerful application that people depend on for productivity native is the way to go...
The ever growing popularity of Qt and the recent purchase of Qt by Digia is a true testament of its value to professional developers world wide, perhaps not to Dykem inhalers though...
No offence intended! :)
Cheers,
Jon

Zero_Divide
06-04-2013, 10:48 PM
Chillax guys!
I am by no means a serious developer. Even though I have coded huge stuff in my life it does not mean I can just drop everything and learn a new language I have no idea about.... unless I really need to.
I will not be accessing hardware. I will not be interacting with other software other than maybe server for data sinchyng. Javascript+html5 will do for that. I can even store stuff clientside using indexedDB
I appreciate the brainstorming though gave me a lot to think about.

Do you think people will be too pissed off if I leave just 2 materials in lite versionand 2 tool types?

I am thinking about leaving mild steel and alimum available.
Tools could be drill and endmill.
Tool materials would be limited to HSS and there would be no coating available.
This way it would cover still 90 percent of what hobbyists do, but require more serious guys to by pro version.
What do you think about it?

Jon Heron
06-04-2013, 11:14 PM
Do you think people will be too pissed off if I leave just 2 materials in lite versionand 2 tool types?

I am thinking about leaving mild steel and alimum available.
Tools could be drill and endmill.
Tool materials would be limited to HSS and there would be no coating available.
This way it would cover still 90 percent of what hobbyists do, but require more serious guys to by pro version.
What do you think about it?
Good question, we tried a couple different methods, it seems there are alot of people who have no appreciation for the amount work that goes into an app like yours and will give you a one star review killing your sales for no reasonable reason... This is a big issue with low volume sellers such as your calculator. IMO a fully functioning version with a time limit is the best approach to keep people happy but this is not always possible due to restrictions of certain app stores, iirc.
Give it a try the way you suggested and see how it goes, if you are getting bad reviews and its not moving try another approach. I found that patience pays off, particularly on droid store, it seems to take a month or so for sales to pick up, at least for the trade style calculators we have.
Good luck!
Jon

Glug
06-05-2013, 12:28 PM
Bob Warfield seems to sell a fair amount of G-Wizard and that is ~$75/year or something, though he's gradually been packing in a lot of other features.

It *sounds* like good software that I might consider buying but I can't even eval it because it requires an internet connection to frequently phone home. We don't have internet in the shop - it's where we go to escape from those distractions. Also, any piece of software that must regularly phone home is a piece of software that will stop working someday when the servers are no longer available to authorize it, etc.

And the thing is, if there was much demand for Bob's product, crackers would crack it. And their version would be better because it wouldn't have the stupid phone home requirement. I think of software as just another tool, and I don't expect my tools to suddenly stop working.

In any case, I'm not sure Bob's extra features would make any difference in the majority of my cnc machining.

Evan
06-05-2013, 02:54 PM
It *sounds* like good software that I might consider buying but I can't even eval it because it requires an internet connection to frequently phone home.

That is not something I will tolerate in any software, even Windows. If it does try to phone home I either disable that function or firewall it. If that breaks it it is uninstalled. You would be amazed at how many places in Windows there are that report back to MSFT.

The first thing I do after installing new software is to pull the network cable and see what happens. I have my desktop set up with the back facing me. http://ixian.ca/pics10/biggrin.gif

Zero_Divide
06-05-2013, 07:31 PM
That is not something I will tolerate in any software, even Windows. If it does try to phone home I either disable that function or firewall it. If that breaks it it is uninstalled. You would be amazed at how many places in Windows there are that report back to MSFT.

The first thing I do after installing new software is to pull the network cable and see what happens. I have my desktop set up with the back facing me. http://ixian.ca/pics10/biggrin.gif

How about software that's locked to one particular computer?
Would you rather pay a low price for a single seat, or pay more for a luxury of being able to move the program around?

In the later case you would be paying for yourself and for the other couple of guys who will be using it without paying.

John Stevenson
06-05-2013, 08:30 PM
If I have to have a licensing system i much prefer to have one that is registered in name only.
Phone home is out, no network in the workshop, or on the move.

Same for licensing to a computer, computers nowadays are time limited and throw away. Even if you keep the same computer a change of hard drive or graphics card is enough to require a new password. Even a fresh install can trigger this.

In fact the last time I tried to run G Wizard it would not install due to that Adobe virus you need to run it.
Bob Warfield sent a few emails and instalation files to overcome this but not worked. Could not get rid of Adobe Air on the computer which required a fresh install of Windows that cost me 3 days, lost work and guess what, I had to get new passwords for a few programs.


In the later case you would be paying for yourself and for the other couple of guys who will be using it without paying.

That statement doesn't work. I pay for one seat, you get the money. You do not loose money off the other two guys as they would not have bought anyway, yes I know they are getting something for nothing but you as a developer are no better and no worse off.

Restrictive licensing means you sell less. OK keeps piracy down as well as sales.

take a look at Vectric products, It's only recently that anyone has ripped off thier products and then only Aspire, the expensive flagship because they have kept costs reasonable so it not worth it.

Deltacad cost $40, find a cracked copy ? Solid Works costs $5,000 plenty of cracked copies out there.

Zero_Divide
06-05-2013, 09:30 PM
If I have to have a licensing system i much prefer to have one that is registered in name only.
Phone home is out, no network in the workshop, or on the move.

Same for licensing to a computer, computers nowadays are time limited and throw away. Even if you keep the same computer a change of hard drive or graphics card is enough to require a new password. Even a fresh install can trigger this.

In fact the last time I tried to run G Wizard it would not install due to that Adobe virus you need to run it.
Bob Warfield sent a few emails and instalation files to overcome this but not worked. Could not get rid of Adobe Air on the computer which required a fresh install of Windows that cost me 3 days, lost work and guess what, I had to get new passwords for a few programs.



That statement doesn't work. I pay for one seat, you get the money. You do not loose money off the other two guys as they would not have bought anyway, yes I know they are getting something for nothing but you as a developer are no better and no worse off.

Restrictive licensing means you sell less. OK keeps piracy down as well as sales.

take a look at Vectric products, It's only recently that anyone has ripped off thier products and then only Aspire, the expensive flagship because they have kept costs reasonable so it not worth it.

Deltacad cost $40, find a cracked copy ? Solid Works costs $5,000 plenty of cracked copies out there.


Deltacam? Have not ever heard about it. But I assume if you need to crck something it has to be locked first...what kind of lock it is- I don't know.
I am just throwing ideas here thinking outloud.
When I needed a piece of software I had to buy it for 140$ its locked to one single computer and can not be transferred. Though I was not comfortable buying something that would stop working once my computer dies, I neded it and since I could not afford a company license for a grand I bought it.
When somebody needs something he buys it. Even if terms don't please him very much.
How about three license types.
1) Single seat, single computer (locked) 100 hypothetical dollars
2) Single user, multiple computer, personal (only one user authorised to use it on any computer, not locked) 300$
3) Company-wide where every emplyee can use the program on the premises. Not locked. Say a 1000$.....
Would that sound like a plan?
All figures are hypothetical just musing outloud.