* The Business of Software

A former community discussing the business of software, from the smallest shareware operation to Microsoft. A part of Joel on Software.

We're closed, folks!


» Business of Software FAQ
» The Business of Software Conference (held every fall, usually in Boston)
» Forum guidelines (Please read before posting!)


Andy Brice
Successful Software

Doug Nebeker ("Doug")

Jonathan Matthews
Creator of DeepTrawl, CloudTrawl, and LeapDoc

Nicholas Hebb
BreezeTree Software

Bob Walsh
host, Startup Success Podcast author of The Web Startup Success Guide and Micro-ISV: From Vision To Reality

Patrick McKenzie
Bingo Card Creator

new to the business - how to protect Javascript code?

Hello everybody,

I finally get the software consulting business website online. A small step but not easy for me since I am mostly a back-end coder.

If I have the main logic of my SaaS software in front-end javascript, should I worry about protecting it? Any ideas how? I am leaning toward not to do anything about it other than "uglify" it. What is your opinion on this.

Finally please critic ruthlessly how the site is. I am updating it each week.

Bo Yuan Send private email
Tuesday, February 25, 2014
Site criticisms of just the first page:

Why is the whole page a small white square in a sea of grey?  Not appealing to me, at least.

What dictionary are you using that has "aptus" as an actual English word?

"we are passionate about: Data Visualization, and Mobile Platforms."
Please see this:

"We will hold your hands".  Sounds odd. In fact that whole section could be cut and just keep the link to your process.

Page could use a little graphical spicing up, just something.
Racky Send private email
Tuesday, February 25, 2014
Thank you for the suggestions, Racky. Very helpful.

The entire design concept is "enhanced business card". The designer said if the bright area is small it will be the focus and it gives the impression of efficiency since everything loads faster. But if it is not appealing there is no need to argue about it.

I am really bad with CSS, still learning. Javascript seems natural to me though.

Aptus is Latin.

Bo Yuan Send private email
Tuesday, February 25, 2014
Not sure what you used to develop the website (JS?!), but the unnecessary scroll bars are a real pain. They appear then disappear when the mouse doesn't move, then re-appear when the mouse moves. There is no point to the scroll bars on my screen since everything is visible anyway and you can't actually scroll!

You may have an issue with Aptus as an SEO term since Aptus is used by anyone that sells zips, buttons and any other garment fastener.

The term makes sense though (suitable, connected, appropriate, etc) in an IT perspective, so keep hold of it.

Ewan McNab Send private email
Tuesday, February 25, 2014
"With the latest, most exiting technology"

Obviously not intended (I hope).

Also, depending on your audience, consider the Americanis(z)ation. For some very strange reason Americans think of  s's as z's in certain words (Visualization/Visualisation). Both perfectly fine with the OED, though.

I have to admit, though, especially with code, to taking the Americanized route....
Ewan McNab Send private email
Tuesday, February 25, 2014
Thanks a lot Ewan! The scroll bar appears to be a CSS issue.  All good suggestions.
Bo Yuan Send private email
Tuesday, February 25, 2014
@Bo, you can't really protect js that much. You can minify it but there are tools to easily un-minfy it.

Your main logic should not be used by Js, especially if it grows to be a big Saas project.

Will you be making database connections for this app?
John Senar Send private email
Tuesday, February 25, 2014

The structure I am most comfortable with is a JS front end visiting a thin "access" layer of REST api (Node.js/Asp.Net MVC) then accessing the main backend-logic-data layer which has direct DB access.

The type of server side technology including choice of database will be based on the type of application plus my customer's preferences.

My preference is to push rendering tasks as much as possible to the JS front end; however, that triggers concerns for protection of propitiatory logic. I may choose to open source the rendering framework once I am done with it.
Bo Yuan Send private email
Wednesday, February 26, 2014
TYPO: expereince
GregT Send private email
Wednesday, February 26, 2014
"If I have the main logic of my SaaS software in front-end javascript, should I worry about protecting it?"

NO, you should not worry about protecting it. However, you SHOULD worry about WTF you have 'the main logic of my SaaS software' running client-side and in JavaScript. Especially if you are a server-side guy.
GregT Send private email
Wednesday, February 26, 2014
lol @ Greg. He's right though.

Why were trying to push rendering to JS? So you have less overhead on your server? I think MVC will fit you perfectly. Send me an email if you need help with anything.

Good luck!
John Senar Send private email
Wednesday, February 26, 2014
Protect your code?

This is 15 seconds after I decided to look at your "uglified" code:

function a(){k.switchToApp("data-visualization")
function b(a,b,c){j=new h.m.MapUtil("#70e588","#ffffff","#usa-svg-panel",a,b,c,8)
function c(a){var b=document.getElementById("mapAlert");b.setAttribute("class","alert alert-success"),b.textContent=a
function d(a){var b=document.getElementById("mapAlert");b.setAttribute("class","alert alert-info"),b.textContent=a
function e(a){var b=document.getElementById("mapAlert");b.setAttribute("class","alert alert-warning"),b.textContent=a
function f(a){var b=document.getElementById("mapAlert");b.setAttribute("class","alert alert-danger"),b.textContent=a
if(function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)
Sam Tyler Send private email
Thursday, March 13, 2014

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz