1) Find a task I have. If I want to make money later from this idea, this task should probably be something I already pay money for, but if I just want to make my life easier, than forget the money part. My credit card statement is a great place to look for the money making ones. Once I have the task...
2) List out all the steps this task has. Be as detailed as you can.
3) Figure out how to remove as many steps as possible.
Seems simple, but I don't see people doing this very much. Instead they focus on making something because it sounds cool or is going to be the next Facebook for people who use Groupon.
OXO is one of my favorite examples of doing this. They make household goods.
1) Task: they studied the tasks people have in the kitchen. They watched how people cooked and baked using measuring cups.
2) Steps: one of the weird steps people have in cooking with measuring cups is when they lift the cup to see the water level against the cups ruler. They would do this 4 or 5 times trying to get an accurate amount of water in their cup.
3) Remove: they figured out they could add the measuring cups ruler to the top of the measuring cup so that people could see the measurement while they used the kitchen faucet to add water. They no longer needed to lift the cup up to read the level.
So simple, but they shaved off those 4-5 extra steps, and they sold millions of their new measuring cups in 18 months.
They innovated on a measuring cup. Pretty inspiring when you think of how long measuring cups have been around and how simple they are. There are so many newer more complicated things around us today that could use the simplification above.
I saw a good example of this at the LA Car Show yesterday. The new Honda Odyssey minivan has a vacuum cleaner built in to the cargo area, with an extendable hose that can reach all the way to the driver seat. Such a simple idea, I can't imagine how no other manufacturer ever thought of it before.
What about that great feature where accidentally leaving a cabin light on completely drains the battery so that you can't start the car? Why do so many cars still allow this to happen? I'm no electrical engineer, but it can't be so hard to measure battery life and automatically cut power to the cabin when it gets below a certain threshold.
My BMW did just that: if the battery voltage decreasde under a specific threshold (when the engine was off), any light was switched off.
A good idea, anyway.
Or, why don't they automatically roll up windows when it starts raining? They already have automatic wipers that use a sensor in the windshield, and they have hands-free automatic windows with a safety cutoff in case anything gets in the way. Rain starts? Windows roll up. Never worry about a summer drizzle again.
What makes a project/webapp idea well-suited to PHP? It might be better to ask about your interests, your experience, etc.. Presumably you've branched off from coding basic CRUD apps into something more specialized; do you have expertise (and contacts, domain knowledge, etc.) you might want to leverage in a new project? Or do you want to start a side project to build more expertise in X?
What do you want out of this?
Suggestions for finding (and validating) ideas for new webapps/projects are all over; you might check into those.
PHP is wells suited for software that you want the users to install on "their" server without requiring any server configuration skills.
Two simple projects I'm needing:
- A Tumblr like app where I can post / tag / search the link s I stumbled upon in my daily browsing (with screenshots?).
- A secure but simple commenting engine that I can attach to any of my pages (spam / attacks detection; confirm / delete from links in mails).
Of course I need them as free software. And I'm probably going to work on them soon.
My way of learning a programming language is always to write a chess program in it (this is probably why I haven't learned any languages which don't encourage state). A multiplayer chess site would be a fun and challenging project.
I think you should check some of those languages out. Chess is used as an example in the Joy of Clojure, and I've seen it used to teach Haskell as well: http://www.youtube.com/watch?v=ScS8Q32lMxA (note, you can't really see anything here unless yout put it in HD and view in full screen).
though i agree with the comments that there's not really an idea restricted to php (jtheory) and your interests would be good to know (jtheory, dutchbrit), i throw in a wild idea as you didn't provide those…
an application in which you keep track of your fridge's content (throw a cam driven barcode scanner in there) and suggests meals to cook based on the lowest investment (stuff not in your fridge) taking into account the store closest to you (can throw a little location based feature) your favourite meals sorted desc based on a custom rating (client specific rating db?)…
Write a service for people who got the same issue like you: A web(app|page), where people can submit their computer problems like "I need an application, that scans my calendar from <insert calendar provider here> and alerts me in my browser ten minutes before the event comes up". Programmers than could just pick a task from it and post the solution. The whole thing can be expanded to the maximum like payed work, featured idea's, collaboration / team finding based on activity stats .. you name it :)
I hope this helps you a bit..
./sz0ka
I find that it's better to work on a project related to something you're passionate about. Otherwise a couple weeks will go by and you'll have a hard time continuing to work on it.
If you want to do something audio related, you can use an API that I built out http://audiour.com/api
There are a couple things I want to rework before officially releasing it into the wild, but you can start using it now if you're interested.
A web app that plays music (could just be youtube videos), and makes smart ratings and playlists for you based on how long you listen to your songs. The idea is that if you listen to a song for 20 seconds, you don't like it as much as if you listen to it for 2:30. From this data on how much you like songs, you could even get into better predicting of which songs you should try (like Pandora does).
It's still an old forum-like idea. I built an almost feature complete reddit clone (with some HN ideas along the way) in Laravel over the last month or so. I did it so that I can extend it into direction I need it down the road. We're launching in a week or so and my hope is that we will open source it for others to use as well.
To be perfectly honest, I think it's a problem for the PHP forum space in general but it's one I don't have time to try solving on my own (not admitting i'd succeed.)
I've got a near fully built front-end that needs a back-end. The project is in the travel industry. It's a lot simpler than AI, video crawling, etc that you mention, but it's straightforward and ready to make money. Ping me on Twitter if you're interested.
You can probably do a simple Twitter-like application, it's simple CRUD and shouldn't be difficult (It's used both in Rails for Zombies and the Rails Book as example iirc)
Redis has a good basic tutorial up for building a Twitter clone with it and Php. Doesn't get into doing comet or web sockets, but it covers the foundation stuff.
An RSS reader that flows all the feeds together, but weights them based on frequency. So your once-a-month blog is above your webcomic is above your HN feed.
Well if you like working with natural language. As far as I know, nobody has ported Natural Language Tool Kit (NLTK) from Python into PHP. I've ported small parts to suit my needs, but I am sure a lot of PHP developers would love having access to the whole thing directly.
I've been bouncing the idea around in my head for a while to predict the weather in an area from a photostream (ie flickr, twitter, etc). More brightness -> hotter is a simple correlation, but you could extract a lot of interesting image and meta features, I am sure (for instance, maybe people take less indoor photos in the summer).
This is more of a "fun" project in realtime, but historical weather data is actually very valuable for things like energy price prediction, and is pretty hard to get. I don't know what the market is like, but there is almost definitely one (I would be a customer if the data is accurate).
Great. Now he knows two different languages and still has no ideas on what to use them on.
Terrible advice.
The correct time to learn a new language is when your current one isn't meeting your needs or when you've completed enough projects to have learned as much as possible from your current language and can start bringing in ideas from others. Endlessly learning new languages and never using them is completely backwards.
Just to offer an alternate perspective, I am a developer who spends most of his paid time working on PHP projects, either on a bespoke framework used by a company I work with and a whole lot of WordPress (I'm not a fan, but it is very easy to get well-paid remote work in this system).
In the last couple of years, I have learned a number of other languages and frameworks, mostly whatever the "hip" folks are using (Zend, RoR, Django, Ember, Backbone), and of these the only thing that really is useful on a day to day level has been the python scraping framework, Scrapy.
Each of these systems has brought me new ways to think about PHP and Javascript code that I never would thought about if I was solely intent on solving the problems I had at hand as best I could in the PHP idioms used by WordPress and this bespoke web framework.
For instance, I certainly wouldn't be as comfortable with the map functions if I hadn't done just that little bit of playing Haskell that I did.
So in my case, learning other idioms for programming, even those which I don't apply directly, has been tremendously useful in understanding better ways to work with the systems that I have to work with in a day-to-day situation.
read the book "The Millionaire Fastlane" by MJ Demarco. after you have read it, your ideas will flow (I think) and you will have a clearer vision on what you really must pursue.
1) Find a task I have. If I want to make money later from this idea, this task should probably be something I already pay money for, but if I just want to make my life easier, than forget the money part. My credit card statement is a great place to look for the money making ones. Once I have the task...
2) List out all the steps this task has. Be as detailed as you can.
3) Figure out how to remove as many steps as possible.
Seems simple, but I don't see people doing this very much. Instead they focus on making something because it sounds cool or is going to be the next Facebook for people who use Groupon.
OXO is one of my favorite examples of doing this. They make household goods.
1) Task: they studied the tasks people have in the kitchen. They watched how people cooked and baked using measuring cups.
2) Steps: one of the weird steps people have in cooking with measuring cups is when they lift the cup to see the water level against the cups ruler. They would do this 4 or 5 times trying to get an accurate amount of water in their cup.
3) Remove: they figured out they could add the measuring cups ruler to the top of the measuring cup so that people could see the measurement while they used the kitchen faucet to add water. They no longer needed to lift the cup up to read the level.
So simple, but they shaved off those 4-5 extra steps, and they sold millions of their new measuring cups in 18 months.
They innovated on a measuring cup. Pretty inspiring when you think of how long measuring cups have been around and how simple they are. There are so many newer more complicated things around us today that could use the simplification above.