Stackoverflow and Quora provide excellent examples of how to do Q&A the right way and their model is proven. Without comments on answers this is not much better than a forum.
This is a GREAT start but this approach is more of a forum hack. I had my forum hacked for a bit to work exactly like this and hosed it after a few weeks.. It's confusing because sometimes you NEED clarifying discussion and that cannot happen here (especially if the answer sort order is dependent on number of upvotes then clarifying discussion will be out of sequence). Sometimes the question is vague, or an answer is GOOD but not great or is incomplete and needs discussion as well.
Hopefully you can add in at least the ability to give some one-liner comments or something in response to any answer that can be collapsed by default.
Stackoverflow is good though because you can still reply to an answer with a regular comment (that appears threaded underneath the answer). This allows for discussion about individual answers without polluting the thread with discussion.
This hook creates a new CodeMirror field inside of IP.Content that allows for mixed editing of code and html for articles. There are some limitations in that you can only have one codemirror field per database and if attachments are desired you need to include an attachments field on the database you are working with.
See it in action here: http://www.gamedev.net/page/resources?do=add&category=
Here are some screencasts of the project in action:
Drag and Drop Upload Demo http://screencast.com/t/KnGSUoa02T
To me it comes down to this.. we have this nicely integrated shiny ecommerce platform in Nexus, but you look across the pond at other major ecommerce platforms that evolve at a faster rate and are feature-rich right out of the box and you get envious. Nexus gives some basic ecommerce capabilities which is great for what it is.. but it would be awesome to have a few "official" integrations with other major products (like Magento perhaps) made by IPS.
Honestly, I wish IPS software out-of-the box was set up as a programmer's development forum. This really is the best approach to take. They should integrate an IDE to test code right in forum posts, make all posts non-wysiwyg based so it doesn't mess up code formatting, allow individual forum posts to be archived to github as gists. Instead of "Downloads" make it a source code respository with true versioning capabilities that also hooks up to something like subversion or github. Kill the gallery as it isn't needed much for programming..
This is what they should do out of the box for all IPS distributions.
Now doesn't that sound silly? This is why plugins are necessary.. because every site is different. You wouldn't want the same type of site I want. More plugins is a sign of developer support for a platform.. this is a *good thing*. The hard problem is to ensure that the *good* plugins bubble up and get more recognition than the not-so-good plugins.
Every good platform needs good apps.. the problem is when the only apps you can rely on are from IPS. The rest become risky bets. Right now the web is full of new service startups.. but these startups also can go bust at any day. What is important is to build your software to work with services that look like they have the longevity to be around quite a while. The exact same thing happens when you build your site up.
The reality of the marketplace is that nobody there makes enough in sales to justify doing app development full time. IPS has to create a BIGGER market. If there is it would have to be because they are maintaining a huge number of plugins/apps. This means that if you use someone's app, you can reasonably expect it to fail to work on the next IPS upgrade.
I still think they take great pride in their software and TBH rewriting IPS 4.0 is an incredibly gutsy business decision but the market is just changing to more of a web app and service-oriented structure. Writing applications for IPS isn't that fun or easy.. there is a lot you have to know in order to pull off a simple app.
For my site Stackoverflow killed us.. forums turned out not to work as well in our format as their Q&A format (which I'm sure Matt has some familiarity with as a developer).
I do think IPS software is actually better than a lot of stuff out there, which is why I'm advocating so hard for them to find ways to bring more developers into the fold through making the platform adopted more widely by releasing free developer licenses for core.
Do install keys deter pirates? Stopping piracy is impossible.. and a lot of really smart folks have spent MASSIVE amounts of money to try and fail.. it's better to focus on making a great product that people are willing to pay for to get upgrades. The only other way to stop piracy is to offer services that others use on your own server.
I'm not rehashing the open source idea. I'm talking about making the core free under an IPS license or at least available to developers for free. This does not entitle anyone to modify and redistribute the core. Don't repeat the words open source in a reply because that's not what I'm talking about.
I knew you would bring up the upfront dev costs for Apple. They can do that with 14% of the smartphone marketshare.. it comes with a territory IPS doesn't have. Conversely, Android as a platform was distributed for free and now commands almost 80% of the marketshare and literally obliterated the dominance once held by iphone. And it doesn't matter if Apple is friendly at this point.. they have the market and developers chase the money.
It still comes down to some simple math.. let's say IPS has 1000 customers then as an app developer you max out at 1000 potential sales. IPS can take another route and evangelize itself as the one BEST commercial platform for php applications and get the number of installed platform users well above that. It's ability to distribute marketing messages and services to people installing those platforms would help in sales. I'd love to see tutorials outside of community.invisionpower.com on how to develop for the IPS platform just like you see with Symfony, Yii, FuelPHP, Codeigniter, etc.. because they have a real chance to trump them all. But they have to lure developers.. and you can do that if developers know that the platform is widely utilized. If core is free, then they aren't going to be the only ones evangelizing it.. developers will be. And they can control the marketplace through licensing.
Here's a theory on why this marketplace isn't as good as it could be:
* Expectations on versioning - when new IPS versions are released developers are demonized if they don't update apps/hooks, often for free
* Support contracts aren't codified in any way leading to sometimes unrealistic expectations for product support
* Most apps are priced too low for a developer to also provide support and continue development
* No differentiation between premium apps and non-premium apps and hooks - Major products are easy to get lost in the cruft
* Low top end on sales - You can see it when you look at sales figures for the best apps in the marketplace
It comes down to this.. Customers should have specific rights, and developers should have the same.. and somewhere things are confused and misunderstood.
Rather than argue with me, try a different angle and propose some actual solutions for increasing the attractiveness of this marketplace to outside professional developers who aren't just a fly-by-night "IPB Modder". Come up with some ideas on how you attract other companies to provide official applications for this platform. That's what this thread is all about.. people pay money for quality apps, and that is what makes this platform a potential winner over open source counterparts.
IPS can ONLY sell applications if people are using the platform.. it comes down to that.
If IPS buys into that then people won't develop for IPB. You can always influence and create a culture with your actions and developers go where the money is at. If IPS is an attractive platform that looks like people can make some legit money off of it, then they're going to attract developers. That's why I advocated towards making the core free just to get the platform out there. Then people can buy all the IPS apps and other developers can make standalone apps that just require the platform.. but IPS can still take a cut of the 3rd party app sales and can still upsell integrated services AND they have an easy way to market all their other apps.
You can only sell apps if people are using your platform.. plain and simple. You can charge a premium if you are the only game in town, but IPS isn't.. but they can lower the barrier to entry to practically risk free and exert control over the marketplace through moderation of apps (kind of like Apple does).
What about on the developer support side.. what is going to be improved there to improve the quality and number of apps? How can you make it so that it makes good business sense to develop on the IPS platform?
I feel like the longer this thread goes the more I need to condense my message: find a way to attract more commercial developers and integrate with more premium services (like you did with mandrill) and apps.
This means building more incentives for developers to create quality apps.. which also means you are going to grow your customer base. That was one of the factors that lead to suggesting making the core a free product. Right now only tiny apps are worthwhile because you are vastly constrained by the number of people using the IPS core.
Another idea would be to create a free developer edition core to get developers to build apps and then make it easy in the marketplace for customers to buy core + (some app). That way the marketplace is open to everybody out there, and they can get a pre-bundled core license with the purchase of an app.
A few things are important though Marcher. First, let's not pretend in this discussion that somehow piracy of IPS software isn't easy. If someone wants to install and run a pirated copy of the software it takes roughly three seconds on google to find one.
I'll never get where your business sense comes from here. The core can be distributed under whatever usage terms they want. Plenty of companies release developer versions of their software that cannot be used for production use. It also gains value through it's feature addons like spam protection that can come from production customers only.
And the rest is simple economics but let's say they went one step further and just made core free (not open source, but free).. Right this very moment, every app you sell in the marketplace comes as a result of an IPS customer who purchases it. The more people adopting the platform the more you sell. Now nobody in there right mind would spend the time developing an alternative Board app for core because you'd be nuts.. IP.Board is too good. Likewise IPS could spend literally a few seconds in their database and take a statistical look at how many people who buy IP.Board also buy one more (or all of) their apps. If I'm running core and want something to do with it, they are offering some pretty premium apps here.
This by the way is a proven strategy.. see both the Apple's iTunes and Google's marketplace. And how do platforms fail? Lack of apps.. IPS has 6 so far that are pretty good, but my premise is that they can do better than that and sell more apps.
Oh, and you're right btw.. IPS does have a better core in a lot of ways and that's a huge reason for people to adopt it. They just need to get more people to use it. Getting people to install and use core is 95% of the battle towards getting a sale.
*Sigh* Wordpress was an example of a more full-featured app.. bad code or not it is vastly more supported. IP.Nexus is an example of an underdeveloped app which hasn't quite been able to keep up with other major shopping carts nor probably will. That's just fact. I've seen the list of IP.Nexus requests and I can easily match it up with how many were fulfilled.. that forum makes my point.
I still think core needs a developer version with no installed apps and a license for development use only that is free so the developer pool can be opened up. Nothing you state though ever addresses the issue at hand.. Google has a killer app in Gmail just like IPS has a killer app in their forums. Google was able to sell a hell of a lot of google apps accounts based on having a system that integrates a lot of widely used business software.
IPS needs developers to support their platform. I honestly don't care much about the custom CSS framework other than it makes it easier to get themes. The bigger sin is that IPS never deprecates parts of their API (from minor to minor version) or from 3.X to 4.0 aren't bootstrapping the 3.x API in any way. Why is it par for the course that everything breaks so consistently? I recall stuff like the IP.Content callbacks being removed entirely without so much as a mention or official replacement until you stepped up and wrote one (ironically the removal was also based on your suggestion).
I like when things are easy to use.. interchangeable.. use open standards.. I like APIs that are stable and represent an actual solid foundation to develop on. And I like when the developer pool is larger and I can easily get a person to develop for me. I like more apps, *especially* more quality apps.. as an app developer I like a larger customer base to sell to. You seem to have the attitude that this stuff is just unfixable.. and yes, I would expect IPS to maintain and debug a select few integrations because IPS has a name and brand that you can trust.. and that's important when you are making business decisions.
Hopefully with 4.0 they bang out a stable API and can ensure that no API functionality will break minor version to minor version unless it is for security purposes.
Marcher, how does this address the lack of integrations with companies that create products that are on the same level as IP.Board? Or that no actual company similarly sized to IPS will touch the platform to make apps? Apple, Microsoft, Google all know it's not the platform that matters.. it's the apps.
IPS is a 6 app platform.. Board, Gallery, Blogs, Content, Downloads, Nexus.. everything else comes with a big risk to adopt
Guys.. this post isn't a rant. While IPS has a well-documented API historically what it still lacks for a platform it size is a strong developer pool. When you can essentially list about 5 lone wolf guys that make up the core 3rd party developers for your platform we have a problem. IPS uses it's own framework (instead of Zend, Symfony, CodeIgniter, FuelPHP, Yii, etc).. If they used even just one of those frameworks you'd get tons of instant addons to extend your software. If IP.Board was a Drupal addon or something you'd get thousands of apps. IPS uses it's own CSS framework.. If it used any major CSS framework you'd get out-of-box templates from hundreds of places on the net. And nobody can even integrate their apps with IPS unless they throw down the money to do it.. the IPS market isn't huge, so how do they attract developers if the commercial incentive is so small?
My point is that I want to see more off-the-shelf pluggability of other big, well-developed, and well-maintained apps. We keep bringing up the idea of Frankensites but I'm talking about actual clean integrations with bigger software packages. My biggest concern is ecommerce, since IP.Nexus is vastly underdeveloped. Rather than all the true ecommerce tools you need to conduct a business their last major addon for IP.Nexus was for web hosting.
Tell me that it's an awesome feeling to know that the best apps in the IPS Marketplace all depend on one single developer to continue to maintain them and that they don't really have all that much of an incentive to continually push out major updates so most "big" app dev times are slow.