Welcome to the Qrimp Blog
The golden rule is not good enough.Think of others. The world has more people in it than just you. What you do makes a difference. What you do affects other people. It affects the world.
Be conscious. Forget the rules. The rules are for the unconscious.
Do you want to follow the rules or do you want to make the rules or do you want to be immune to the rules? If you want to follow the rules, then rule number 1: Forget the Golden Rule. Here's your new rule:
Treat other people the way they want to be treated
That's right. Simple enough isn't it? Here's the hard part: It's a lot of work. It's a lot of work to get to know people and understand what they want -- especially millions, perhaps billions of customers. That takes a lot of work.
Ask yourself why many of the products we buy are made in China. It's because they work really hard! They work really hard to do a lot of work and they don't expect very much in return. That's the exact opposite of what is going on in the United States right now. We ask for a lot and don't work very hard to get it.
A lot of people think Wal-Mart takes advantage of Chinese labor, but I think the Chinese want more of Wal-Mart's business. Someone I met years ago spends a lot of time in China. He has a factory there. When he goes to visit the factory, the town cheers! They love him. They are so happy that he built his factory there. They are happy to have stable jobs and food and homes.
Many would say Wal-Mart is not following the golden rule because they wouldn't want to work the way Chinese workers work in China. I've never been to China, but if that story the gentleman told me about his factory is true, then the Chinese are happy to have the factories. Their lives before the factories were much harder than their lives after the factories. I know there are some terrible conditions around the world. But maybe the conditions we think are terrible, they think are great.
Remember, we are all people
It's easy to forget on this anonymous Internet that those we interact with are people. You have to remember people. You have to remember that you are a person. You have to remember that your customers are people. You have to remember that your clients are people. Your vendors are people. Your suppliers are people. We are all people. We aren't just corporations, we are corporations composed of people.
This whole planet is full of people and you can't treat them all the way you want to be treated. You have to treat them the way they want to be treated. The Golden Rule accomplishes a lot of that. Most people want to be treated with honesty, respect. They want to be flattered, they don't want to be hated. They don't want to be disagreed with, they want to be understood.
Understanding People is the Hardest Part
They aren't rational like computers. They don't accept for loops and boolean operators as input. They accept logos, ethos, and pathos as input. Understand that. Understand them.
I keep asking myself, "Why am I writing this on my company blog?" I keep telling myself, "The business books would look at me like I'm an idiot... you can't show your soul and get customers..." Well, I don't believe that's true. I think customers want honesty. They need it. They deserve it.
I'm tired of business as usual. It's time for some change. We have to think about the future. We've been thinking about the short term for too long. We can be dishonorable in the short term and get away with it, but in the long term, we have to be more thoughtful about how we behave and interact in the world.
I was watching this interview with Ayn Rand on the Donahue Show. Donahue is my hero. Donahue starts off talking about how baseball pitchers get hit with the ball and just brush it off, no pain. He said men are taught, "Don't show your feelings.... it's sort of a tyranny that men are not supposed to express..." I suspect he was about to say "Emotion" but then Ayn says, "It's a weakness, it's not strength. The strong man doesn't mind showing his feelings -- unhappy ones, or pain, or enthusiasm."
America has lost its emotion
We have sacrificed emotion for monetary gain. We've bought happiness with debt. We are stiffing the Chinese and our own employees. We can't do that anymore. We have to think and behave with vision. We can't replace happiness with products and consumerism. We have to be creative and productive and produce ideas and better lives for those outside our country if we are going to survive.
Americans in my generation and below, we were born into debt to the rest of the world who has worked hard for the past decades to build the products we buy. The food we eat. The clothes we wear.
If we keep going down the path we have been, our generation will be the first that will not have a better life than our parents. Debt, exhuberance, gluttony, sloth... and the rest of the deadly sins. They all describe our society. Maybe not all the individuals in it, but the sum total. No, I'm not lying, here's the list, maybe Wikipedia is lying. It would take 2 China's buying our products, to pay off our debt to the world and they have 4 times as many people as we do.
In a sense, the entire world can't pay off the exhuberant lifestyle Americans have lived for the past 5 decades. But Americans are very creative people. Perhaps the most creative in the world. We need to put that creativity to use now. We can't rely on ways of the past.
No emotion, no virtue
I wondered, Why has it become part of our society to deny emotion? I think there are two reasons. Have you ever been depressed? Did you feel like working? When I'm depressed I just don't like doing anything. If we aren't productive, we don't work hard enough and we don't make enough money.
But I do like reading stuff depressed people write. Kurt Vonnegut was pretty depressed, which I can understand. I like art from depressed people. Van Gogh cut off his ear just to feel anything. So it seems like there are good things that come from depression. If good things come from depression, why do we try to suppress depression? Why are there so many advertisements on television for anti-depressants? Do a lot of depressed people watch tv?
We shun depression, because depression is not productive. We need to be productive. We need to go to work. We need to keep the machine running. Depression is bad... But avoiding depression is worse. It has allowed us to avoid reflecting on why we are depressed. Why we should be depressed. It's okay, it's natural.
But what about other emotions? What about excitement? Love? Happiness? Elation? Business leaders aren't supposed to have those either... why? Donahue and Rand were talking about the extreme joy from the Americans when they beat the Russians at hockey. Rand said that was a rare example. In football today, if a football player makes a touchdown, he has to control his excitement. Do a dance, get fined. Those emotions aren't counter-productive.
So why can't we succeed in business if we show emotion? We all have them, don't we? Maybe the emotions don't match the business. Maybe they are stuck in the middle. Maybe a "sold soul" can't be happy... Maybe the skill isn't in suppressing the happiness, but in masking the sadness. It's easier to smile than it is to frown. If you want to smile, you don't even bother frowning... Where has the happiness in business gone?
We've lost our emotions and we've lost our courage. Those aren't my words. I heard it from Aleksandr Solzhenitsyn in his address to Harvard in 1978. It was such a painful and honest truth, I cried when I heard it. Don't dismiss this man. He has shown the world painful truth when it could have cost him his life. That video is difficult to watch and listen to, but it is worth the hard work.
Getting rich quick isn't all it's cracked up to be
Mo' money, mo' problems. Kurt Cobain killed himself when I was in high school. I still remember that gloomy overcast day. Why do we let genius die like that? Maybe someone killed him, I don't know. Who knows? Research shows you only need fifteen thousand dollars (or maybe it was pounds) a year to be "happy enough." After that, we don't get much happier.
Studies have shown that since the 1950's, we've actually gotten less happy. Why? We've gotten more stuff, better technology, but less happiness...
Most of the videos I linked to were from the 1970's. I don't see many things like that on Television today. In this conversation with Buckminster Fuller from 1974, they talk about Cable Television. Cable was very new back then. Radio waves for TV were one way communication, but cable enabled two way communication. The conversation they have about cable TV was the same as the conversations we have about the Internet today. They talk about all the great things that can happen with two way communication, like voting, community development, etc. Why didn't those things happen?
These lessons here are all from 3 decades ago. People identified this trend decades ago. It seems like if we had listened to them then, perhaps we would have even better lives now. Not only Americans, but the whole world. Less poverty, less disease, less malnutrition, less homelessness. These great ideas are out there. The ideas that we think are new today, ideas we think are only now possible because of the internet, were ideas discussed three decades ago when cable television was introduced.
Why weren't those great ideas implemented? It wasn't due to a lack of technology... Maybe it is a lack of courage, a suppression of emotion, a short term focus... I think we can change the world if we start with those things.
When we abandon the golden rule, we can start thinking outside ourselves, outside our society, outside our world and start to think about future generations. Let's make life better for future generations on the planet. Let's enable future generations on this planet. There's enough to go around if we don't consume it all.
Why Myths around Open SourceThe goal of a myth is not to tell a true story of history, but to encourage a particular kind of behavior. The myths of open source are to promote the development and use of open source. They are designed to encourage the promotion of it to build what many believe will be a better world.
The value of the myth is to support a particular idea, regardless of the truth behind the myth. The proponents of OSS thought, or think, it'll make the world a better place, but has it? I don't know. I really don't know any other industry that gives away the fruits of its labor and still exists. Maybe there are some, I just don't know them.
Maybe you could consider charities like the Red Cross an open source equivalent to hospitals, but businesses are not charities and even charities rely on money to survive. If developers give away their software, where is the food going to come from? Lots, perhaps most, open source developers have salaried jobs. OSS is a side project, but if you want it to be your money maker, perhaps it isn't for you.
It seems like the Open Source movement is devaluing the labor required to build software. They are pushing developers into the realm of starving artists or garage bands with the only reward of their labor being a warm and fuzzy feeling. But warm and fuzzy feelings don't pay the rent or buy food.
The myth here is that OSS is better for the developer. In reality, it is better for everyone but the developer.
Try to remain rational
I know this is a heated topic. Open source or closed source has become part of the developer identity, so it can get a little emotional to say the least. Much of the issue is the same as debates on religion, so Paul Graham's thoughts on identity apply here as well.
I warn you, I may get a bit emotional myself, but I'll do my best to keep my comments rational and focused.
First, I'll point to Niel Gunton's Open Source Myth's from a few years ago. The article is a good one and sparked some healthy debate. In the slashdot conversation etymxris replies, "I just don't think that the government should grant monopolies on any idea." Let's be clear, we aren't talking about a monopoly on the idea, but rather the implementation of the idea, that is, the work, energy, research and development required to make the idea whole and usable. Remember, success is 1% inspiration and 99% perspiration.
Second, some links at Orielly.com talk about myths related to OSS, both pro (1999) and con (2003).
You can't undo Open Sourcing your project
This is one of the biggest issues for me. It's the same reason I have no tattoos. I will never get a tattoo, because I don't want to do anything to my body that costs more to undo. If you open source your code, you can never take it back. I am not absolutely certain that I want to Open Source my code, so I don't. That is a good enough reason for me. Undecided = no.
Of course I could have different versions of the software, some of it open and some closed. I could fork it. Other people could fork it. I could have "closed source" features. But all that just makes the decision more complicated and easier to avoid. So I just say no.
If I never get a tattoo, I never have to worry that the needle was sterilized properly and I don't have to worry about getting a bad tattoo.
Closed source software is simpler for the developer. Code is complex enough. Do you want to focus on managing an open source community or focus on your customers? Managing forks? Maintaining control? Open sourcing code is like opening a can of worms. Who knows what will happen!
Some arguments say, if you open source your product, the community will make it better for you. Well, that's largely a lie and it's also motivated by laziness. A lot of OSS projects are released because the developer isn't skilled enough to complete the vision and people have little desire to implement someone else's vision. You're better off keeping your project closed and working hard to make it valuable enough for a customer to buy. Then you can ditch the day job and focus on your vision 100%.
Daniel J. Schwartz, from Jenner & Block, LLP, in Open Source: Paper Tiger, Hidden Problems writes:
If a programmer simply clicks on a button to download even the smallest packet of code and thereby agrees to the GPL, then the GPL may require the entire software program, which incorporates the GPL-code, to be made available as open source under the GPL. This is true regardless of whether the programmer or employer ever intended others to be able to see, read, view and modify their software. Thus, a single click of the mouse may render otherwise proprietary software available to all. For this reason, the GPL is often referred to as the most “viral” open source license agreement – i.e., like a virus, it infects any code into which it gets inserted.
There are myriad OSS licenses. 65 different Open Source licenses in 9 different categories at opensource.org alone. There are just too many. These licenses are like viruses. If you use code that contains them, your code contains them. They attach themselves to everything you write and everything you distribute. These viruses run the risk of killing the host -- the software and the developer career.
It seems ironic that there is competition out there to enable people to give away their source code. Why can't the open source developer just put the code up on a web page? Even when releasing the code to the wild, there is still the desire to "keep it." To keep some recognition. To prevent abuse and "theft" of the idea. The OSS developer is saying, "I will relinquish profit, but you can't profit either!" Why? Well, perhaps on the pro side, as we will see later, there could be some protection of your right to use your own software.
It's a license popularity contest. It feels irrational. People get unpredictable when they venture outside rationality, so that is one reason to stay away. Exactly why it is so irrational is a bit of a mystery, but until it is solved, I can't say yes...
There is very little legal precedent to help the developer understand what will happen in court. There are some cases, one regarding model rail road software. One person selling train software sued someone who had open sourced his software. The OSS guy, then counter sued because the software seller used some of the OSS in the CSS, see the part about unfriendly communities below). Still, the OSS guy, Bob Jacobsen, still had to spend time in court to use his own free software. Just because you open source your software, doesn't mean it's yours.
Microsoft went after Linux for some of the same reasons. So, still a mystery in the mind of law, thus undecided = no.
I could do that myself
We often say this when we look at beautiful art, but could you? Why didn't you? If you can, please do. It will expand the market for the product and give consumers something against which they can compare different options. Make the closed source projects work harder to make a buck. Some believe competition is good, but I believe collaboration is better. Both kinds of people exist in the OSS world.
A lot of hackers out there think they could build a better open source version of a commercial product, but they fail and hurt their customers. I've lost emails on two different occassions because of bugs in Thunderbird. I never lost emails with Outlook Express, which is closed, but also free. Thunderbird is really bad at importing its own mail boxes. It can import from Outlook Express. Why can't it as easily import its own content? How can Thunderbird just forget that it has been setup and configured already? It's like they don't even know why it happens... That doesn't instill a lot of confidence and I'll never use Thunderbird again. If Outlook did that, people would stop paying for it.
Open source is a label used to market products. It's often a gimmick and it hurts the end user in some cases. Just because it's open source doesn't mean it will be supported later or it is quality software. Most end users aren't able to tell the difference anyway. Sure, you can add to the project if you know how (etc), but that doesn't mean you will, nor does that mean it will be in your best interest just having that capability years down the road.
The examples are that MySQL is not as good as SQL Server or Oracle. Then MySQL was bought by Sun, then Oracle bought Sun, so since MySql competes with Oracle, what happens to MySQL?
The idea that OSS is better for your personal or organizational future is a myth. The future is uncertain, regardless of whether or not you can see the code.
Think about it. Is the future of software threatened because computer processors are not open? You can't tweak your graphics hardware. You can't improve your own memory chips. It's not a rational argument, it's a myth.
The OSS community is selling the hope that you will be able to modify the code later. The hope that you will be able to find a programmer who can help you when you need it. The hope that your software will never die, but OSS projects die all the time, so you aren't really limiting your risk. In fact, you may be increasing your risk if the developers behind the OSS project fall out of love with it or die because they can't afford to eat. Money is a good incentive to keep working on a block of code.
Too many forks, not enough spoonsI don't even want to count the number of Linux distributions available. Do you want something like that to happen to your software? I don't know. It seems like it would be better to have a community around Linux, but really it's a community around different distributions of Linux. Some OSS works in some distributions of Linux and doesn't work in others. Sometimes it's as easy as recompiling the original source for your distribution, sometimes it isn't. Sometimes you must install other software packages to make the software you want work. Truth is, OSS is highly dependent on other OSS projects. What if the projects your software depends on lose flavor with the developers behind them? What happens if Oracle stops supporting MySQL and your PHP app runs on MySQL?
This might not be a big deal to you. I can understand that. But look at the web now. How many browsers are built on top of webkit or gecko? There's infighting among the community as well. "My distro is better than your distro!" Okay, well the fact that there are multiple distros makes the OSS world more confusing for the end user and what the end user wants is simplicity.
OSS leads to complexity, subtracts value for the end user and replaces it with risk. We want less risk, not more. To say that OSS is less risky for consumers than commercial software is a myth. It makes it better for the hacker, sometimes, but not always.
The community is not completely friendly
From dossen (306388) at the slashdot response
To "rip off" (as in fork the project and become the "official" version) the code from such a project, you would need to provide enough of the infrastructure that the original company provides, keep people interested in your version, and merge any "good" changes
If you are a small development shop, this is not difficult. Not only do small development shops, and especially individuals, suffer from "Hit by the bus" syndrome that a larger company who forks your OSS may not. Larger organizations also have more money and power to market their version of your software. If they are really powerful, they can just recreate your software, but why give them a head start? This is a dog-eat-dog world and if your product is valuable, someone will want to compete with you. Not all of us are collaborators, but we all need to eat and some of us want SUVs.
So in this case, size matters. The smaller you are as an organization, the less power you have to defend your OSS project.
OSS is not necessarily VC friendlyOpen source actually increases risk. Because there are few legal precedents, some attorneys caution against using open source software. There may be some questions about how much of your project you own and how much has to be made public.
Say Microsoft did win in their case against Linux and your project is built on Linux. Maybe you have to stop using your software or rewrite it for something other than Linux.
This uncertainty increases risk and therefore reduces valuations. Not all VC's care. Some do. Some actually prefer you build your apps on open source, because open source is free, meaning lower startup costs.
Not all changes from the community are goodYour community might want to take your software their own direction, but that doesn't mean the changes they implement make the software better. Multiple software developers means more confusing code, it's more difficult to maintain, and there is more of it. That's not always better for the end user of the software.
You may end up with too many cooks in the kitchen.
Not all developers are good developers -- few are greatI've seen some really bad code out there. We all have. Open sourcing your software exposes it to the good ones and the bad ones. You'll spend a lot of your time doing code reviews instead of writing your own code.
Input from the community distracts you from your visionThe whole reason you started writing your software was to implement a vision. We've seen lots of communities on the internet, that once they start growing in population, they get less and less focused on the original vision. As the size of the community approaches infinity, the quality of the content approaches average. That mirrors my impression of a lot of open source projects. They aren't great pieces of software. They are average pieces of software. Firefox isn't the fastest browser. It's an okay browser. MySql is an average database. It's good enough, but not the best.
I want to be the best. I want to strive to be the best every day and I don't want to make my customers settle for average software.
Lack of revenue potentialIf you open source your software your monetization options become limited. What intellectual property do you have to sell? You can be a services organization of course, but that means you'll be working forever and there are a plethora of people around the world who will perform services for less money than you will.
The pool of competition for great products is a lot smaller than the pool of competition for services. Many more people can install Joomla than can build Joomla for example. It may be in your best interest to keep your good ideas in your head and let people use the product rather than the code.
If software patents weren't essentially worthless, then perhaps you could retain your right to sell the open source, but still, undecided.
Product company vs. Service CompanyWhen I was a consultant, I realized that as a service provider, I am selling my hours. I only have so many hours to sell. If I build a product, I can sell those hours over and over again. That's better for me. I want to get out of the hamster wheel. I want to be able to focus on bringing good to the world in many more ways than I could ever do if I sold only my hours. Life is short.
Success Stories are RareThere are some good OSS projects out there, but the success stories are dwarfed by those of CSS. How many billion dollar open source software companies are there? How many closed source?
A lot of the OSS community is selling false hope. You won't get a bigger community with OSS than CSS. You won't work less. You won't make more money. It's a myth. Stop using one or two or three success stories to convince thousands of people to release their hard work and receive no rewards. The risk/reward balance is irrational.
Open sourcing your software benefits those who can't write software. Those who aren't creative enough or skilled enough to build it themselves, but are skilled enough to build a services organization on top of your software or sell some product like TiVo that included it.
Who benefits from Open Source?
I was at a little web hacker community and someone told me I should go talk to this other guy over there and get his opinion of my idea. The first question out of that man's mouth was, "Is it open source?" I replied, "No." The guy turned and walked away. When I investigated the guy later, turns out he wasn't a software developer. He couldn't write code himself, but he sold lots of contracting gigs customizing Drupal and Joomla sites. He paid developers a little bit of money to do the work on top of those platforms and he pocketed the rest.
I have learned since then, that many of the biggest proponents of open source make money off open source, but contribute very little to the community themselves. The hypocrisy is enough for me to stay away.
Imagine telling doctors to open source their skills or attorneys to open source their skills. It's hard to be a great computer programmer. It takes years and decades of practice, degrees, research, dedication. It's a real risk and the creative individuals who take the time to build visionary software should be rewarded for it.
You can fix or enhance it yourself
If the software is flexible enough, it can be customized without getting to the source. Source code is not flexible for most consumers of software. Only consumers who can code or afford to pay someone who can code can enhance source code, so in most cases, liberated software is not free software.
Go to any hosting company's tech support forums and you'll see countless people complaining about some open source project's ability to run in that environment. Maybe the product is slow or has some incompatibility. Do the individuals using the software fix the bugs or improve the performance? No, they just complain about it and tell the hosting company to make their platform work with the open source.
So the argument that the consumer of OSS is free to modify it to do whatever is a myth. It just doesn't happen like they say it does and most end users don't know how to do it even if they have the source.
Complicating the issue are the myriad environments in which OSS operates, the languages used to power them, the stacks used to run them. It is not as simple as going in and fixing the software. You have to install and configure an environment where it will run, learn the language, then understand the code well enough to make a meaningful contribution to the project.
Even worse, if you do fix the problem for a particular environment, then you are stuck with whichever version you were on. Maybe the community doesn't want to incorporate your fix into the software, so if you want to upgrade later, you may have to re-fix it. It becomes an endless cycle.
Free as in Beer
When I say "free" I mean the commonly understood definition of "costs no money." Let's just end the confusion. Every time someone uses the term free, the "Free as in Beer, Free as in Speech" discussion has to happen. So Free Software is software that costs no money. Liberated software is software that is easily modified to do more things.
The world understands "free" to mean zero cost. Let's speak to the world using common language. I like what Registered Coward v2 (447531) at the slashdot response said:
...how many times do you see someone looking for an OSS aka "free" counterpart to a CSS aka "cost money" product? They're looking for free as in no cost, not as in I can mod it. That perception will limit entry and ultimately stifle innovation. How many innovative, vs "let's copy the functionality of product X" OSs programs are out there?
If the point of OSS is to give users control of their own computers, then the whole argument seems silly. I've been making my computers do anything I wanted them to since long before open source software. Even with open source software, many people can still barely use them, so it's really not a valid argument in my mind.
The reality is that OSS is neither Free as in Beer, nor is it Free as in Speech. It's not free. It costs money to pay someone to install, host, configure, and enhance free software. It requires time to learn and time is money. OSS is not free.
Open source does not make software more secureOne argument is that open source is more secure because other coders can go in there and fix it. But not all coders understand security. They may implement features that make your project less secure. More hands in the mix complicate the issue of security.
Plus, the black box makes it harder for hackers to understand. If they look at the code, it'll be easier for them to find the security holes too and there's no reason to believe they'll inform the community. Why should they?
I'm not even going to waste my time pointing out all the security problems with countless open source projects. There are a plethora of them. To say that OSS is more secure is a myth.
According to Techcrunch, Facebook took $200 Million from a Russian Internet Investment firm. Putting aside the scary images from Training Day, such an investment does raise concerns about foreign ownership of American properties and such concern is not without precident.
In 2006, when Dubai Ports World wanted to buy a stake in American shipping centers, the ports deal was reviewed, then Congress declared war on it. The argument went like this,
Terrorist organizations could use containers to smuggle weapons or terrorists into the United States, or could turn a container into a weapon by detonating a conventional, chemical, biological or nuclear weapon within a container once it arrives on American shores.
That deal posed a physical threat to our lives, but what about threats posed by knowledge gained from information on the Internet -- or behind it? Pause for a second. I know it sounds paranoid, but Japan is creating its own search engine. Why? Because, according to the article,
Many people in Japan fear that the domination of the three [internet search] firms will prevent Japanese companies from entering the market.France is doing the same.
Governments around the world clearly believe information on the web is of National importance. So much so, that they are creating their own competitors to giants in the United States.
Not only do national governments believe it is critical to ensure access to information on the web, but they also want to limit access to information on the web. Lots of areas of Google maps are blurred for security reasons. Even India fears Google Earth may be a threat to their national security, because:
these websites provided minute details, photographs and 'extremely accurate navigational coordinates' of sensitive areas.
These concerns are about visible, physical features of our land, but what about features of our social graph? Who knows whom. Where they live. Where they are going to be. What they listen to and read. Facebook has a very large collection of our most intimate connections. This information includes, and therefore, must be more valuable than the library books you read alone. The U.S. government wants access to our library records, because it believes it can use the knowledge of what an individual reads to help protect citizens of the United States. Might this information be beneficial to other organizations outside our government as well?
Of course I am not suggesting that this deal is a security threat, but it does raise some interesting questions about knowledge and the future of information on the internet. Really, who knows? Maybe it is a security threat.
Even the CIA itself uses Facebook for hiring purposes. From Wired magazine,
"[Facebook is] an invaluable tool when it comes to peer-to-peer marketing," says Michele Neff, a CIA spokeswoman.If it is valuable to our own Central Intelligence Agency, why wouldn't it be valuable to other not so friendly intelligence agencies? There is a lot more information behind Facebook's interface than is visible from the outside, but even from the outside, Facebook is valuable. I can't help but believe access to the raw data would be more valuable -- it must be.
What happens when a foreign intelligence has access to Facebook's emails? Imagine what they could find. They could find people who don't like the United States. They could find people who say angry things about our government.
I am not even going to pretend that I am as smart as the CIA or any other organized group, but if I can think of this, surely they have. How valuable would such data be? I don't know, but one of our concerns right now with North Korea is that once they know how to build nuclear weapons, they could sell this knowledge to other countries. According to PBS, regarding North Korea's monetization of nuclear capabilities, "The export of ballistic missiles and related technology is one of North Korea's main sources of hard currency." Pakistan sold, sensitive nuclear equipment and know-how to Iran. Not a physical product, only the knowledge. Knowledge.
Facebook contains information that can give, perhaps unfriendly, organizations in the world knowledge about many American citizens and also their ties to citizens of other countries as well. These connections are valuable and they aren't only valuable to corporations who want to sell us kitsch. They may want to sell us some propaganda too.
Knowledge is very powerful. Is access to knowledge a security threat? Of course it is. Is access to Facebook's knowledge a security threat? If the CIA believes Facebook is a valuable medium to help them protect our security, why couldn't it also be used to threaten our security?
It's really important to have a lot of dataData is the driver behind every Qrimp application. Qrimp makes it easy to input data. Qrimp makes it easy to get data out. You can use any REST api to get out any data in your Qrimp app. You can get it in CSV, XML, JSON, RSS, or any other custom format you create to interact with consumers of your data.
Having lots of data is critical. Lots of data about customers will help you understand which ones are happy and which ones are not. It will help you understand why and how to make your customers happy. It will tell you where your company has come and help you better understand where it is going.
The first step is getting the data into the computer. If you are stuck with paper or email or some other unstructured format for your data, it's more difficult to analyze later. Get lots of data.
Linked DataQrimp is built on top of a relational database. If you have customers and those customers make orders, then when you click on a customer, you see on the right hand side of your browser, the orders belonging to that customer. You can click the "Add..." link to add another order and it will automatically be linked to that customer, or you can select another customer to link it to.
These relationships between items in your database are critical and Qrimp makes it easy to manage them, view them, build reports around the data and more.
Those HTTP things...Those HTTP thing are the pointer to the linked data. They are the link. For example, if you want to link to a particular customer, you create an http thing that looks like this: http://yourapp.qrimp.com/customers/Acme+Inc and then you have a link to your customer called Acme Inc.
Perhaps you want to see a list of your customers, you could build a more complicated url like this: http://yourapp.qrimp.com/db.aspx?t=customers and that would show the entire list of customers. If you want to see those customers in an excel spreadsheet, build a link like this: http://yourapp.qrimp.com/db.aspx?t=customers&vid=csv That vid describes how you want to view the data, in this case, you want to view it in a CSV format, which launches Excel when you click the link.
You can even build really complex queries that will give you a list of customers in a particular city: http://yourapp.qrimp.com/db.aspx?t=customers&city=Seattle
Pretty easy isn't it?
The web lets you put all kinds of data up thereSo does Qrimp! Qrimp doesn't limit the kind of data you can put on the web. It can be business related or personal. Really, the more data we have on the web, the better. Personal data is important to businesses and business data is important to people.
Of course, some data is more private than others. You might not want some people to see some of your data, but that's why we make it easy to secure it and limit who has access to your data.
Look what we can do with data about Technology Jobs.
You don't want to let your database go until you've made a beautiful website for itUnfortunately this is all too true. But your data does not need a special interface. It needs to be accessible. It needs to be browsable. One Qrimper has created a list of data and put it up there without doing anything special to the interface. I believe the consumers of the data, those who want to see the data, care less about what the web page looks like than they do about seeing the data itself. But, if you want to put a pretty interface on top of your data, Qrimp makes that easy too.
Check out what one Qrimper has done without changing the look and feel of his Qrimp app at all: http://scripturetunes.qrimp.com. That data is up there and choir leaders from all over the country can get ideas for songs they too can sing and teach the choir. If that Qrimper had waited until he had a totally custom interface for the data, how many people who have used his data already would have been left waiting for ideas for songs?
Don't wait. Get the data up there. You can make it prettier as you go! I could even argue that it is due to all these pretty interfaces that the web is so hard to use. Every website has links in a different place, they have different menu structures, the search box is in a different location. I do understand that it is through the appearance of our data that we "stand out," but it also makes it more difficult to use the web in general.
Remember, all things being equal, it is the content of your website that is important. If your website looks great, but no one can find anything or it is difficult to use, then people won't come back. Focus on the data first, then what the data looks like. You'll learn over time how to make it easier to visualize.
Raw data now!It is the raw data that is important. When you go to a car dealer and ask how much a car costs, if the dealer packages up the price into lots of long sentences and explanations and talks about the features, do you get frustrated? Yes, of course, because you asked for the price of the car. The price of the car is the Raw Data! You want the price, you don't want a picture of the car and a fancy border around the price with some particular font -- you want the data!
Now, imagine if you could go to your car dealer's website and pull down a list of every car on the lot, the make, model, and year of the car, what color it is and a list of all the options in raw data without having to hunt through some fancy interface to find that information? You could sort by price or filter by make. Wouldn't that be easier than having to view each car independently and click on the link to drill into more details about the car on yet another type of page?
Give us the RAW DATA!
No more excuses!In the past, it was difficult to go from the raw data to the web. You may need a database guru or a programmer. Well, not anymore! Not with Qrimp, just upload your raw data. Copy/paste from excel right into Qrimp and your raw data is available immediately! Qrimp puts a nice interface on it. You can filter by any field, you can import into other applications, you can mix and match it across other data sets.
Stop making excuses for why you aren't making your data available. Even this blog is available in raw data format. Look at this:
Table View: http://www.qrimp.com/db.aspx?t=blog&vid=table
A bulleted list of links: http://www.qrimp.com/db.aspx?t=blog&vid=bulletedlist
You can even download it in Excel: http://www.qrimp.com/db.aspx?t=blog&vid=csv
Unlike other blog programs that focus on making your blog pretty, I didn't have to do anything special with Qrimp to be able to provide the data in those different formats. All those different formats come standard with every Qrimp app. Imagine if all the data on the web was as easy to access and use with other programs as data inside your Qrimp app!
Want to get more seriousHow many articles have you read about cancer and heard a statistic like this: 25% of Americans get Cancer. Does that tell you anything? Which of those Americans got cancer? how old were they? How tall were they? Did they smoke? How much did those Americans with cancer look like me? Perhaps I am in a demographic that never got cancer!
How can we know that without the raw data? If we had an excel spreadsheet that listed all the different properties of people who got cancer, we could filter that list to include the properties we have. We could see how likely it is to get cancer at a particular age, or if we frequently drink coffee -- or don't! We could model our lives after those types of Americans, or any other country's citizens, don't get cancer.
Why do Japanese people live longer? What is common, or not common among Japanese people, compared to people from other countries. Without the raw data, it will be difficult for the average person to know. We are left to sound bites and articles in the newspaper geared to the population at large -- not each of us as individuals.
In this post, I'll describe a simple customer extranet. Perhaps these thoughts may help you design your own extranet. I will also construct a module based on the resulting application, so you can quickly add the result of these posts to your own Qrimp application.
In the example below, I will indicate some of the items that are People with Bold, Processes with Italics, and Things with Underline. Sometimes the item may be a Person or a Thing and will appear like Customers.
Customer Extranet Brainstorm
I want a system where customers can log in and check on the status of their custom projects. Before the project gets started, they contact us and ask if we can help them solve a particular problem. Different customers have different skill levels when it comes to technology, so they need different amounts of help to get started.
After customers create their project brainstorm, we will break down the brainstorm into sentences that correspond to individual items of work. We describe how complicated each unit of work is, how long we expect it to take, and how much it will cost to implement. The customer should be able to organize the items of work into iterations and prioritize them based on budget and system requirements.
We like to allow the customer to choose in an a la carte fashion which items they want now and which can wait. Like a shopping cart, the customer can add each item to a basket of tasks grouped into different phases of the project. Each phase may have several iterations. A phase could take a month and have 4 iterations for example.
During this time, we may have one or many meetings where the customer where we can ask questions and elaborate on the requirements where there could be confusion.
(Note to the reader: As an exercise, find the People, Processes, and Things in the rest of this brainstorm)
After the customer has chosen which items he or she wants to implement first, we send out an invoice for the first half of the project payment up front. When we receive payment, we begin work. The customer can log in while we are working and check on the status of each work item. The customer may want to know who is working on the item and communicate with the developer via messages.
When the iteration is complete, we should test the functionality and indicate any bugs we find or issues related to the item. Then we notify the customer that the iteration is complete and the customer logs into the application we have built to verify that it works as desired. If it doesn't, the customer can add an issue to a log or a bug report indicating that something needs to be changed. Sometimes the changes are within scope and sometimes they are out of scope, so we need to be able to indicate if something the customer may have thought was a simple change or perhaps we should move it to another iteration or phase.
When the customer is satisfied that all the work has been completed satisfactorily, we send out the invoice for the second half of the payment. We should let the customer see in their view of the extranet which payments have been received.
The customer should use the application for a little while before we begin the next iterations so that any ideas gained or issues found related to the previous iterations can be accommodated in brainstorms for future iterations.
Post Brainstorm analysis
As we dig a little deeper into the project brainstorm, we start to notice different kinds of verbs. For example, in the sentence, "Different customers have different skill levels..." The verb have is not in italics. It is a verb, but it is not an action verb, it is not something customers do, but rather something that describes a customer. These things that describe other things are what we call Properties. Perhaps one customer is skill level 8 and another skill level 4.
In the previous post on Designing Situational Applications, I talked about putting the Things in a chart with their properties. In our extranet, a customer might be in a chart that looks like this:
You may be wondering at this point, "Why does skill level matter?" Maybe it doesn't. Or maybe if we know the customers' skill levels it will help us communicate with them better. Maybe we can use skill level as a progress meter for our customer to help them see how much they are learning and give them an incentive to learn more. Remember, the goal here is not to be perfect with your description of the system, but to write down anything and everything that you think of.
There may be more users of your system than just you. This brainstorm is the beginning of a conversation between you and the developer (who may also be you). Anything that is left out at this very early stage could be more difficult to accommodate later, so it's best to get everything out as soon as possible.
Let's look at another sentence in detail, "We describe how complicated each unit of work is, how long we expect it to take, and how much it will cost to implement." Can you find the Things and properties for those Things in that sentence? Hint: Describe is a Process. Describing something usually involves typing out a (you guessed it) description of something. Typing out this description is part of a larger Process of Creating a unit of work. A unit of work is also a task, which is a more common and understandable term, so let's use that.
Here is a chart for a Task built from the sentence above:
Can you think of other properties of a task? Reread the brainstorm and consider these questions: Who is the task assigned to? What is the status of the task? Has it been completed? How does the task relate to other Things in the system? Are there any bugs or issues related to the Task? Does it require rework? Is customer satisfied that the task has been completed as expected?
As an exercise, write down all the People, Processes and Things in the brainstorm above. Put the Things in a chart with their properties. In the next post, we will begin to draw out some of these items and get more detailed.
In this series of posts, I'll take an informal approach to designing Situational Applications. The goal is to help you understand your information problem better and break it down into manageable pieces that you can then construct with your development environment or Application Platform. Qrimp is an example of such a situational application platform.
Most information management systems center around three things: People, Processes, and Things. Before you get started building your application, writing down everything you can think of related to these three topics will help you capture everything that your application will need to do. That doesn't mean you are going to build out all of the functionality that you describe, but the more you make concrete before you get started, the better you'll be able to plan your attack. Think of it like you think of a business plan for your company. It is a plan for building a system that helps you manage some part of that company.
Situational applications connect People to Things and help them manage the Processes that keep everything up to date and move information through the system.
The People are the users of your system. They log in, they search for information (things) and they perform actions in the system (Processes). They can see Things, or parts of things, based on who they are and which roles they are assigned to. When thinking of the people involved, sometimes it is easier to think of them as individuals and sometimes as their position within the organization.
Once you know who will be using your system, write down each role on one line of a piece of paper or in a chart. One line for each will help you draw lines between them and the Things and Processes later. These lines and relationsips will show you how the different parts of your application work together.
Some examples of people who may use your situation application are: Hiring Manager, Customer Service Representative, Tech Support Agent, Sales Agent, CEO, Account Manager, or Librarian. Each of these people will work with different things through different Processes, i.e. functions they perform.
The Things in your situational application correspond to the data you want to store. If you are building a Customer Relationship Management (CRM) system for example, some Things will be: Customers, Accounts, Interactions and Support Requests. Again, on a piece of paper, scribble down all the things you can think of related to this particular problem you are trying to solve. Put them in a chart, with the name of the thing at the top, then below it, list different properties of the thing like this:
After you write down all the Things, draw lines from the People to the Things they can see or can't see if that will be easier. This will help you define security settings for your Qrimp app. If there isn't enough room for lines, use a color coded system of circles or check boxes to indicate which People can see which Things. You can even get more detailed and talk about who can Create, Read, Update, and Delete each item. On the lines you've drawn, add a C, R, U, or D.
The goal here is less about being neat and formal and more about getting the information out of your head as soon as the ideas pop into it. Try to write down more than you think you may implement. In subsequent posts, I'll show you how to take these thoughts and make them more organized, and order them based on priorities and difficulty to implement. You want to build a system that can do as much as possible quickly, then add to it later. What we want to do is identify manageable chunks of the application that make sense to be built together in different iterations. You can read more about Iterative Development at Wikipedia.
Let's stick with the CRM example. In a CRM, a common process is the Sales Cycle. Between the time your potential customer is a lead and the money is in the bank, many different people in your organization may talk to the person to get more and more information that will help you solidify the customer relationship and determine the best products (another example of Things) for that customer.
Employees and applicants are Things in many Human Resources applications. Candidates apply for jobs, their resumes (Thing) are reviewed (Process), they are interviewed (Process) on the phone (Thing) and in person, and eventually they may be hired (Process). At this point, they become employees. Employees (People) have benefits (Things) and complete (Process) performance evaluations (also Things).
Remeber, Processes correspond to verbs (what people do) and Things correspond to nouns (the object of the verb). You can also think of the People as the subject of the sentence, "Bob (People) searches (Process) for the Customer Account (Thing). Then he adds a note that he talked to their Accounts Payable Contact." As an exercise, find the People, Processes, and Things in the last sentence of that quote. I'll include the answers at the bottom of this post.
Getting StartedI had a conversation today with a potential client who asked if we could help him build a system. To get started designing the system, I recommended sit down and start typing out everything he could think about the application and I recommend the same thing to readers. Don't worry about grammar and spelling, just type it out as fast as you can think of it. The goal is to get infromation out of your head so it can benefit you later and other People soon.
When you are finished, circle all references to People (users of your application), Things (nouns) and Processes (verbs). It may help to use different Ink colors or shapes to differentiate each category of item in your application.
In my next posts in this series, I'll create a sample brainstorm and highlight the People, Processes, and Things. Then, we'll map those items to concepts in a Situational Application and build the sample system.
I hope this will help walk you into your application. I know in the beginning, it's difficult to get everything out of your head. It won't all come out at once and as you build and use the system, it's almost inevitable that you'll remember things you forgot and have to make some changes, but that's why web platforms are so great for solving problems quickly -- changes can be made easily as you learn more about the system.
What were the People, Processes and Things in that last sentence? "Then he adds a note that he talked to their Accounts Payable Contact." He was Bob (People). Adds and talked are Processes. Note and Accounts Payable Contact are both things.
The second post in this series is here: Situational Application Brainstorm
There's news at TechCrunch, IT World, and others...
For their customers, life goes on and they need a solution fast.
Alternative to Coghead
We are offering 3 months free, support, webinars, and assistance to existing Coghead customers through a promotional offer. This offer is available to existing Coghead customers until April 30, 2009.
To take advantage of this offer and get Qrimp at a 50% discount for 6 months off the current price, click the PayPal button below.
Exact terms of the offer:
- Free for the first 3 months
- Then $25.00 USD for the next 6 months
- Then $50.00 USD for each month
We will do everything we can to make this transition as easy as possible. Qrimp is an excellent Alternative to Coghead, we think it is The Best Alternative to Coghead.
Talk to us about Pricing
Our goal is to meet or beat your current Coghead subscription costs. If you show us your monthly costs for a particular application, we will take 10% off the Coghead price.
Call now: US (972) 930-0629 We would love to talk to you about how we can help you solve this migration problem.
Stoorn är ett kul älg projekt som förhoppningsvis ska byggas på en kulle som heter Vithatten.
What I do know, is that it is a big moose. If I remember correctly, Stoorn means "The Big One" in Swedish and it is big. You don't even have to understand what is being said in the video to understand that.
And these things are big in real life too. I saw two in northern Canada and I was on a train in Sweden when it hit a moose in the middle of the night, woke everyone up, I remember it sounded like we had hit a house. These things are big. I also remember looking out at the night sky and seeing the northern lights for the first time.
Anyway, it's Thanksgiving and I'm thankful to the Swedish people for honoring the moose with such a grand construction.
In the technical sense Infrastructure is the hardware, networking, and software that runs the foundation of an information system. This infrastructure includes fiber optic cables, hard drives, servers, and usually an operating system. From the perspective of a software developer, this infrastructure runs the code that produces the screens, data, and workflows the end users interact with, but the infrastructure is not the code itself.
By itself, infrastructure isn't useful -- it just sits there waiting for someone to make it productive in solving a particular problem. Imagine the Interstate transportation system in the U.S. Even with all these roads built, they wouldn't be useful without cars and trucks to transport people and goods. In this analogy, the roads are the infrastructure and the cars and trucks are the platform that sits on top of the infrastructure and transports the people and goods. These goods and people might be considered the software and information in the technical realm.
There can be many types of infrastructure. It could be a slice of a single server as in shared hosting (GoDaddy), an entire machine (Rackspace, 1and1), or even a cluster of computers all working together (Mosso, Amazon, Joyent). The provisioning, maintenance, and stability of this infrastructure is provided by a hosting service or cloud computing provider. Infrastructure as a Service (IaaS) is a term used to describe infrastructure providers that allow the developers building on top of the infrastructure the capability to dynamically expand and contract the physical footprint of the infrastructure they are using, most specifically in the number of servers being used at one time and what those servers are doing, either serving web pages, running database queries, or processing video files.
So what is a PaaS? A Platform as a Service is one additional layer of abstraction on top of IaaS that makes it even easier to put hardware to use. In the PaaS model, the customer can jump right in and start working without thinking about servers, stacks, networking and the like. This entire layer of the software system is hidden from the end user. The end user uses the platform to build a particular software system that solves an exact end user problem -- usually much faster than starting with infrastructure directly.
For example, if a customer were to go sign up for an account at Mosso, they'd get a server and the capacity to serve web pages. If customer never did another thing, they'd get a URL with a standard message saying a site had been created -- and that's pretty much it. The next step for this user would be to write a lot of code or find an open source or commercial software package, like Word Press, Joomla, or Magento that could run /at/ Mosso and serve a purpose. Now, with one of these packages or the code installed at Mosso, the infrastructure is doing something useful. It's running a blog, a website, or an online store and people can purchase goods.
A PaaS sits on top of the infrastructure and makes it easier to put infrastructure to work. The end user of a platform need not worry about how many servers are running the software or what kind of database it is.
For example, our product Qrimp is a PaaS. If you sign up to use Qrimp, you'll get an immediately usable software system that does something useful. Upload a spreadsheet and Qrimp will infer the relational model for you, add security, navigation, and forms for you to get to work right away -- in 5 minutes. This level of functionality on an IaaS would still take another many days or weeks of coding or research to find a software package that will solve your problem and also work in the environment running it.
If you think about all this cloud computing as one big experiment in abstraction, then the IaaS abstracts a particular type of hardware with a stack, either Windows, Linux, or some other operating system, plus sometimes a database or two and the networking. The PaaS abstracts that hardware into a software layer that is much closer to the end product. A PaaS simplifies the process of software development by an order of magnitude, but may not be as flexible as IaaS because some of the details are hidden from the end user.
When to use IaaS or PaaS?
If you have already written a lot of code or have a software package you want to install and run in the cloud, then you'll be looking for IaaS. If you have no software or want to build something from scratch to solve a problem for which there is no package available or the packages are too expensive or complicated, then try a PaaS and mold it into shape.
Showing all times in the same time zone was inconvenient for scheduling applications. Everyone in the world would see an event start at the time the creator specified, even if they were in another time zone. If an event is scheduled to start at 7PM in Texas though, then it should say 5PM for someone viewing the event information from the Pacific Time Zone.
Now it does.
When you log into your Qrimp app the next time, you'll be prompted to set your Time Zone. Every time zone around the world is supported, including daylight saving time. With this new feature, all apps built on Qrimp are automatically time zone aware. You don't need to write any code to make this possible.
If you move your location to another time zone and would like to change it, use the Home > Settings menu.