# I want to start a software company



## whitesaint (Mar 11, 2003)

I have built many Cocoa apps, but none of them turn out successful.  People want the best and competition is just plain rough.  What do you guys think are the best sellers in software?


----------



## Trip (Mar 12, 2003)

A good program needs good graphics, let me know if you want it affordable. 

I rule at design.


----------



## phatcactus (Mar 12, 2003)

Good programs very rarely need graphics.  Sure, the icons should be top-notch, but programs that serve a good function but crap out when it come to interface go straight to the trash, on my machine.

That's what happened to your implementation of Virtual Desktops when I tried it some time ago.  As a matter of fact, that's what's happened to Codetek's too, so don't feel bad.  

I'm really really beggin' baby jesus for a decent implementation of virtual desktops on OS X.

I just downloaded your app again, and after several dialog boxes, I can't get it to really do anything.  Little boxes jump around sometimes, but that's about it.

If you want some help with the interface, I'd be glad to give you a hand.  I'm no authority on the subject, but yours has some big problems.  

I can't promise that I'll be able to help you, and I certainly can't bring you any money, but it's worth a shot to try to make a better product, right?

I'm going to download the source now and see how this thing ticks.

- Brian

EDIT:  I downloaded the source, but I can't make anything out of it.  I've never touched this Cocoa business.  However I downloaded Space, which your app is based on.  It's a nice little app, but Codetek's got it beat on concept alone.  Space's only purpose is to hide and show apps, which is fine if that's what you need it for, but true virtual desktops it is not.

Does your app do the same thing as Space?


----------



## Trip (Mar 12, 2003)

> _Originally posted by phatcactus _
> *Good programs very rarely need graphics.  Sure, the icons should be top-notch, but programs that serve a good function but crap out when it come to interface go straight to the trash, on my machine.*



I disagree with you here. I mean: duh it's important to have good clean code with a good idea, but you can sell almost anything if it's got a really grand interface. Heck: the only reason some friends and myself own CandyBar is because of the nifty interface and it's sweet arse icon.

Graphics *can* make a difference to a consumer whether you like it or not.


----------



## phatcactus (Mar 12, 2003)

> _Originally posted by Trip _
> *I disagree with you here. I mean: duh it's important to have good clean code with a good idea, but you can sell almost anything if it's got a really grand interface. Heck: the only reason some friends and myself own CandyBar? is because of the nifty interface and it's sweet arse icon.
> 
> Graphics can make a difference to a consumer whether you like it or not.  *



I think you're (or I'm) confusing graphics with interface design.  A well designed interface is very important, yes, but how do you expect this dear sir to use graphics in the interface for a virtual desktop switcher?  Of course, he'll need rectangles, some to represent desktops and some to represent windows, perhaps.  But those are obvious; what graphics are you propsing, exactly?

CandyBar doesn't use many graphics, as far as I can tell.  It is an icon switcher, so of course it's going to include icons, but should a desktop switcher include preconfigured desktops?

I'm not trying to sound condescending at all, really, don't take me the wrong way.  I'm actualy curious to understand how you'd improve the app with graphics.  Do share!

- Brian


----------



## whitesaint (Mar 12, 2003)

PhatCactus:  What would you do if you were to make Virtual Desktops?  I spent like 6 months workin on that !@#$, and I made it the best I could.  I tried implementing what everybody wanted, but still no use.  By the way, I stopped working on Virtual Desktops cuz there was no money in it.  The source is old and outdated, I don't have the source for the new Virtual Desktops which works under 10.2.

Trip:  Hey thanks for the info you were always great in helping me program, because you liked my program.  It was people like you that made it worth it to program.  Oh yeah, you know I can write Cocoa apps, so what makes you think I don't know how to use photoshop?  

I agree with both of you, I've studied the Aqua User Interface Guidelines extensively, and graphics as well as the user interface are extremely important.  If an app has a crappy interface I throw it in the trash.  But were there any graphics bad in my Virtual Desktop program?  I programmed all those animations (like the windows shooting up into the menu bar) and IMO I don't see how the interface can get any easier, or better looking.  I mean look at the preferences window, IMO its gorgeous.


----------



## symphonix (Mar 12, 2003)

A good program is well designed to the point that a new user can just LOOK at it and be able to tell at a glance what its for. Commands are kept in the most obvious place, and are very straightforward.
Only once the planning has been done can you start talking about the finshed design.
Oh, and if you want to find out about bad design, visit http://www.perversiontracker.com/

I've tried a couple of your programs when they were back in Beta, and they were very good. I especially liked Virtual Desktops, though I don't have enough use for it to actually keep it, it was nicely presented and worked well.

I think what people want is programs that fill up the little gaps, or that provide some extra functionality beyond what they have already. There's always something you like to do regularly that seems just that little bit awkward using current techniques.

Most importantly, remember you want to make something that people will want to have.


----------



## phatcactus (Mar 12, 2003)

One problem I had with Virtual Desktops was that it, well, didn't do anything.  Like I said, some little boxes would zoom around every once in a while when I clicked somewhere, and the icon menu would hilight different boxes when I clicked it, but nothing changed on my desktop.

Part of the problem may have been the menubar icon.  The menubar is for --you guessed it -- menus!  The only menu I can find in that icon is the contextual menu.  This is the one and only app I've seen with a contextual menu for it's menu item.  There's something wrong with that in itself, but to complicate things more, the icon is actually FOUR icons in the space of one!  Four icons, one millimeter or so squares, that I am supposed to click to change desktops, each giving no indication of what windows are on which desktop.

That's a problem I've noticed with Space, too, along with some other interface problems I came across.  It's desktops are simply numbered, not providing any feedback as to what's on them.  The Dock menu, however, provides a list of what apps are active on which desktop.  I wonder if there could be a way to display this information on the actual button-window.  A good use for tooltips, perhaps...?

Codetek's Virtual Desktop would be super fabulous if it weren't so ugly.

What don't you like about it?

- Brian


----------



## edX (Mar 12, 2003)

i really don't know much about any of whitesnake's apps so i'm totally unqualified to speak about them specifically. but i would like to reply to some of the general topics being raised here. 

one - one of my pet peeves is developers who start out with great ambitions for something and then stop working on an app before delivering all their promises of what's to come. it seems that because the intial release(s) didn't bring the world to their door, they no longer feel that their side of the bargain should be honored. i've run across quite a few of these kinds of apps/developers on VT. apps that sound like they are just a few promised features from being worth something, but never got developed any further. even when there aren't expectations from the developer themselves, so many 'unsuccessful' apps are useless as is and then dropped before the logical next steps have been added. 
unless the dev. is simply sharing something they made for themselves, not listening to user feedback like phatcactus' because it doesn't suit the developer's original way of thinking about it is also suicide for an app. developers are often way too geeky to think like the average user and should really listen to their feedback rather than arguing with it because of 'all the work' they've done.
related to this is lack of good instructions for using a lot of these shareware apps. even if something seems intuitive to the developer, they should include a great read me or a manual on how to use ALL the features of the app. this is my number one gripe with a lot of shareware - it sounds like it would be great, if only i could figure out how it does what it claims to. again, i think this is just developers who have a hard time thinking beyond themselves. or they ask you to pay extra for a manual to learn how to use the app!! geez, what good i the app to start with if i can't use it?!!
next - don't try writing some geeky widget that the average user can't comprehend the use of and expect to make money. it ain't gonna happen. put your time and energy into something your mom would buy if you want to see returns. things people use, and use often, are the best. but don't try competing against a half dozen similar apps if you don't have something functional to add. really big functional. or unless you can offer a more usefull set of funtions at a considerably lower price. as much as i like graphic converter and gimp, i'm still looking for the perfect little app for my standard photo manipulation needs. i want something that allows me to rotate & resize pics, then quantify blur and sharpen, then adjust colors, contrast, etc. and fianlly to save as a web ready jpeg. put all that in a nice purely graphical interface, and i'd pay $10-$15 for it. and i would bet 30,000 other people would too. 30,000x10=300,000. i'm pretty sure that would yield a good return on the time invested to create something like that. lots of people come close, but nobody has ever put all the features i've listed into their photo app. so there's a suggestion for anybody really interested. i'd be glad to beta test for it.

which brings me to another pet peeve - developers who release beta software and then expect everybody to pay for it before they'll bother to put in the effort to work more. betas are expected to be works in progress and nobody should be charging for them. developers should be happy that others are helping them to work on their app with them by providing feedback. but too many beginning developers are too caught up in making an instant buck or having their ego massaged, that they won't even support their betas, much less put in more efforts to make them a final release. to them beta means testing whether someone will pay or not.

well, that's enough for this rant i think. please realize that i'm not knocking all developers here because i've run across plenty of them that don't make any of the mistakes i've mentioned. some i know of even go beyond the guidelines i've discussed and demand more of themselves in relation to their customers than i do. and i assure you, these are the successful developers in the mac community.


----------



## gigi (Mar 13, 2003)

hi whitesaint
i have just tried your app....here is some feedback. I think the desktop icons take up to much space. 
I would much prefer an app that would have four (or five) icons in the menu bar, each one repesenting a different desktop. Click on icon number 2 and you go to the second desktop etc......
check out synergy, for an example of an app that made me register within 10 minutes of using it.
best of luck with your company


----------



## binaryDigit (Mar 13, 2003)

WhiteSaint, I'm a HUGE fan of virtual desktops (I use it on my PC's every day at work and at home).  I haven't tried yours yet, but I thought I'd weigh in a little on the general aspects of a vd application.

The one I use was actually written by a friend of mine.  He did a very good job (didn't hurt that I gave him a lot of feedback so it's tailored a bit to how I like to use it).  A little background about me (and this is important), I'm a developer who has used pc's and computers for over 20 years.  I am therefore what you would call an experienced user.  I end up doing a lot of stuff and use virtual desktops to help to arrange my various "logical" window workgroups.  This is important to know because it directly relates to how I like to interface with my applications in general and my vd application specifically.

One of the primary things I want from my tool is for it to not get in my way.  I want it to perform the functions it is supposed to and not bother me.  Very much like a "good" car seat.  A good seat is neither too hard or too comfy when you sit on it.  Seats that are too hard remain too hard and over a long distance just get worse.  Seats that are too comfy often times lack support, which then leads to discomfort.  The perfect seat is one that goes away, one that you never notice.  It performs its function and you can just forget about it.

So back to virtual desktops.  First and foremost it must perform it's primary functions perfectly.  For me that means containing applictions within virtual desktops and making them behave in such a way that this containment is "natural".  Examples are that each virtual desktop should have it's own dock, i.e., applications in a virtual desktop should never "bleed" through to other desktops.  There MUST be a quick and easy way to switch between desktops, both mouse AND keyboard.  You have to be able to move applications between desktops.

Notice how I never once really mentioned how pretty your graphical interface looks.  To me the most important interface is that which allows you to switch between desktops, because that is the interface that will be used the most.  On the version that I currently use, I actually made my friend hide the actual graphical part of the interface (he liked to use it with it always present, I hated that).  So he did what makes sense, you have the option of having the gui (with the graphic representation of the desktops) be present or not, just one key combo away.  The gui works great for dragging windows between desktops, but for me was useless in any other context.

OK, I'm babbling so let me conclude.  You first must identify your audience.  You must give them what they want (not just by what they say, you have to read "between the lines" and understand how they interact with your app).  The app MUST work first, look pretty later (not to say it can look like crap, but for the "power" user that is likely for something like virtual desktops, they have a tendency to want working things first.  Your application should be be as transparent as possible.

Oh and btw, if your thinking of something like virtual desktops to make any money or anything like that, give it up.  However, if you want to make the best damn virtual desktop app, more power to you.  I'll definitely check yours out and I'd be more than happy to provide PLENTY of feedback.  My primary Mac is a laptop, so I'm just dying for a virtual desktop app.


----------



## phatcactus (Mar 13, 2003)

A well designed interface does not exist just to "look pretty."  A well designed interface does, by default, look pretty, but it looks pretty because it is logically laid out.  So if an app "works," it's going to, by default, "look pretty."

Did that make any sense at all...?  

- Brian


----------



## binaryDigit (Mar 13, 2003)

> _Originally posted by phatcactus _
> *A well designed interface does not exist just to "look pretty."  A well designed interface does, by default, look pretty, but it looks pretty because it is logically laid out.  So if an app "works," it's going to, by default, "look pretty."
> 
> Did that make any sense at all...?
> ...



Don't know if I totally agree with that, but I think it's more an issue of semantics.  I've used interfaces that are well designed, but don't look "pretty".  They may be "functional", but one would not classify them as being "pretty".  I believe that these are two totally independant concepts, functionality vs aesthetics (not that 'vs' implies that they are not compatible, just that they are different concepts).  The Pontiac Aztek got good reviews from the trade rags due to it's functionality, but the thing is butt ugly.  Many people are of the opinion that there is no such thing as a "pretty" mini van, but one can not deny their functionality.  My friends virtual desktop apps gui is, well, ugly, but it does what it's supposed to do and it works.


----------



## phatcactus (Mar 13, 2003)

An efficient interface will indeed be pleasant to look at simply because it will make sense.  I'm not saying the interface will be aesthetically pleasing, which is a matter of opinion in most cases, but will be visually elegant.

I believe it is impossible to design an efficient interface that is poorly designed.

I don't know if I'm actually getting my point across.  Maybe I'll go learn some bigger words or find some examples of what I'm trying to explain...  

- Brian


----------



## Trip (Mar 13, 2003)

Hey whitesaint: me and you should start a company.


----------



## chevy (Mar 15, 2003)

I'm no software specialist, but I have some marketing experience.

What you need to make money with software (or anything) is to find someone who has money and is ready to give it to you against something. You can make the best software, if nobody wants to pay for it, you never get rich.

So you have to do something very difficult for someone technically oriented, don't start with what you want to do, and how good you can make it, but start by finding someone (or a group of people) who has money and needs something. Identify this something. And then find the technical solution.

Examples: 
Maybe dentists need a good software that runs on OS-X and that is suited for their business ? Speak with them, find out what they really need, don't give them what they don't want but really listen to them. When you have their wish list, then you can start to build something.

That's just one example, but they are thousends of professions, and most of these have special needs (different types of inventory, different types of customers,...) and so by developing such a software you may be able to make money.


----------



## mr. k (Mar 15, 2003)

I think that this virtual desktop idea could be profitable...  How many people used Chimera over Safari because it had tabs?  All I see vd's as is tabs for the finder.  It is a very interesting combination of features, and I just set up a nice vd on my machine.  I like to keep things simple, and with even 2 or 3 windows on my screen I feel cluttered, so minimize them frequently.  The vd lets me just have 2 desktops open and have different app's/windows in each of them.  Kudos to you, I think this is a good app.  You said it didn't make you any money?  Did you ever try to market it?  I don't know much about marketing shareware, but with Konfabulator (kinda like a vd, kinda useful but not really needed) the little box that said "Buy Me or you have to look at this ugly box every time you restart" was enough of a push to make me pay the cost.  Just little things to nudge users to support the development.  Most of the time something is set up on a donation basis, not pay for me after 30 day trial basis, gets a donation from me before I buy an equally useful liscence for shareware.  Plus, with a shareware code it's too easy for someone to steal a liscence (SMX anyone?), with a donation you would probably still make as much money, even more.

edit:  wow that was longer then it should have been, just me ranting :b


----------



## whitesaint (Mar 17, 2003)

Trip: maybe in the future if I ever need you...  Dont mean to sound conceded, but I enjoy photochopping my graphics myself..

Mr K:  Thanks for the input, and thank you for believing my application would be profitable.  It may be easier to use than Codetek's but Codetek is a company not comparable to one person such as myself.

Chevy:  Good words, I'll remember that for future reference.  Cept I built everything that everybody wanted, (except keyboard shortcuts), and still didnt turn out the way I hoped.

Thank you all you guys (except for phatcactus) for having faith in my work, for real I really appreciate it.


----------



## whitesaint (Mar 17, 2003)

Next time we're building a video game...


----------



## chevy (Mar 17, 2003)

> *
> ...
> Chevy:  Good words, I'll remember that for future reference.  Cept I built everything that everybody wanted, (except keyboard shortcuts), and still didnt turn out the way I hoped.
> ...*



That's why I wrote: Design what people will *pay* for, not just what people want.

The best example of a bad business with lot of sales is the guy who sells $1 notes for $0.95... he will sell millions of these... and make no profit.

You have to find something people will accept to pay for. And you will have to refrain giving it. You must *sell* it if you want to live from that. You may end less popular, but you may have earned enough to eat and develop your next product.

Ask Microsoft !


----------



## chevy (Mar 17, 2003)

> _Originally posted by edX _
> *which brings me to another pet peeve - developers who release beta software and then expect everybody to pay for it before they'll bother to put in the effort to work more. betas are expected to be works in progress and nobody should be charging for them. developers should be happy that others are helping them to work on their app with them by providing feedback. but too many beginning developers are too caught up in making an instant buck or having their ego massaged, that they won't even support their betas, much less put in more efforts to make them a final release. to them beta means testing whether someone will pay or not.*



This is VERY VERY true. And I can tell you this is not only true for software. This is true everywhere where there is technology. A similar syndrom is the NIH (not invented here) syndrom. It's a killer for companies working in technologies. With these syndroms they become dinosaures if they are big enough to continues to make money... and they finally disappear.


----------



## jdog (Apr 3, 2003)

The best thing you can do is start writing software YOU want to use.  If you write an app that you end up using everyday, chances are someone else will want to use it everyday.  But write it expecting to make no money from it.  Put up a paypal account and accept donations.  Write some more apps and have fun.

btw WhiteSaint, judging from your website, you sorely need Trips help with graphics.


----------



## chevy (Apr 9, 2003)

Did you think about asking people that have money about what is missing in the software offering ? Or what are the drawbacks of the current software ? Maybe you'll find a niche to fill !


----------

