Page 1 of 1

Software Problems and Incentive

Posted: Tue Oct 14, 2014 2:30 pm
by mikethedj4
I just thought I'd jot some important information relative to software I think are important along with annoyances/problems I get when doing some freelance work.

By all means please add some of your own as well. (This post is made to give developers incentive to build a better application, or add additional features to into their application)

It's important that you comply with all legal matters for obvious reasons. From Terms of Service, Privacy Policies, Distribution Agreements, Licensing Agreements/Intellectual Property, etc: (Make sure you read them thoroughly before you agree)

Price: devil;
There's a lot of commercial software out there, and some are just to darn expensive. Others are at imo a fair or even cheap price but just can't afford it. Bills are far more important than a nice piece of software that may or may not make your life easier.

Also there's no shame in asking for exchange for doing a service. However there is relevance from that service let alone towards that service. If you wrote one line of code to Flowhub or Nodewerk and immediately start asking for donations. Don't ask on the companies or software's website if it's a collaborative project! (There's a very high probability of you getting kicked from the project)

If you're using open source software for your independent or company's commercial software. Again make sure you comply with all legal matters.

I personally have never came across an open source software license that says you can not use it for commercial use. My personal favorites are the MIT and GPL License Agreements.

Open Source: loove;
Again there's no shame in asking for exchange for doing a service. This goes with open source software as well, just remember what I said above to not only comply with legal matters but also don't risk yourself getting kicked from the project.

My personal favorite license agreements are the MIT and GPL.

Documentation: dunnno;
To many apps are poorly documented. Terrible typography, no images let alone screenshots, no list of system requirements, need I go on?

Collaboration: cooll;
Sites like Koding.com, Cloud9IDE, and Github make collaboration incredibly easy and simple.

A few things I learned collaborating are..
- Document everything, not just information on the application as stated above, but your code, the changes, everything.
- If there's an authors section you're name goes there, never add your name as a comment for the code you wrote. If you make a and it has been written ENTIRELY by you, and you're in complete control over it. If at all possible release it separate from the group project you're working on, on a site like Github. If not possible talk to the group manager or supervisor first to see if it's ok to add your name to it (some are ok with it, most aren't).
- After 2 hours you fixed a big for your program using Koding.com or the Cloud9IDE, and now it's time to commit your changes to your already added Github repository. (Be VERY careful when doing this so you don't accidentally overwrite new code someone else added 5 minutes before you submit your changes. Otherwise their code will most likely go back to where it was before they committed their change)
- Most local groups I've worked with meet once a month. The talk is stuck with where we are at current state of development, discuss/show the changes that are being made. There was one group I attended where the actual development of the application is done one day each month, at that very meeting. Which sounded a bit grotesque but in just a few hours I learned a lot. If you're looking for something like that I'd suggest searching on Meetup.com.

Platform/Browser Compatibility & User Interface: cryer;
Desktop applications are dominate for productivity. Sadly a lot of these amazing applications are not available as a mobile application, let alone a web application for a variety of reasons. In addition I think it's important to point out that if at all possible try and stick with one interface that's responsive for all devices, and at best try and avoid having two or more different interfaces for two or more different devices (like Android and iOS).

I'm primarily a Firefox user and a lot of web apps I run into like WebFlow, FlowHub[url], and many others are browser dependent ... me/]Chrome, Safari, Opera, and Midori).

There are great JavaScript libraries like JQuery, MooTools, DoJo that can help you out dramatically for browser incompatibility while coding, but it won't help completely. (Especially while using ExecCommand on IE)

Remember to use lots of images and nice readable typography. (example 1,example 2) This or course takes practice like everything else, try try and try again. If you're looking for constructive criticism I first go to the online community you'll reach a lot more people into marketing and design online than you would talking with friends or walking the street, of course it's always a good idea to go to people locally anyway and get their opinion on it.

Now keep in mind when you're looking for constructive criticism you will ALWAYS get people who don't like something about it or want something(s) changed, and that's fine. As a designer/developer it's your choice (or companies) to accept it or dis-guard it.

Application Ideas: :idea:
Website Design and/or Creation Software omg;
Every web design application I find you can either drag and drop or draw/move/scale (some also have rotate handlers), but never both. In addition there's nice web design software available for desktops but not tablets or smart phones, and the ones that are available for mobile are very minimal most confine you to a template and let you customize specific aspects of it like images and text. Everyone is different and users should be able to design their website with complete creative freedom. Not just for design but even website management. Giving you the exact same freedom for platform compatibility as an online web application and as a desktop application.

It's not a big deal, but I do think it'd be nice to have a web browser built into a web design application. Both as a window, and as a dock-able dialog. Why? Well I sometimes I want to browse the web while I'm working on a web layout, and I don't want to leave the application I'm using to design it.

Node Based Editing/Visual Based Laboratory omg;
There's many and I mean many visual-based programming and design applications out there.

Blender, 3Ds Max, ThreeNodes.js (3D Modeler), Nodewerk, NoFlo, ParticleLab, Ramen, KaeteMIX (Audio editor), FilterForge (which is a PS plugin), InsaneFX, NodePaint, Nodality, Quartz Composer, Flowhub, Waterbear, are just a few node based editors out there.

Except all of these applications are platform dependent.

I'd like to be able to develop web applications using a node based editor in a web browser, migrate to my smartphone, or tablet, and work on it there. Flowhub is doing exactly this, but is fairly expensive. So price is an issue here.

I don't know if the web application will behave nearly or exactly the same as the standalone Android application.

Web Based Advanced Video Special Effects Editor (with the power of After Effects)
Now I use Blender as my video editor instead of After Effects because it's free, I have advanced video editing capabilities, and I'm not confined to just the video editor because it's also a game developer, and 3D modeling application that available for Win/Lin/Mac. Now isn't that a jaw dropper? boogy;

Now this is easier said then done, but yet still good to jot down anyway. I'd like to have something like after effects (or even blender :mrgreen:) accessible in the cloud that I can run on my laptop, tablet, or smartphone.

Closing:
Everything I put down is stuff I've dealt with personally and does not represent any companies or software I've dealt with personally nor as a whole.