<?xml version="1.0"?><rss version="2.0"><channel><title>Qrimp Blog</title><link>http://www.qrimp.com/blog/</link><description>Qrimp is a web-based development environment that allows you to create sophisticated enterprise-class web applications from your browser without writing any code.  This RSS feed will keep you up to date on the latest happenings at Qrimp, including Product Releases, News, Discussions, and our thoughts on the industry.</description><language>en-us</language><pubDate>5/19/2013 11:52 AM</pubDate><lastBuildDate>5/19/2013 11:52 AM</lastBuildDate><docs>http://www.qrimp.com/blog</docs><generator>Qrimp Blog RSS 2.0</generator><managingEditor>blog@qrimp.com</managingEditor><webMaster>webmaster@qrimp.com</webMaster><item><title>Last Minute Postmark in Tulsa Oklahoma for  2012 Tax Returns</title><link>http://www.qrimp.com/blog/blog.Last-Minute-Postmark-in-Tulsa-Oklahoma-for--2012-Tax-Returns.html</link><description>If you procrastinated on your taxes, here's info on how to get to the Post Office open the latest in Tulsa Oklahoma&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Of course many of us wait until the last minute to file our taxes. It's no wonder, since the tax code is &lt;a href=&quot;http://www.cpapracticeadvisor.com/news/10919341/no-surprise-small-businesses-say-complex-taxes-are-their-biggest-problem&quot;&gt;the Biggest Problem for Small Businesses&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;If you're in Tulsa, Oklahoma like we are, there's &lt;strong&gt;one&lt;/strong&gt; post office open late to postmark your tax return by the April 15, 2013 due date -- and it's only &lt;b&gt;open until 10:30 pm&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;US Post Office&lt;br /&gt;2161 North Cargo Road&lt;br /&gt;Tulsa, OK 74115&lt;br /&gt;(918) 834-6086&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe width=&quot;425&quot; height=&quot;350&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; src=&quot;https://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=CffsDtT8ri5vFakyKAIdot5I-inn8Z0MEvK2hzGdKICU6HZtvQ&amp;q=2161+N+Cargo+Rd,+Tulsa,+OK&amp;aq=&amp;sll=36.186039,-95.888144&amp;sspn=0.069482,0.132093&amp;ie=UTF8&amp;hq=&amp;hnear=2161+N+Cargo+Rd,+Tulsa,+Oklahoma+74115&amp;t=m&amp;z=14&amp;ll=36.185137,-95.888305&amp;output=embed&quot;&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;small&gt;&lt;a href=&quot;https://maps.google.com/maps?f=q&amp;source=embed&amp;hl=en&amp;geocode=CffsDtT8ri5vFakyKAIdot5I-inn8Z0MEvK2hzGdKICU6HZtvQ&amp;q=2161+N+Cargo+Rd,+Tulsa,+OK&amp;aq=&amp;sll=36.186039,-95.888144&amp;sspn=0.069482,0.132093&amp;ie=UTF8&amp;hq=&amp;hnear=2161+N+Cargo+Rd,+Tulsa,+Oklahoma+74115&amp;t=m&amp;z=14&amp;ll=36.185137,-95.888305&quot; style=&quot;color:#0000FF;text-align:left&quot;&gt;View Larger Map&lt;/a&gt;&lt;/small&gt;</description><category>The Web</category><pubDate>Mon, 15 Apr 2013 13:44:00 G4T -05</pubDate><guid>http://www.qrimp.com/blog/blog.Last-Minute-Postmark-in-Tulsa-Oklahoma-for--2012-Tax-Returns.html</guid></item><item><title>Every website should have a contact form and a feedback tab!</title><link>http://www.qrimp.com/blog/blog.Every-website-should-have-a-contact-form-and-a-feedback-tab.html</link><description>Contact forms and feedback tabs are good for you and good for customers!&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;h2&gt;Website visitors will help you improve your site!&lt;/h2&gt;&lt;br /&gt;I was just browsing around the web and I got to a website that had a problem on it. I wanted to let them know, but I was in the middle of something else, so I didn't want to hunt for their email, launch my email client, type in their email address and a subject, and worry that they were going to spam me later. I just wanted to anonymously let them know that a button on their website didn't work.&lt;br /&gt;&lt;h2&gt;Hello, is there anybody out there?&lt;/h2&gt;&lt;br /&gt;On another site, I wanted to contact the company about a similar issue. They had a contact link at the bottom, but the link was a mailto: email address. I clicked it and it launched Firefox's choose email app dialog. Taking the time to deal with an email application was more than I bargained for. I just wanted to tell them about the issue I found.&lt;br /&gt;&lt;h2&gt;Make it Easy!&lt;/h2&gt;&lt;br /&gt;If you want to communicate with your customers and get feedback, you have to make it easy for them. The more steps there are between you and your customers, the fewer customers there are who will take them. If a customer helps you identify a bug or typo on your website, or is able to ask you a question quickly and easily, you may get more customers!&lt;br /&gt;&lt;h2&gt;The Feedback Tab&lt;/h2&gt;&lt;br /&gt;Have you noticed the feedback tabs that have started to appear on the right-hand side of many web pages? We like these. They make it super easy for website visitors to communicate with web developers and content writers about the website itself. These slide-out boxes with their telltale vertically-aligned text are becoming more and more common. They may be the new defacto standard for letting your customers report issues with your website.&lt;br /&gt;&lt;h2&gt;Rules for a Great Contact Us Page&lt;/h2&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Don't make any fields required.&lt;p&gt;Required fields limit interactivity. You don't have to have any information about a customer if all they want to do is tell you about a typo on your website.&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;KISS - Keep it simple sweetheart!&lt;p&gt;Five fields maximum! Even five is a lot. Have an email and phone number so you can get in touch with them if they want you to. Name and message are the only two needed. You may want a company field, but probably not.&lt;/p&gt;&lt;br /&gt;&lt;li&gt;Have your form email you when submitted.&lt;p&gt;If someone submits the form, have it go straight to your email inbox. If you walk into a store and want to ask a question and no one answers you, how do you feel about shopping there? If they've filled out the form with contact information -- respond in a timely manner. Get back to them the same day or at the latest, the next day.&lt;/p&gt;&lt;br /&gt;&lt;li&gt;Manage the communications&lt;p&gt;In your email notification, include a link to a form back to the website with a form to respond. Fill in the answer and store it so you know you've responded to the customer. You can automatically add that customer to your CRM system, it may come in handy later. &lt;/p&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;h2&gt;Review of Today's Lesson&lt;/h2&gt;&lt;br /&gt;Putting a simple contact form on your website with a name, phone number, email address and message box is really fast (okay, at least for Qrimp users). Even if you have to do it the hard way, build that page and form. The help and goodwill from your customers will be worth it!</description><category>The Web</category><pubDate>Fri, 21 Sep 2012 09:49:00 G9T -05</pubDate><guid>http://www.qrimp.com/blog/blog.Every-website-should-have-a-contact-form-and-a-feedback-tab.html</guid></item><item><title>Why coachability is important</title><link>http://www.qrimp.com/blog/blog.Why-coachability-is-important.html</link><description>Entrepreneurs are anti-authority so it's difficult to know why coachability is important. Well, here's why.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;One of the many reasons to go out and start a business is to get out from under the control of some boss that doesn't understand your ideas or your reasoning. So why would you want to work with someone who wants you to be &quot;coachable&quot;? Does this mean they'll dictate your thinking?&lt;br /&gt;&lt;br /&gt;When you're just starting out, you might look for a mentor, maybe at an incubator or start-up school of sorts. You may come across an emphasis on &quot;&lt;b&gt;coachability&lt;/b&gt;.&quot; What does it mean? Are the these people looking for someone to micromanage and boss around?? You could get &lt;em&gt;that&lt;/em&gt; at a day job! You're just looking for help to &lt;b&gt;start your own business&lt;/b&gt; and &lt;b&gt;be your own boss&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;As an entrepreneur, if you've got any experience at all, you're used to people saying no to your ideas or giving you advice you might find useless. It may seem that there are more people out there without a clue than with one! So why listen to someone else try to tell you what the right decisions are for a business you run everyday? You've put in the hard work, you know your business! Why is someone else trying to tell you what to do?&lt;br /&gt;&lt;br /&gt;Here's why. Entrepreneurs, like you, are human too and still make a lot of mistakes. If you aren't making enough mistakes, you aren't doing enough. Right now, I'm watching &lt;a href=&quot;http://www.hulu.com/shark-tank&quot;&gt;Shark Tank&lt;/a&gt;, I have three episodes queued up in separate browser tabs, and I see the same mistakes over and over. If you're &lt;b&gt;starting a business&lt;/b&gt;, you better be watching &lt;a href=&quot;http://www.hulu.com/shark-tank&quot;&gt;Shark Tank&lt;/a&gt;, because the sharks are right. Learn from their mistakes. The biggest mistake I see is people saying no to money. Those 5 sharks up there have way more experience than any of the pitchers and some naive pitchers still stand there and act like they know more than the sharks.&lt;br /&gt;&lt;br /&gt;&quot;Life is always about distribution... that's it.&quot; Daymond John gets it. You might, but you probably don't. It's okay, just trust him. He's sold billions of dollars worth of product. It's hard to create a business. It takes management, contacts and software. Do you know the people at 1,000 stores to sell to? Do you know someone at Wal-mart? If they buy 100,000 units, can you deliver? How? Are you going to put them in your trunk and drive them over?&lt;br /&gt;&lt;br /&gt;I'm digressing extremely here. The point is, these sharks, mentors, some investors and many of the folks you'll meet at incubators, have been in business and created companies. They want to help you! Listen to them. They know the mistakes you're making. They've made them. If you aren't coachable, you aren't going to listen to them tell you you're making a mistake.&lt;br /&gt;&lt;br /&gt;On &lt;a href=&quot;https://www.youtube.com/watch?v=zQXPq6ZRd4s&quot;&gt;season 3, week 14 of Shark Tank&lt;/a&gt;, Mark Cuban says, &quot;At this point, I'm going to ask you to trust us.&quot; If you're coachable, your answer to Mark Cuban, is, &quot;Wait a minute. I'm not quite sure I understand what you're saying, but if we can position ourselves on the same side of success, I'll will to trust you.&quot;&lt;br /&gt;&lt;br /&gt;Coachability is the ability to listen to the people who have been through the wringer before and heed their advice. So listen, evaluate the advice, if you don't understand it, research it. If you're more coachable, you'll make fewer mistakes by learning from the mistakes of others -- and the successes too.&lt;br /&gt;&lt;br /&gt;Good luck!</description><category>Start-up</category><pubDate>Sun, 16 Sep 2012 21:19:00 G9T -05</pubDate><guid>http://www.qrimp.com/blog/blog.Why-coachability-is-important.html</guid></item><item><title>How to get Buy-in for Good Ideas</title><link>http://www.qrimp.com/blog/blog.How-to-get-Buy-in-for-Good-Ideas.html</link><description>Have a great idea and want to make sure it isn't shot down?  These 5 strategies will help.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;We recently watched a good interview from the Harvard Business School lecture series  with Professor John Kotter, who discussed some of the ideas in his book &quot;Buy In: saving your good idea from getting shot down&quot;. We thought we would share with you his simple, clear advice which will be of great use to small business owners and start-ups. It might be especially helpful for those renegade-type entrepreneurs who may have trouble getting people to believe that their ideas have value. &lt;br /&gt;&lt;br /&gt;&lt;object style=&quot;height: 330px; width: 500px&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/RpSI4-ZuegE?version=3&quot;&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;&gt;&lt;embed src=&quot;http://www.youtube.com/v/RpSI4-ZuegE?version=3&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot; allowScriptAccess=&quot;always&quot; width=&quot;500&quot; height=&quot;330&quot;&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Below are Kotter's five ways of getting buy-in and our reflections on those&lt;br /&gt;ideas:&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Draw the Gunfire!&lt;/h4&gt;Have a big meeting about your idea, invite everyone in. Because people are so busy, perhaps a lot of the reason they don't buy in to your idea is because it is just a blip on their radar. By holding a big meeting, you will &quot;draw the gunfire&quot;. People will attack your idea. That's good because people notice gunfire-&quot;once you've got their attention, then you have the possibility of winning over their minds and hearts&quot;. We interpreted this strategy as similar to the philosophy that &quot;there's no such thing as bad publicity&quot;.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Keep it Simple!&lt;/h4&gt; &quot;Avoid Vietnam.&quot; Don't debate the details. If you spend 15 minutes debating the details of your idea, people will tune out and stop thinking about the idea. There are simple responses to most types of attacks on an idea. Unfortunately, Professor Kotter didn't get into those responses in the interview, so perhaps we will need to peruse the book for those.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Be the Statesman&lt;/h4&gt; Treat people with respect, in your meeting and &quot;on paper&quot;. Don't beat them into submission, especially if you are feeling angry or defensive-&quot;mistake&quot;. Be the statesman. The bullies will try to beat up on your idea, let them. Let &lt;em&gt;them&lt;/em&gt; come off looking bad, which helps you get buy-in from others. Be respectful of nay-sayers, you never know who may simply be a sceptic. If someone is simply playing devil's advocate, it wouldn't make much sense to debase them and lose their support for that reason. Treating everyone with respect draws the audience toward you.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Keep a Broad View of the Audience&lt;/h4&gt; Pay attention to the masses. If there is one person who is attacking your idea more viciously than others, do not focus all of your attention refuting that person's arguments. You can just imagine how this would give validity to their stance. You are there to convince everyone, and you will likely not change that one detractor's mind anyhow. Give everyone attention.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Be Well Prepared&lt;/h4&gt; Think carefully about your plan, how it would be used, and what some of the possible arguments against it are. Focusing on the details of your plan reduces anxiety. If you have thought of things down to the nitty-gritty, people will be less easily able to poke holes in your ideas, and you will come off looking more respectable and intelligent! And last but not least-and this last piece of advice might be really crucial to some of the more intelligent entrepreneurs out there-don't put people to sleep by talking for too long. If you do this, you're &quot;dead&quot; as Kotter puts it.&lt;br /&gt;</description><category>Start-up</category><pubDate>Fri, 21 Jan 2011 20:31:00 G1T -06</pubDate><guid>http://www.qrimp.com/blog/blog.How-to-get-Buy-in-for-Good-Ideas.html</guid></item><item><title>Alternative to DabbleDB</title><link>http://www.qrimp.com/blog/blog.Alternative-to-DabbleDB.html</link><description>The DabbleDB team has been acquired by Twitter. We'd like you to give Qrimp a try.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;The brilliant team behind another &lt;strong&gt;web database&lt;/strong&gt; has been acquired. It's great news for the DabbleDB team, but it's terrible news for customers of DabbleDB.  We are happy they have seen great success, but we know existing DabbleDB customers must be on edge right now.  Who is going to continue working on DabbleDB? Will data stored there continue to exist? What alternatives are there for DabbleDB? &lt;br /&gt;&lt;br /&gt;&lt;h1&gt;A Great Alternative to DabbleDB&lt;/h1&gt;&lt;br /&gt;Well, Qrimp is a great alternative for DabbleDB. One of the best things about Qrimp is that it runs on your local computer, in a server environment, or even your own VPS, so if Qrimp is acquired, you don't have to worry about your data -- just install your own Qrimp server license!&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;Special Limited Time Offer&lt;/h1&gt;&lt;br /&gt;&lt;strong&gt;Signup with Qrimp for the same rate you're paying at DabbleDB!&lt;/strong&gt;  That's right.  For a limited time, we are offering DabbleDB customers Qrimp accounts at the same price you're paying for DabbleDB. Just let us know you are coming in as an existing DabbleDB customer when you &lt;a href=/signup.html&gt;sign up for Qrimp&lt;/a&gt;.  Let us know what you're paying there, with verification, and you'll get the same rate here.&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;What is Qrimp?&lt;/h1&gt;&lt;br /&gt;Qrimp is an easy to use online web database.  It's not quite as intuitive, but that's because it's &lt;i&gt;way&lt;/i&gt; more powerful. Qrimp has security settings by group. You can do advanced reporting and even create your own SQL based Queries. Not only that, but it has a great CSS based system to change the look and feel of your web application, enabling you to power not only a web database, but any website for any purpose.&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;Easing the transition to a new Online Database&lt;/h1&gt;&lt;br /&gt;About a year ago, we offered support for customers of Coghead who need to transition to another platform. Now, we are offering support to customers of DabbleDB who would like to transition to another web database platform. Qrimp has been around now for 4 years.  Some systems built on Qrimp have over 400 users and they work great. Many people say they like the interface better and find Qrimp much faster than DabbleDB as well, so we think you'll be happy here.&lt;br /&gt;&lt;br /&gt;If you have any questions, please &lt;a href=&quot;contactus.html&quot;&gt;contact us&lt;/a&gt;.</description><category>Qrimp</category><pubDate>Thu, 10 Jun 2010 23:40:00 G6T -05</pubDate><guid>http://www.qrimp.com/blog/blog.Alternative-to-DabbleDB.html</guid></item><item><title>ERP for Small Business</title><link>http://www.qrimp.com/blog/blog.ERP-for-Small-Business.html</link><description>Having overseen a multi-million dollar installation of SAP, he called Qrimp, &quot;ERP for Small Business.&quot;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;As Qrimp approaches 400 installations, it feels great to see how many businesses and people we are helping.  At the same time, there's still a lot of pain out there in a world where people are buying the wrong software.&lt;br /&gt;&lt;br /&gt;I just read an article at Computer World UK called, &quot;&lt;a href=&quot;http://www.computerworlduk.com/management/infrastructure/applications/in-depth/index.cfm?articleid=2493&quot;&gt;Why ERP is still so hard&lt;/a&gt;.&quot;  It's painful, here are some quotes from the article.&lt;blockquote&gt;Of course, ERP applications can change. But it'll cost you. In customizations. In change and process management. In upgrades. A typical company, notes the CFO study, will spend an average of $1.2 million each year to maintain, modify and update its ERP system.&lt;/blockquote&gt;That's after spending $3 Million to $17 Million to implement it in the first place.&lt;br /&gt;&lt;blockquote&gt;Oracle, for instance, will heavily discount license pricing upfront but will, rest assured, make that up on the backend - from its 22 percent maintenance and support fees, on which it does not negotiate.&lt;/blockquote&gt;I knew when I started my business, I wanted it to run on great software, a robust and flexible platform that could grow and change as my business grows!&lt;br /&gt;&lt;br /&gt;So before I got started on my next venture, I started on the software.  I saw the benefit that software brings to organizations.  All companies of even modest size need software, but it's expensive and can be difficult to maintain.  I wanted to solve those problems first so I knew I could manage any information I needed to quickly and easily. &lt;br /&gt;&lt;br /&gt;&lt;h3&gt;So I ask myself, &quot;Why is ERP so hard?&quot;&lt;/h3&gt;I think it's hard because technology is hard.  Writing software to manage an entire business is difficult.  Everyone wants something different. ERP software is generally written once and sold to many businesses and every business is different. It takes changing of minds and business processes to adapt to large ERP installations.&lt;br /&gt;&lt;br /&gt;With a rapid application development platform like Qrimp, the software can be adapted to the business, rather than requiring business and people change -- change the software. Mold the software to the business.  On the Qrimp platform, we can build and customize an entire ERP suite of software designed to meet exact business requirements in less time and at lower cost than it would require to purchase and customize an existing packaged system.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Never say Never&lt;/h3&gt;The article continues the discussion of hard software.&lt;blockquote&gt;CIOs, too, can play a starring role in limiting costly customizations, by educating and imploring business managers and users why customisation, in the long run, is often not the better route. But that task is never easy. &lt;/blockquote&gt; I wouldn't say that is true.  I think every business is different and every business needs different software. If you don't customize the software, you have to customize the people.  You have to change your entire business to suit the software, when it should be the other way around.  Adapt the software to the business.  Retraining your people to a new business process, takes time. It's a big distraction.  Even simple things like changing the names of things can make a big difference.&lt;br /&gt;&lt;br /&gt;One of my acquaintances was working for a company about to roll out a popular CRM system and she told me, &quot;&lt;b&gt;I don't have time to learn it.&lt;/b&gt; I'm too busy -- we're all too busy.  We have to change the way we do everything to use this new software, it's easier to keep it in Excel.&quot;  I cringed when I heard that.  A lot of software decisions like this are made from the top down, just like software is built. In cases like these, slick sales men and women convince the management to buy the software and employees resent it. They know the project is doomed to failure, but no one listens.  They think it's easier to adapt their business to the software than to adapt the software to the business. That was true in the past, but not anymore.&lt;br /&gt;&lt;br /&gt;The problem with ERP software is that the underlying infrastructure, the code that runs it, is so hard to write.  It takes years to write the code to manage an accounting process and then the ERP companies take that same code and sell it to all their customers.  If they want to customize the functionality, they have to rewrite the code, which takes months or even longer.  Some ERP roll-outs take years.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Qrimp is different&lt;/h3&gt;  With Qrimp, we build software that runs entire business in just a matter of months -- from scratch.  We build the software to match your business processes and your people.  It doesn't take years to write software anymore, it takes a couple hours.  It sounds too good to be true.  It's unbelievable, but what I can't believe anymore is that people are still building software systems the hard way.  It's &lt;i&gt;soft&lt;/i&gt;ware, why is it so &lt;i&gt;hard?&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;You can't customize traditional ERP, because upgrades break it&lt;/h3&gt;One of the best features of Qrimp is that &lt;strong&gt;upgrades don't break your software&lt;/strong&gt;. The first enterprise system, built on Qrimp almost 3 years ago has been upgraded multiple times and it still works flawlessly.  No data has been lost, no additional maintenance time has been spent unbreaking the system -- &lt;b&gt;Qrimp just works&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;Traditional ERP breaks, because it was written top down.  The ERP company sees a problem like accounting, HR or supply chain and they write a bunch of code to solve the individual problems.  Then they piece all together after the fact.  But that's the wrong approach.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Qrimp was written from the bottom up&lt;/h3&gt;Qrimp is a platform.  We spent the first years of R&amp;D building a flexible platform, exactly so that it can be customized.  I knew when I architected the system that it was going to have to be agile to support the changing business requirements of a growing company.  This is where traditional ERP fails.  The &lt;a href=&quot;http://www.computerworlduk.com/management/infrastructure/applications/in-depth/index.cfm?articleid=2493&amp;pn=3&quot;&gt;ComputerWorldUK article&lt;/a&gt; says a lack of flexibility is why many ERP packages fail:&lt;blockquote&gt;&quot;Companies grow and change, acquiring new business lines and divesting themselves of others. They open new facilities or consolidate operations, add partners or outsource functions, centralise or decentralise the back office. Reporting requirements increase as regulatory bodies heighten oversight and as companies expand across borders.... In short, businesses change, and as they do, so do management's information needs.&quot;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Traditional ERP fails, because it can't change.  Qrimp was designed to change. That was the #1 priority when building the system -- &lt;strong&gt;enable changes to the software&lt;/strong&gt;.  &lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Hard software stifles business&lt;/h3&gt;Business changes and adapts.  You don't want our software to be a ball and chain, you want it to be flexible and move with you.  Even adding a new menu or changing a column, or adding a column with traditional ERP can take weeks or months.  It has to be rolled out and tested and integrated and recompiled and all sorts of other things that most users of the system don't know about or care about and really, why should they?  They need to do their jobs and they need to be able to store and track the information effectively.&lt;br /&gt;&lt;br /&gt;I love Qrimp, because it grows with us.  As we start new ventures, build new websites, attract new customers, implement new features, Qrimp just keeps rolling right along.  &lt;br /&gt;&lt;br /&gt;If you'd like to learn more about how Qrimp can enable your business to grow, build more revenue, adapt to change and be more agile, please &lt;a href=&quot;contact.html&quot;&gt;&lt;strong&gt;Contact Us&lt;/strong&gt;&lt;/a&gt;!  We &lt;i&gt;want&lt;/i&gt; to help.</description><category>Qrimp</category><pubDate>Thu, 10 Sep 2009 10:45:00 G9T -05</pubDate><guid>http://www.qrimp.com/blog/blog.ERP-for-Small-Business.html</guid></item><item><title>What the recent Facebook and Twitter DDoS outage tells us</title><link>http://www.qrimp.com/blog/blog.What-the-recent-Facebook-and-Twitter-DDoS-outage-tells-us.html</link><description>The web is extremely fragile.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;The recent &lt;a href=&quot;http://news.cnet.com/8301-27080_3-10305200-245.html&quot;&gt;Facebook and Twitter Outage&lt;/a&gt; was an attack on one person.  &lt;a href=&quot;http://www.pcworld.com/businesscenter/article/169831/twitter_still_struggling_to_recover_from_dos_attack.html&quot;&gt;Twitter was down for 2 days&lt;/a&gt;.  F-Secure said it was like &lt;a href=&quot;http://www.f-secure.com/weblog/archives/00001746.html&quot;&gt;bombing a TV station because you don't like one of the newscasters&lt;/a&gt;.  Hmm... Except it's not.&lt;br /&gt;&lt;br /&gt;This one person, whose name I won't mention, made some Russians so angry that they disabled a web service used by millions of people.  MILLIONs of people.  &lt;br /&gt;&lt;br /&gt;The damage was even worse than just taking out Twitter and Facebook.  It also &lt;a href=&quot;http://www.eweek.com/c/a/Search-Engines/How-Google-Was-Impacted-By-The-TwitterFacebook-Denial-of-Service-Attacks-508087/?kc=EWKNLNAV08102009STR1&quot;&gt;took out portions of Blogger&lt;/a&gt; run by Google, the most massive data center in the world.  &lt;a href=&quot;http://www.pcmag.com/article2/0,2817,2351296,00.asp&quot;&gt;LifeJournal was also down&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;If hackers angry at one person can take down four internet companies' websites used by millions of people, imagine if they were angry at, I don't know... &lt;i&gt;two people&lt;/i&gt;!&lt;br /&gt;&lt;br /&gt;</description><category>The Web</category><pubDate>Wed, 12 Aug 2009 07:09:00 G8T -05</pubDate><guid>http://www.qrimp.com/blog/blog.What-the-recent-Facebook-and-Twitter-DDoS-outage-tells-us.html</guid></item><item><title>Custom Website Analytics Built with Qrimp</title><link>http://www.qrimp.com/blog/blog.Custom-Website-Analytics-Built-with-Qrimp.html</link><description>I was frustrated with a lot of the one-size-fits-all website analytics program, so I rolled my own on the Qrimp platform.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;div id=hackernews style='display:none;border:darkgreen;background:efffef'&gt;&lt;h3&gt;Preface for Hacker News readers&lt;/h3&gt;My document.referrer says you are coming from HN, so I thought I'd preface this post especially for you.  &lt;br /&gt;&lt;br /&gt;A lot of stuff I've read at HN prompted me to finally write this.  I saw the &lt;a href=&quot;http://news.ycombinator.com/item?id=689746&quot;&gt;Why JavaScript Web Analytics...&lt;/a&gt; post today.  I've also seen lots of comments from people wondering what other HNers are hacking on.  This analytics tool is something I'm hacking on and so is Qrimp -- it's my baby.&lt;br /&gt;&lt;br /&gt;Just briefly, Qrimp is a browser based development platform.  It's usually $50/mo, but I would love to get more opinions from &lt;i&gt;real&lt;/i&gt; hackers, so if you'd like to learn more about Qrimp or just give us some feedback, &lt;a href=&quot;http://www.qrimp.com/signup.html&quot;&gt;sign up&lt;/a&gt; and add your HN user name in the &quot;How you heard about us&quot; block and I'll create a free account for you.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;script&gt;if (document.referrer.indexOf('ycombinator') &gt; 0){document.getElementById('hackernews').style.display='block';}&lt;/script&gt;&lt;h3&gt;Why analytics are important&lt;/h3&gt;&lt;br /&gt;If you want to better understand your website visitors, your customers, or your potential partners, you need to know what they know about you.  You know what they know, partly through examining what they are reading at your site.  Which types of articles get the most attention?  Which products are the most popular?  Which pages are your potential customers looking at that convinces them to sign up?&lt;br /&gt;&lt;br /&gt;It's really about data and information and turning those into Knowledge you can use to improve your company -- or yourself. Sometimes you don't know how you are going to use additional knowledge, but I know that the more I know, the better able I am to react and that's why site logs are important.  If your site starts to perform slowly or you get a lot of traffic and you don't know where it's coming from, your ignorance is hurting you in ways you may not even know.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Why One-size-fits-all doesn't work&lt;/h3&gt;&lt;br /&gt;You may be wondering, &quot;Why waste your time building your own analytics when there are lots of options out there?&quot;  Well, the simple answer is that with Qrimp it really doesn't take that long.  There was information I wanted access to, that I couldn't get out of Urchin or Google Analytics.  Some of these packages are good, but when I used them, I always felt constrained.  I felt like I wanted more and I knew there was more knowledge to be gained from the logs than I was getting.&lt;br /&gt;&lt;br /&gt;For example, Google Analytics really limited my ability to drill into details about each visitor.  If someone signs up for Qrimp, I wanted to know where they came from, what they looked at.  Are they coming from a university?  Really, there are a lot of questions I had that were left unanswered by the statistics packages out there designed for &lt;i&gt;all&lt;/i&gt; websites. I wanted a statistics package designed for &lt;i&gt;my&lt;/i&gt; website.&lt;br /&gt;&lt;br /&gt;When someone signs up, I log the IP address for the computer they are using.  Since the sign up system is also built in Qrimp, I knew I'd be able to create a link from that IP address directly to the analytics system and immediately know everything that customer looked at before and after signing up.  This kind of knowledge would help me understand better what is in the mind of &lt;i&gt;that particular customer&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Problems javascript based solutions&lt;/h3&gt;&lt;br /&gt;Google Analytics is also JavaScript based and I found the statistics produced by GA was really quite different from Urchin stats generated from the raw logs.  The discrepancy made me uneasy.  I knew to get the best information, I had to go to the raw logs.  &lt;br /&gt;&lt;br /&gt;Rather than go into detail about why JavaScript based solutions aren't up to my standards, I'll refer to a post I read today, called &lt;i&gt;&lt;a href=&quot;http://www.datalandsoftware.com/blog/2009/07/06/10-reasons-why-web-log-analyzers-are-better-than-javascript-based-analytics/&quot;&gt;10 reasons why web log analyzers are better than JavaScript based analytics&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Problems with urchin&lt;/h3&gt;&lt;br /&gt;One of the biggest issues with Urchin was that the navigation just didn't feel right.  For example, in the chart below, I wanted to click on the bar and examine the sessions, but urchin doesn't let me do that.  That kind of functionality is built into Qrimp, so I knew it would be very easy to present the data more intuitively.&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://www.qrimp.com/blog/urchin_analytics_dailychart_cant_click.png&quot;/&gt;&lt;br /&gt;&lt;br /&gt;Also, the urchin statistics are presented on a site by site basis, but because Qrimp is a multi-tenant system, I wanted to be able break down statistics by Qrimp instance.  Were visitors coming to &lt;a href=&quot;http://www.qrimp.com&quot;&gt;www.qrimp.com&lt;/a&gt; also visiting &lt;a href=&quot;http://developer.qrimp.com&quot;&gt;The Developer Network&lt;/a&gt;? Did they start out at the &lt;a href=&quot;http://cloudcomputing.qrimp.com&quot;&gt;Cloud Computing Portal&lt;/a&gt; or maybe they were techies looking at the &lt;a href=&quot;http://demo.qrimp.com/TechJobsCharts&quot;&gt;Tech Jobs Charts&lt;/a&gt;? Using Urchin, answering that question would be almost impossible.  &lt;br /&gt;&lt;br /&gt;Another issue was with website referrals, here's an image:&lt;br /&gt;&lt;img src=&quot;http://www.qrimp.com/blog/urchin_referers_noclick.png&quot; /&gt;&lt;br /&gt;See how some of the information is disregarded?  If you read Hacker News, you'll know from that link, there's no way for me to see the comments about whatever link it was that was submitted to Hacker News.  That information is just lost.  But when someone refers to a page at Qrimp, I want to be able to go to that page and see what they are saying.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;File based analytics can't be queried&lt;/h4&gt;&lt;br /&gt;Most analytics programs aren't database driven.  They look at your logs and then build a bunch of reports or static files that then present your data to you in ways they &lt;i&gt;think&lt;/i&gt; you'll want to see it.  But without a comprehensive querying system, they limit the visibility of the data and that's really what I was after and that's what Qrimp is all about.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;What I wanted to see&lt;/h3&gt;&lt;br /&gt;Whenever I would use one of the standard analytics packages, I'd always have a lot of questions.  I've been using website analytics tools for over 10 years now -- way back when I had to examine logs manually.  I first tried &lt;a href=&quot;http://en.wikipedia.org/wiki/Awstats&quot;&gt;awstats&lt;/a&gt; back in the day, which I loved, and then Microsoft had this great tool called &lt;a href=&quot;http://en.wikipedia.org/wiki/Microsoft_Site_Server&quot;&gt;Site Server&lt;/a&gt; which had some built in analytics processing.  Site Server's analytics was really nice, but it &quot;went away...&quot;  &lt;br /&gt;&lt;br /&gt;On a side note, that's part of why I built Qrimp -- I was tired of my favorite software &lt;i&gt;going away&lt;/i&gt;.  I knew if I wanted software done right, I was going to have to do it, but there's so much software that I wanted to build, that I decided to start on the platform.  It's my mission to make sure Qrimp never goes away.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;I wanted Individual Visitor Logs&lt;/h4&gt;&lt;br /&gt;Individual visitor logs was something I really wanted to see.  Not only for a single site, but across all sites.  Was someone using their Qrimp app, then clicking on the Help link and finding more information from the Developer network?  Which help topics were they reading and when?  I need to know so I can make Qrimp better.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;New Domains&lt;/h4&gt;&lt;br /&gt;I also wanted detailed reports about which new domains were coming to the site.  Lots of smaller companies come to check out Qrimp and maybe they'd like to buy it.  These new domains are hot leads I can examine, build up a case, and then call that company and ask them if they'd like to talk or see a web demo.  &lt;br /&gt;&lt;br /&gt;I've also been working with different universities who want to get their students up and running on Qrimp.  I love the idea and so I wanted to see which new .edu domains were coming to Qrimp and then perhaps I could email the Computer Science department and see if they were interested.  &lt;br /&gt;&lt;br /&gt;&lt;h3&gt;What I did NOT want to see: Log Spam and Robots&lt;/h3&gt;&lt;br /&gt;I found that as I continued to use the Urchin statistics, I was getting more and more refers to websites peddling drugs, porn, and myriad other types of spam.  There was no way for me to get these hits out of my logs unless I filtered them out myself.&lt;br /&gt;&lt;br /&gt;I also didn't want to see a lot of details about the Robots.  I developed a few algorithms to figure out what a robot was and then flag and remove those hits from the big list.  This allowed me to really filter out the logs and drill into only the human beings.  I might have a couple hundred sessions one day and then find out that that half of those are robots.  It's bad data and I don't care about the robots -- I care about customers. &lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Customizing Qrimp&lt;/h3&gt;&lt;br /&gt;So I had to get the raw logs into Qrimp.  In the raw logs, these statistics are presented with one request on each line.  I needed each request to be a record in the database, so I had to write a little bit of customized code.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Downloading the Raw Logs&lt;/h4&gt;&lt;br /&gt;I run Qrimp on a local instance, so all I had to do was create a new database and install it.  The hosting provider makes the logs available through FTP in ZIP files, so I wrote a script I run once a day to attach to the FTP server via sFTP and download any new log files. I use &lt;a href=&quot;http://winscp.net/eng/index.php&quot;&gt;WinSCP&lt;/a&gt; which has an awesome &lt;a href=&quot;http://winscp.net/eng/docs/scripting&quot;&gt;scripting language&lt;/a&gt; that I use to automate it.  I create a scheduled task or &quot;cron&quot; job to run this script each morning.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Parsing the logs&lt;/h4&gt;&lt;br /&gt;Then, I wrote a little code that would unzip the raw logs, open the text file contained within it and go line by line extracting out the logdate, servername, referer and other details about a request.  I added a little bit of security to it so that the database wouldn't get corrupted by script tags via cross site scripting and that sort of thing.  I've parsed lots of files like this, so it didn't take long, maybe an hour or two.&lt;br /&gt;&lt;br /&gt;I thought having detailed analytics like this would be interesting for our customers as well, so I built the rest of the import process into web pages.  At some point in the future, I may automate this process too or make it a commercial add on, but for now, it's part of my daily routine.  &lt;br /&gt;&lt;br /&gt;The first thing I do is click on the Qrimp server I want to import logs for from something like this:&lt;br /&gt;&lt;img src=&quot;http://www.qrimp.com/blog/logs_importing_logs_step1.png&quot; /&gt;&lt;br /&gt;&lt;br /&gt;When I click on one of the servers, I usually pogo-stick them, I scroll to the daily import and click it:&lt;br /&gt;&lt;img src=&quot;http://www.qrimp.com/blog/logs_import_step2.png&quot; /&gt;&lt;br /&gt;&lt;br /&gt;Then I see a simple page with a progress bar letting me know how long it'll take.  &lt;br /&gt;&lt;object id=&quot;csSWF&quot; classid=&quot;clsid:d27cdb6e-ae6d-11cf-96b8-444553540000&quot; width=&quot;594&quot; height=&quot;218&quot; codebase=&quot;http://active.macromedia.com/flash7/cabs/ swflash.cab#version=9,0,28,0&quot;&gt;&lt;param name=&quot;src&quot; value=&quot;http://www.qrimp.com/blog/logs_importing_log_step3.swf&quot;/&gt;&lt;param name=&quot;bgcolor&quot; value=&quot;#1a1a1a&quot;/&gt;&lt;param name=&quot;quality&quot; value=&quot;best&quot;/&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;/&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;/&gt;&lt;param name=&quot;scale&quot; value=&quot;showall&quot;/&gt;&lt;param name=&quot;flashVars&quot; value=&quot;autostart=false&quot;/&gt;&lt;embed name=&quot;csSWF&quot; src=&quot;http://www.qrimp.com/blog/logs_importing_log_step3.swf&quot; width=&quot;594&quot; height=&quot;218&quot; bgcolor=&quot;#1a1a1a&quot; quality=&quot;best&quot; allowScriptAccess=&quot;always&quot; allowFullScreen=&quot;true&quot; scale=&quot;showall&quot; flashVars=&quot;autostart=false&quot; pluginspage=&quot;http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Back into the Browser based development&lt;/h3&gt;&lt;br /&gt;Everything beyond this point was created using only the Qrimp development platform.  Once the data was in the system, custom queries, field templates, portals and everything else was super easy.&lt;br /&gt;&lt;br /&gt;After importing all the new logs, I reindex the logs table so queries are fast.  Then I do a reverse DNS lookup on the IP addresses so I know a little bit more about each visitor.  Qrimp has a reverse dns function built in, so I created an external data source to extract this information.  I know this isn't the most efficient way to do these, but it looks cool and it's fun to watch. Here's a video of that, it's neat to watch.  You'll notice in the video that I use Opera to reload the page automically every 5 seconds.  &lt;br /&gt;&lt;br /&gt;&lt;object id=&quot;csSWF&quot; classid=&quot;clsid:d27cdb6e-ae6d-11cf-96b8-444553540000&quot; width=&quot;1028&quot; height=&quot;496&quot; codebase=&quot;http://active.macromedia.com/flash7/cabs/ swflash.cab#version=9,0,28,0&quot;&gt;&lt;param name=&quot;src&quot; value=&quot;http://www.qrimp.com/blog/logs_reverse_dns_lookup.swf&quot;/&gt;&lt;param name=&quot;bgcolor&quot; value=&quot;#1a1a1a&quot;/&gt;&lt;param name=&quot;quality&quot; value=&quot;best&quot;/&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;/&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;/&gt;&lt;param name=&quot;scale&quot; value=&quot;showall&quot;/&gt;&lt;param name=&quot;flashVars&quot; value=&quot;autostart=false&quot;/&gt;&lt;embed name=&quot;csSWF&quot; src=&quot;http://www.qrimp.com/blog/logs_reverse_dns_lookup.swf&quot; width=&quot;1028&quot; height=&quot;496&quot; bgcolor=&quot;#1a1a1a&quot; quality=&quot;best&quot; allowScriptAccess=&quot;always&quot; allowFullScreen=&quot;true&quot; scale=&quot;showall&quot; flashVars=&quot;autostart=false&quot; pluginspage=&quot;http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;When it's complete, run one more query that examines the logs, looks for robots, spammers, and does a bit of denormalization and truncation of old entries to keep the system running fast.  This is running on my laptop and I only have 2GB of ram.  &lt;br /&gt;&lt;br /&gt;In the future, I plan on storing aggregate information for the older logs, but for now this is fine.  I keep the log zip files, so it'll be easy to keep all the data on a larger server or in aggregate in the future.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Screen shots&lt;/h3&gt;&lt;br /&gt;So now that I have my data in the Qrimp database and processed, I can examine it.  I have a portal page, here are my settings for that:&lt;br /&gt;&lt;img src=&quot;http://www.qrimp.com/blog/logs_portal_options.png&quot; /&gt;&lt;br /&gt;&lt;br /&gt;One of the charts on the reports is requests by day for the past month (click for full size):&lt;br /&gt;&lt;a href=&quot;http://www.qrimp.com/blog/logs_by_day_clickable.png&quot;&gt;&lt;img src=&quot;http://www.qrimp.com/blog/logs_by_day_clickable.png&quot; width=500 class=border /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Another report is &quot;Popular pages at Qrimp,&quot; which shows me a page like this (click for full size):&lt;br /&gt;&lt;a href=&quot;http://www.qrimp.com/blog/logs_popular_pages_001.png&quot;&gt;&lt;img src=&quot;http://www.qrimp.com/blog/logs_popular_pages_001.png&quot; width=500 class=border /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I like the calendar view too.  I created a custom template that allows me to see sessions, bandwidth, and unique referers by day.  I can click on the links to drill in.&lt;br /&gt;&lt;a href=&quot;http://www.qrimp.com/blog/logs_calendar_view.png&quot;&gt;&lt;img src=&quot;http://www.qrimp.com/blog/logs_calendar_view.png&quot; width=500 class=border /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If I click on Sessions in the link above, I see the image below.  I can click on the numbers under Sessions and Referers and get more details about the numbers behind them.  &lt;br /&gt;&lt;a href=&quot;http://www.qrimp.com/blog/logs_click_on_sessions.png&quot;&gt;&lt;img src=&quot;http://www.qrimp.com/blog/logs_click_on_sessions.png&quot; width=500 class=border /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Also, notice the icons are linked to the server names in this chart too.  It's just a &lt;a href=&quot;http://developer.qrimp.com/HelpTopics/Field Templates&quot;&gt;field template&lt;/a&gt; in Qrimp, so anywhere there is a servername column in a grid report, I can quickly get details for the server I don't have to customize every single report.&lt;br /&gt;&lt;br /&gt;If I click on the number under referers, I'll see a list of sites sending traffic there.  &lt;br /&gt;&lt;a href=&quot;http://www.qrimp.com/blog/logs_referer_list.png&quot;&gt;&lt;img src=&quot;http://www.qrimp.com/blog/logs_referer_list.png&quot; width=500 class=border /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Notice in the image above, there's the word &quot;spam&quot; by the link to the referer.  If I click it, it takes me to a form where I can add it to the list of spammers and all of those referers will be excluded from future reports.  The Spam referer link is pre-populated into the form so all I do is click TAB TAB Space (to click the create button) and I've added the spammer.  I set up the workflow so that as soon as I add the spammer, I go right back to the report where I found it.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Integrating with other sites&lt;/h3&gt;&lt;br /&gt;Now the really cool part starts.  Because I'm using Qrimp for all our data systems, anywhere we have an IP address, I can create a Field Template for that item that will link it to our website analytics program.  For example, when someone signs up for Qrimp, their IP address is logged.  I added a little icon that when clicked, shows me exactly what that user viewed before signing up.  This will help me improve my site so that we get more customers in the future, here's what that looks like:&lt;br /&gt;&lt;img src=&quot;http://www.qrimp.com/blog/logs_integration_signups.png&quot; /&gt;&lt;br /&gt;&lt;br /&gt;Integrating the sites like this is very simple, here's the HTML behind the field template for the IP Address data:&lt;br /&gt;&lt;a href=&quot;http://www.qrimp.com/blog/logs_integration_field_template.png&quot;&gt;&lt;img src=&quot;http://www.qrimp.com/blog/logs_integration_field_template.png&quot; width=500 class=border /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Another cool part is that our website analytics application is running behind our firewall, but because Qrimp links can go deep into data, we can structure the querystring to link directly to particular pieces of information, even if the systems aren't running on the same server.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Conclusion&lt;/h3&gt;&lt;br /&gt;All told, I've spend probably 10 to 20 hours on this website analytics system.  There is a lot to the system I haven't shown you, but the amount of power I can get out of Qrimp is really amazing for the amount of work put into it.  The amount of time I lose learning how to use Urchin or Google Analytics, or even just maintaining the JavaScript links to GA is probably more than that over the life of the application.&lt;br /&gt;&lt;br /&gt;But now I have unlimited access to my data. I can query it any way I like, I can integrate it very easily with my other systems.&lt;br /&gt;&lt;br /&gt;I love Qrimp so much I almost about to cry right now! It's so powerful I can barely contain myself.</description><category>Qrimp</category><pubDate>Mon, 06 Jul 2009 11:59:00 G7T -05</pubDate><guid>http://www.qrimp.com/blog/blog.Custom-Website-Analytics-Built-with-Qrimp.html</guid></item><item><title>Digging into the Customer Extranet</title><link>http://www.qrimp.com/blog/blog.Digging-into-the-Customer-Extranet.html</link><description>After drawing out details of the customer extranet on the white board, it gets easier to visualize the system.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;So I drew out some of the items from the &lt;a href=&quot;blog.Situational-Application-Brainstorm.html&quot;&gt;Situational Application Brainstorm&lt;/a&gt; for the Customer Extranet.  Here's the white board drawing for it.  Click for the high res version: &lt;a href=&quot;http://www.qrimp.com/attachments/57791fe8-20d2-45a7-9df7-80cf19e82d19/client_extranet.jpg&quot;&gt;&lt;img src=&quot;http://www.qrimp.com/attachments/57791fe8-20d2-45a7-9df7-80cf19e82d19/client_extranet.jpg.500.jpg&quot; class=border /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;What I've done is list some of the &lt;strong&gt;things&lt;/strong&gt; from the &lt;a href=&quot;blog.Situational-Application-Brainstorm.html&quot;&gt;brainstorm&lt;/a&gt; in blue above the &lt;strong&gt;properties&lt;/strong&gt; for those items.  The red arrows are drawn toward properties that are actually &lt;i&gt;other things&lt;/i&gt;.  For example, when creating a new &lt;strong&gt;Project&lt;/strong&gt;, that project will be &lt;i&gt;assigned&lt;/i&gt; to, or &lt;i&gt;created under&lt;/i&gt;, a particular &lt;strong&gt;Customer&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;To get started creating the Customer Extranet, I go to the Create Tables menu in my fresh Qrimp app:&lt;br /&gt;&lt;img src=&quot;http://www.qrimp.com/blog/extranet_create_tables.png&quot; class=border /&gt;&lt;br /&gt;&lt;br /&gt;I'm going to start creating my tables in order of hierarchy.  What I mean by that is that I want to create tables that have no pick lists first.  For example, the customer table doesn't depend on any other tables, but projects does, so in order to add a &lt;strong&gt;pick from customers&lt;/strong&gt; from the projects table to the customers table, the customers table needs to exist.  If I create the Projects table first, then I'll need to add the pick from to the customers table after the fact, which will be an additional step.  It's okay if you create some out of order, but I like to do it this way.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Customer Table&lt;/h3&gt;&lt;br /&gt;&lt;img src=&quot;http://www.qrimp.com/blog/extranet_customer_table.png&quot; class=border /&gt;&lt;br /&gt;&lt;br /&gt;In the image above, you can see how I've selected to create my customer table.  I've added a contact email and phone number, where in the white board diagram above, I only had one property for contact.&lt;br /&gt;&lt;br /&gt;When I click the create table button I'm taken straight to the Add Customer form and can begin populating customers into my database.  I'm not ready to do this yet, so I'll continue creating the other tables needed for my customer extranet.&lt;br /&gt;&lt;img src=&quot;http://www.qrimp.com/blog/extranet_customer_added.png&quot; class=border /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Project Table&lt;/h3&gt;&lt;br /&gt;&lt;img src=&quot;http://www.qrimp.com/blog/extranet_project_table.png&quot; class=border /&gt;&lt;br /&gt;Here in the project table, I've decided to add a description field that will represent the requirements. We should focus on keeping the application simple and because most people understand what a description is, more than a brainstorm, I'll use the name description.&lt;br /&gt;&lt;br /&gt;When I create the table, Qrimp adds this form to my app automatically, just like for the customers table.&lt;br /&gt;&lt;img src=&quot;http://www.qrimp.com/blog/extranet_add_project_form.png&quot; class=border /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Iterations Table&lt;/h3&gt;&lt;br /&gt;As I've begun building this system out, I've realized that Iterations should have a project field.  You won't see it on the white board drawing, but I'll add it here when I create the Iterations table.  &lt;br /&gt;&lt;img src=&quot;http://www.qrimp.com/blog/extranet_iterations_table.png&quot; class=border /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Tasks Table&lt;/h3&gt;&lt;br /&gt;I've also thought more about the concepts of Problems, Work Items, Bugs, Issues, and realized all of these are really &lt;strong&gt;Tasks&lt;/strong&gt;.  All of these things are talking about work that needs to be done.  If there is a bug, the bug needs to be fixed.  Problems need to be resolved, issues, need to be clarified or resolved as well.  All of these things are related to an Iteration, so I will create my Tasks table with a pickfrom iterations.  This will make it easy to create new tasks and assign them to iterations in the past or future and figure out what to do with them as they are created.&lt;br /&gt;&lt;br /&gt;I've combined many of the properties of WorkItems and Problems into this table and given it a TaskType field.  This field is a single line text field, I'm not sure how many different types of tasks there may be in the future, but I can easily convert this field to a pick from once I've entered some Tasks.&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://www.qrimp.com/blog/extranet_tasks_table.png&quot; class=border /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Invoices Table&lt;/h3&gt;&lt;br /&gt;&lt;img src=&quot;http://www.qrimp.com/blog/extranet_invoices_table.png&quot; class=border /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Payments Table&lt;/h3&gt;&lt;br /&gt;&lt;img src=&quot;http://www.qrimp.com/blog/extranet_payments_table.png&quot; class=border /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Line Item Table&lt;/h3&gt;&lt;br /&gt;&lt;img src=&quot;http://www.qrimp.com/blog/extranet_lineitem_table.png&quot; class=border /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Next Steps&lt;/h3&gt;&lt;br /&gt;That's all for this installment of the series.  Now that our application is created, we can start adding information to each of the tables.  There are still some steps to modify security.&lt;br /&gt;&lt;br /&gt;In further installments, I'll configure security so that we can create new customers for our Extranet and allow them to log in and see their projects and invoices.  We'll also want to allow them to add issues to the project so we can keep track of any new items.  We can add those ourselves as well.  We'll probably also want to be able to quickly add a line item to our invoices directly from a task so that the customers can see how much things cost and why they are being billed.  &lt;br /&gt;&lt;br /&gt;The important part of information mangement is actually creating the system to input the data and keep track of it.  Qrimp makes it easy to do this and also modify the application moving forward.  It's very agile.  We can continue enhancing and modifying the application to do virtually anything a web app can do using standard web technologies all from the browser.  &lt;br /&gt;&lt;br /&gt;As I use the customer extranet with our existing customers, I'll find things I want to add and ways to make the app easier to use.  I'll use this example to show you some tips and tricks in the future.</description><category>Qrimp</category><pubDate>Thu, 25 Jun 2009 16:33:00 G6T -05</pubDate><guid>http://www.qrimp.com/blog/blog.Digging-into-the-Customer-Extranet.html</guid></item><item><title>How Venture Capital will change - and Soon</title><link>http://www.qrimp.com/blog/blog.How-Venture-Capital-will-change---and-Soon.html</link><description>The old world model of venture capital will change fast.  It doesn't take millions to implement ideas anymore. The super talented iterate quickly, so must VC.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;When I started building startups in college back before the year 2000, building websites was a different ball game.  It took millions of dollars in funding to acquire hardware, bandwidth, programmers, designers, graphics talent, marketing, software, and office space. Once you got all that, you had to keep the lights on and your people fed, almost 24 hours a day. As a consultant to these startups, I saw the pattern repeat over and over.  &lt;br /&gt;&lt;br /&gt;I remember one startup in particular called FirstLook. What a great group of people and talent there. It was an &lt;a href=&quot;http://www.idealab.com/&quot;&gt;Idealab&lt;/a&gt; startup way ahead of its time.  Firstlook, the domain still exists, but what is there now is not at all what this great company was doing then.  Video streaming, previews, social networking, user generated content. If there had been money to keep the site running, I wonder where it would be now.  Not long after I left Firstlook for another project, a scathing article was written about Bill Gross, the man behind Idealab, asking &lt;a href=&quot;http://money.cnn.com/magazines/fortune/fortune_archive/2001/03/05/297860/index.htm&quot;&gt;Why is he still smiling after burning through $800 Million in 8 months&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;That's just not the way it happens anymore.  Imagine what you could do today with $800 Million.  Today, you could get 1,000 startups for that much money.  Maybe 2,000.  Maybe more.&lt;br /&gt;&lt;br /&gt;Really, what is a startup? It's a couple of programmers, some cloud computing, marketing, and then some people to keep out the riff raff.&lt;br /&gt;&lt;br /&gt;In 2001, starting an internet company cost a lot more money that it does today.  It took dedicated staff for infrastructure, databases, and performance optimization.  Today, you can get all that built into the platform on which you develop. Scaling is as automatic. Lots of lessons have been learned and incorporated into the infrastructure.  Things that were very difficult then, we don't even think about today.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;How will venture capital change?&lt;/h3&gt;&lt;br /&gt;The first way is that VC investors who want to plop down $5 Million or $15 Million on a venture are going to be struggling really hard to find someone who needs that much money to launch their business.  It just doesn't take that much money.  The money will either move away from software and into more infrastructure heavy ventures like wind farms, mass transportation, and the like...&lt;br /&gt;&lt;br /&gt;Or even better, venture capital will stop investing in &quot;ideas&quot;.  They'll start investing in teams of people who have lots of ideas and the ability to implement those ideas very quickly. The problem with many VC firms is that they simply do not have the software to handle that kind of scale.  The irony is that they are spending all their investors' money on software startups without even recognizing that they need software themselves to manage the investments.  That's why we get multiple cold calls from the same VC firms &quot;research analysts&quot; to introduce themselves after we've already met.&lt;br /&gt;&lt;br /&gt;For the most part, a great idea doesn't need 15 people dedicated to it to see it succeed.  Thousands of ideas with 15 people dedicated to them fail every year and the risk/reward ratio is dropping like a rock.  But that's the way it had to be.  VC would pour tens of millions into ideas that were continually losing steam.  They'd think, &quot;With more marketing, it'll work.  If we change the business model, it'll work.&quot;  VC has become a numbers game. The skill is in diversification, not &lt;i&gt;expertise&lt;/i&gt;. Much of it is a confidence game -- skilled manipulators win out, more on that later.&lt;br /&gt;&lt;br /&gt;In the past, Venture capital relied on ideas bubbling up from the entrepreneurs, but this is the wrong approach.  The Venture Capitalists are the ones with their eyes on the market.  What venture capitalists need are small teams of 5 to 10 people who can take an idea, implement it, push it out to the world, and see what happens. If it doesn't take off, move on to the next idea -- with the same team -- immediately.  If Idealab had put Firstlook on the back burner until its time had come, perhaps they could have recouped their investment. VC needs to invest in ideas -- superorganisms -- that can sustain themselves without a lot of overhead.  &lt;br /&gt;&lt;br /&gt;The time horizons and the monetary scale of the status quo Venture Capital firm just doesn't work anymore and the Investors are realizing it.&lt;br /&gt;&lt;br /&gt;I see the changes happening fairly quickly.  Big ideas aren't so big anymore.  Most of the internet today, the new things coming out, these are just features.  Video upload sites used to be entire companies. Now it's a feature of a social network.  In fact, social networking is a feature of almost any content site, be it a blog or an online newspaper.  Mark Cuban posted &lt;a href=&quot;http://blogmaverick.com/2009/02/09/the-mark-cuban-stimulus-plan-open-source-funding/&quot;&gt;Open Source Funding&lt;/a&gt; to his blog and got 300 comments a day for days and days.  It was a great idea, but it died, partly because a blog isn't the right place.  Within a week, we built a &lt;a href=&quot;http://opensourcefunding.qrimp.com&quot;&gt;website&lt;/a&gt; to manage those open source ideas.  It actually only took a couple of days and the website never took off, but who cares?  It cost nothing but a handful of our hours.  Someone in those comments proposed such a website for $25,000 -- &lt;i&gt;still too much money!&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;In our status quo world, VC waits for the entrepreneur to bring the idea, but venture capitalists are the ones with the ideas.  They know what's out there.  They use the internet just like we do.  &lt;br /&gt;&lt;br /&gt;As I mentioned before, we have gotten cold calls and emails from different research analysts at the same venture capital firms because they didn't have a shared database of start ups they've already contacted.  There are too many startups to keep track of even the ones you already know about.  What about all the ones you've never heard of?  &lt;br /&gt;&lt;br /&gt;In a day or two, we could adapt the &lt;a href=&quot;http://opensourcefunding.qrimp.com&quot;&gt;Open Source Funding&lt;/a&gt; to solve that problem and roll it out to every Venture Capital firm in the country.  They'd save time, make fewer phone calls, and look a little less unprofessional in the eyes of the startups they may want to fund later.  Why would a startup work with a venture capital firm who doesn't even remember having contacted them already just a couple months prior?&lt;br /&gt;&lt;br /&gt;These kinds of small problems can be resolved quickly and easily today. The real entrepreneurs aren't interested in &lt;i&gt;an idea&lt;/i&gt; they are interested in thousands of ideas.   Real entrepreneurs don't get married to an idea, they try something, see if it works, and if it doesn't, they move on to the next thing.&lt;br /&gt;&lt;br /&gt;Unfortunately, this is not how VC works.  VC works by taking a big idea, funding it with millions, then hoping it explodes.  Stop doing that.  It's not the way the world works anymore.  The risk is too high.&lt;br /&gt;&lt;br /&gt;Take the case of &lt;a href=&quot;http://twitvid.io/&quot;&gt;http://twitvid.io/&lt;/a&gt; and &lt;a href=&quot;http://twitvid.com&quot;&gt;http://twitvid.com&lt;/a&gt;. In the year 2000, it could have taken millions, perhaps tens of millions to get either one of those sites off the ground.  Today however, a small group of three, or even just part of a group of an existing company, like &lt;a href=&quot;http://www.eatlime.com/&quot;&gt;EatLime&lt;/a&gt;, the makers of Twitvid.com, can take their existing video upload and distribution platform and adapt it to almost any purpose in just a matter of days.&lt;br /&gt;&lt;br /&gt;There was a &lt;a href=&quot;http://news.ycombinator.com/item?id=638526&quot;&gt;huge fuss at YCombinator about the twitvid squared issue&lt;/a&gt;.  &lt;a href=&quot;http://www.paulgraham.com/&quot;&gt;Paul Graham&lt;/a&gt;, the founder of &lt;a href=&quot;http://ycombinator.com/&quot;&gt;YCombinator&lt;/a&gt;, who funded &lt;a href=&quot;http://www.thestandard.com/news/2009/05/23/twitvid-io-strikes-back-lets-you-tweet-directly-webcam&quot;&gt;twitvid.io with $20,000&lt;/a&gt; the team behind twitvid.io started the conversation. &lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Forget Barriers to Entry -- there are none.&lt;/h3&gt;&lt;br /&gt;They don't exist.  I could rip off your website in two days. The people with the power now are the domain squatters.  The winner of the twitvid competition will probably be twitvid.com simply because it has .com at the end.  I suppose $20,000 doesn't buy a squatted domain &lt;i&gt;and&lt;/i&gt; pay for development.  That's a whole blog post to itself, but the point remains: technology is not the hurdle anymore.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Not believing it doesn't make it not true&lt;/h3&gt;&lt;br /&gt;In &lt;a href=&quot;http://www.amazon.com/Confronting-Reality-Doing-Matters-Things/dp/1400050847&quot;&gt;Confronting Reality: Doing What Matters to Get Things Right&lt;/a&gt; Bossidy and Charan talk about how factories are moving to China. It doesn't cut it to consolidate North American and European production centers anymore.  Shaving 20% off your costs means a startup in India is going to eat you for lunch.&lt;br /&gt;&lt;br /&gt;Venture Capital is going to have to confront a little reality of its own.  Over at &lt;a href=&quot;http://thefunded.com&quot;&gt;TheFunded.com&lt;/a&gt;, there are currently &lt;a href=&quot;http://thefunded.com/funds/banned&quot;&gt;326 Venture Capital firms&lt;/a&gt; with &quot;no new investments.&quot;  Of course I don't know if that simply means they haven't entered a new investment or that firm is out of business or what, but that is a hefty number.  It's almost shocking that 326 Venture Capital firms exist &lt;i&gt;at all&lt;/i&gt;!&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;What are you waiting on?&lt;/h3&gt;&lt;br /&gt;If you are a venture capitalist and you are reading this, please tell me what you are waiting for.  Seriously, what are you going to do with all that cash?  Just burn it on some snazzy business guy with a great pitch deck, but no ability to execute?  I'm a software guy and people come to me all the time with idea after idea for a feature.  They want millions in funding for a feature of an existing website.  Don't laugh.  I see features get funded all the time and I can't help but think it's why &lt;a href=&quot;http://www.marketwire.com/press-release/National-Venture-Capital-Association-845945.html&quot;&gt;VC firms have been bleeding like stuck pigs since Q1 2008&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Humans Prefer Cockiness to Expertise&lt;/h3&gt;&lt;br /&gt;I don't mean to pour salt into your wounds.  I read recently that &lt;a href=&quot;http://www.newscientist.com/article/mg20227115.500-humans-prefer-cockiness-to-expertise.html?DCMP=OTC-rss&amp;nsref=online-news&quot;&gt;Humans Prefer Cockiness to Expertise&lt;/a&gt;, but you gotta stop making decisions like that.  I'm from Oklahoma, which is about as far away as you can get from Venture Capital that isn't drilling holes in the ground.  They don't understand technology.  I went to a couple pitches for companies backed by a state run investment company and I felt so terrible inside because I knew the state was &lt;strong&gt;wasting money&lt;/strong&gt; on ideas that would go &lt;i&gt;nowhere&lt;/i&gt;.  I can't remember all of them, but one of them in particular is already a parked domain.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Failure is normal&lt;/h3&gt;&lt;br /&gt;Don't get me wrong. I understand that startups are going to fail. It is &lt;i&gt;exactly&lt;/i&gt; this understanding that prompts me to write this post.  Build failure into your business model.  Instead of funding an idea, fund idea &lt;i&gt;generators&lt;/i&gt;.  Don't get married to ideas. &lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Scalable Venture Capital&lt;/h3&gt;&lt;br /&gt;It's an issue of scalability.  How does a venture capital firm manage 100 or 1,000 or 10,000 ideas being generated simultaneously.  There are over 8,000 stocks publicly traded on NYSE, Nasdaq, and the Amex.  I traded stocks for 2 years, built an elaborate system and examined as many as I could.  In 2 years, I only looked at about 1,500 different companies. Most of those were just once or twice. Of those, I invested in perhaps tens.  How many of the 6,500 companies I didn't look at doubled or tripled while I didn't even know they exist?&lt;br /&gt;&lt;br /&gt;In the stock market world, scalability is implemented through mutual and index funds.  The large mutual funds have holdings in literally, hundreds, even &lt;i&gt;thousands&lt;/i&gt; of different public companies. Millions of people give these huge funds thousands to hundreds of thousands of dollars and they buy shares, pretty much across the board.  They throw a bunch of money at the wall and see what sticks.&lt;br /&gt;&lt;br /&gt;The stock market works, because mutual funds can throw 8,000 companies at the wall.  Venture capital fails because they can only throw 10 or maybe several tens of companies at the wall.  Unfortunately for the investors, &lt;i&gt;everything thrown&lt;/i&gt; falls off the wall.  So what happens is investors have to throw money at several venture capital firms. The scale just doesn't work.  The management fees at Venture Capital firms are tremendous.  &lt;br /&gt;&lt;br /&gt;Venture capital has relied for too many years on too little diversification.  There are 8,000 public companies, but there are hundreds of thousands of startups.  Even 1,000 VC firms can't watch them all. There's no way.  Probably the vast majority of the ones they do see are garbage.  Most of the ones I see are garbage and they aren't flocking to me like they're flocking to the VC's with a lot of money.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Streamlining the investment process&lt;/h3&gt;&lt;br /&gt;The current process of investing in a startup is long and arduous.  Startups have to pitch tens or more Venture Capital firms to have even a hope of a deal.  If the VC likes the idea and the team, it takes &lt;a href=&quot;http://venturehacks.com/articles/term-sheet-hacks&quot;&gt;term sheets&lt;/a&gt;, attorneys, board seat decisions.  It's a nightmare.  What startup wants to go through that?&lt;br /&gt;&lt;br /&gt;For too long, Venture Capital has been in the driving seat because they have the money.  But today, snazzy startups are going to YCombinator for $25,000, launching in a few months, and destroying incumbents in their market funded by VC firms with millions of dollars.  That rocky ride is never going to end for venture capital.&lt;br /&gt;&lt;br /&gt;If a VC is going to survive, it absoluately &lt;i&gt;must&lt;/i&gt; streamline its processes, reduce time-to-investment, and invest in more companies.  The era of the BIG idea is over.  Even gene sequencing, which was impossible 10 years ago, can be had for &lt;a href=&quot;http://scienceblogs.com/geneticfuture/2009/06/illumina_launches_personal_gen.php&quot;&gt;$48,000 today&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Even if you do find the next big idea, you don't have time to make a profit on it. The current pyramid strategy of selling your company to some other company you funded 10 years ago, like Google or whatever, just isn't going to work.  Even &lt;a href=&quot;http://www.reuters.com/article/smallBusinessNews/idUSTRE52U2O320090331?feedType=RSS&amp;feedName=smallBusinessNews&quot;&gt;Google has it's own Venture Fund&lt;/a&gt;.  I think Google is probably smart enough not to buy a technology company funded with tens of millions of venture capital when they could reinvent the wheel with a couple engineers.&lt;br /&gt;&lt;br /&gt;</description><category>Start-up</category><pubDate>Sat, 13 Jun 2009 07:45:00 G6T -05</pubDate><guid>http://www.qrimp.com/blog/blog.How-Venture-Capital-will-change---and-Soon.html</guid></item><item><title>Creating Free Will</title><link>http://www.qrimp.com/blog/blog.Creating-Free-Will.html</link><description>Once I discovered that we do have free will, my quest became discovering how to create more free will.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;In the top 10 of my all time favorite movies is &lt;a href=&quot;http://www.imdb.com/title/tt0243017/&quot;&gt;Richard Linklater's Waking Life&lt;/a&gt;.  It is a series of philosophical conversations and one of them is about whether or not we have Free Will. It's a complicated question -- religiously, philosophically, and mathematically.  &lt;br /&gt;&lt;a href='#' onclick='return showHideElement(&quot;freewillclip&quot;);showHideElement(&quot;showvideo&quot;);showHideElement(&quot;hidevideo&quot;);' id='showvideo'&gt;&lt;img src=&quot;/icons/crystal_project/16x16/apps/aktion.png&quot; align=middle /&gt; show video&lt;/a&gt;&lt;a href='javascript:showHideElement(&quot;freewillclip&quot;);showHideElement(&quot;hidevideo&quot;);showHideElement(&quot;showvideo&quot;);' id='hidevideo' style='display:none;'&gt;&lt;img src=&quot;/icons/crystal_project/16x16/apps/aktion.png&quot; align=middle /&gt; hide video&lt;/a&gt;&lt;div id=freewillclip style='display:none;'&gt;&lt;br /&gt;&lt;object width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/_VxQuPBX1_U&amp;hl=en&amp;fs=1&amp;&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/_VxQuPBX1_U&amp;hl=en&amp;fs=1&amp;&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;As I thought more about Free Will and observed the world around me, I noticed that some people appear to have more free will than others.  I noticed in my own life, and in the lives of my loved ones, the amount of free will we have &lt;i&gt;within&lt;/i&gt; our life changes over time as well.  I drew some charts on the white board for this post, click the image for high res:&lt;a href=&quot;http://www.qrimp.com/attachments/904a0fbe-b192-4b07-87d8-127d1c9e58e4/creating_free_will.jpg&quot;&gt;&lt;img src=&quot;http://www.qrimp.com/attachments/904a0fbe-b192-4b07-87d8-127d1c9e58e4/creating_free_will.jpg.500.jpg&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Free Will Changes, therefore Free Will Exists&lt;/h3&gt;&lt;br /&gt;As you can see in the illustration above, the amount of free will we have in our lives changes over time.  When we are babies, we have almost &lt;i&gt;no&lt;/i&gt; free will.  We are completely dependent on others to care for us.  As we age, we learn more about the world, get stronger and we gain free will.  We gain the ability to choose and act on those choices.  As we get even older, our bodies decline in strength, we get frail, perhaps our mind begins to go, and once again, we become dependent on others to care for us -- our free will declines.  In later life, we may still be able to make choices, but our ability to act on that choice dimishes, so the question of free will becomes &lt;a href=&quot;http://www.merriam-webster.com/dictionary/moot[3]&quot;&gt;moot&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;So if we accept the idea that free will changes throughout life, then the question changes from one of whether or not free will exists, to &lt;strong&gt;how much free will do we have&lt;/strong&gt;?  What are some of the limits on our free will?  Do we want free will?  How can we create &lt;i&gt;more&lt;/i&gt; free will?  Before we can answer those questions, we have to figure out what free will is...&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;What &lt;i&gt;is&lt;/i&gt; free will?&lt;/h3&gt;&lt;br /&gt;Merriam-Webster defines &lt;a href=&quot;http://www.merriam-webster.com/dictionary/free will&quot;&gt;free will&lt;/a&gt; as:&lt;br /&gt;&lt;blockquote&gt;1 : voluntary choice or decision &lt;i&gt;I do this of my own free will&lt;/i&gt; &lt;br /&gt;2 : freedom of humans to make choices that are not determined by prior causes or by divine intervention&lt;/blockquote&gt;&lt;br /&gt;It is important to note that &lt;strong&gt;having a lot of choices&lt;/strong&gt; is not the same thing as &lt;i&gt;having a lot of free will&lt;/i&gt;.  Free will is &lt;strong&gt;&lt;i&gt;choosing&lt;/i&gt;&lt;/strong&gt;.  Free will is making a decision and &lt;i&gt;acting&lt;/i&gt; on it.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Do we want more free will?&lt;/h3&gt;&lt;br /&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Barry_Schwartz&quot;&gt;Barry Schwartz&lt;/a&gt; wrote a book called &quot;&lt;a href=&quot;http://www.amazon.com/Paradox-Choice-Why-More-Less/dp/0060005696/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1244822402&amp;sr=8-1&quot;&gt;The Paradox of Choice&lt;/a&gt;&quot; where he talks about how choice is overrated -- choice paralyzes us.  He also gave a &lt;a href=&quot;http://www.ted.com/index.php/talks/barry_schwartz_on_the_paradox_of_choice.html&quot;&gt;TED talk&lt;/a&gt; and a longer &lt;a href=&quot;http://video.google.com/videoplay?docid=6127548813950043200&quot;&gt;Google Tech Talk&lt;/a&gt; about his book.  &lt;br /&gt;&lt;a href='javascript:showHideElement(&quot;tedclip&quot;);showHideElement(&quot;tedshowvideo&quot;);showHideElement(&quot;tedhidevideo&quot;);' id='tedshowvideo'&gt;&lt;img src=&quot;/icons/crystal_project/16x16/apps/aktion.png&quot; align=middle /&gt; show TED talk&lt;/a&gt;&lt;a href='javascript:showHideElement(&quot;tedclip&quot;);showHideElement(&quot;tedhidevideo&quot;);showHideElement(&quot;tedshowvideo&quot;);' id='tedhidevideo' style='display:none;'&gt;&lt;img src=&quot;/icons/crystal_project/16x16/apps/aktion.png&quot; align=middle /&gt; hide TED talk&lt;/a&gt;&lt;div id=tedclip style='display:none;'&gt;&lt;object width=&quot;334&quot; height=&quot;326&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://video.ted.com/assets/player/swf/EmbedPlayer.swf&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot; /&gt;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot;&gt;&lt;/param&gt;&lt;param name=&quot;bgColor&quot; value=&quot;#ffffff&quot;&gt;&lt;/param&gt; &lt;param name=&quot;flashvars&quot; value=&quot;vu=http://video.ted.com/talks/embed/BarrySchwartz_2005G-embed_high.flv&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/BarrySchwartz-2005G.embed_thumbnail.jpg&amp;vw=320&amp;vh=240&amp;ap=0&amp;ti=93&quot; /&gt;&lt;embed src=&quot;http://video.ted.com/assets/player/swf/EmbedPlayer.swf&quot; pluginspace=&quot;http://www.macromedia.com/go/getflashplayer&quot; type=&quot;application/x-shockwave-flash&quot; wmode=&quot;transparent&quot; bgColor=&quot;#ffffff&quot; width=&quot;334&quot; height=&quot;326&quot; allowFullScreen=&quot;true&quot; flashvars=&quot;vu=http://video.ted.com/talks/embed/BarrySchwartz_2005G-embed_high.flv&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/BarrySchwartz-2005G.embed_thumbnail.jpg&amp;vw=320&amp;vh=240&amp;ap=0&amp;ti=93&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;As an example to illustrate his point, I went to the store the other day, because I needed some dental floss.  There were so many choices that I couldn't decide which to buy.  I thought, &quot;There must be 30 different kinds of dental floss here!  Do we really need that many?&quot; I actually counted 38 different kinds of dental floss.  I felt a &lt;i&gt;need&lt;/i&gt; to limit my options. I didn't have time to read the packaging and marketing materials about each type of floss, so I said, &quot;I'm going to buy the cheapest one.&quot;  It turned out to be the store brand. Eighty cents.  Some were as much as three dollars for the same quantity.&lt;br /&gt;&lt;br /&gt;I had to &lt;i&gt;limit&lt;/i&gt; my choices to &lt;strong&gt;obtain&lt;/strong&gt; free will, that is, the &lt;i&gt;ability&lt;/i&gt; to choose.  Free will is the execution of the choices we make, not merely having a lot of options.  It does seem paradoxical, but &lt;strong&gt;limiting our options, creates free will&lt;/strong&gt;.  &lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Create free will by limiting options&lt;/h3&gt;&lt;br /&gt;So, method #1 for creating more free will is to pick a filter for our options. It doesn't really matter what that filter is, it just needs to help us weed out options so we can &lt;i&gt;actually choose&lt;/i&gt; and then act on it.  In the example of the dental floss, I told myself to pick the cheapest one. That filtered 38 options down to exactly &lt;i&gt;one&lt;/i&gt; option and I acted.  Free will requires action.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Social limits on free will&lt;/h3&gt;&lt;br /&gt;Filters exist all around us.  Society institutes these filters to protect us.  They protect others from harm we could cause them.  They protect us from harm others could cause us.  Educational institutions create many filters: high school, college, medical school.  There are various certification programs for law, engineering, driving trucks, and computer programming among others.  These social filters are designed to help us choose only qualified options for our products and services. &lt;br /&gt;&lt;br /&gt;These social filters also limit our personal free will.  We can't just &lt;i&gt;be a doctor&lt;/i&gt; for example.  We have to go to school, learn from other doctors and go through residency.  To get through these social limitations on our free will we need lots of the following: Experience, Education, Courage, Money, Influence, Enlightenment, and Perception.  &lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Create Free Will by climbing the social ladder&lt;/h3&gt;&lt;br /&gt;So method #2 to gaining more free will would be learning about social limits on our free will and working our way through them.  Climbing this social ladder is a huge investment in time and money.  Many students graduate college with massive amounts of student loan debt, so in a way, while we open some doors, we also close others.  College graduates often don't have the choice &lt;i&gt;not&lt;/i&gt; to work because they need to pay off their loans.  You'll have to decide for yourself where the proper balance is for you.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;How much free will do you want?&lt;/h3&gt;&lt;br /&gt;Gaining free will is a process.  Our minds appreciate working hard, gaining experience, learning how to use tools, and gaining free will over time.&lt;br /&gt;&lt;br /&gt;Think about how you play video games.  In lots of video games, players start out with limited options.  As the game is played and accomplishments are made, the game opens up new levels, magic spells, or weapons we can use through the rest of the game.  Just as we are born with limited free will, limited options in games keep the game interesting. They give us something to work for and we feel empowered.&lt;br /&gt;&lt;br /&gt;Life is like this too.  As you get older, doors will open for you. Often times, we make the mistake of wanting to retire early or move right into the big fancy house. This overzealousness can actually limit our free will later on. &lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Create Free will by saving time&lt;/h3&gt;&lt;br /&gt;You can also create free will by building tools, products, and knowledge for yourself and for others that will save you time in the long run.  When you save time, you create more opportunities to act. The less time you spend acting on decisions, the more time you have to act on other decisions.&lt;br /&gt;&lt;br /&gt;So think about your actions before you act.  Free will compounds on free will.  Every action that leads to multiple time savings later on will make your life more open later. &lt;br /&gt;&lt;br /&gt;Think of your actions as investments into your future.  Imagine, if you spend 15 minutes every day doing some particular thing, but it will take 45 minutes to automate that action, then by the fourth day, you have 15 extra minutes every day.  This 15 minutes could be spent learning a skill or improving your product.&lt;br /&gt;&lt;br /&gt;Keep making small incremental improvements like this and your free will will grow exponentially throughout your life.&lt;br /&gt;&lt;br /&gt;</description><category>Personal</category><pubDate>Thu, 11 Jun 2009 16:53:00 G6T -05</pubDate><guid>http://www.qrimp.com/blog/blog.Creating-Free-Will.html</guid></item><item><title>How to be Unstoppable</title><link>http://www.qrimp.com/blog/blog.How-to-be-Unstoppable.html</link><description>The dancing guy is an internet sensation, because he embodies our hidden passions. Here's how you can be unstoppable.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;If you haven't seen the &lt;a href=&quot;http://www.youtube.com/watch?v=GA8z7f7a2Pk&quot; title='view youtube video'&gt;&lt;img src=&quot;http://www.qrimp.com/icons/crystal_project/16x16/actions/camera.png&quot; align=middle /&gt; dancing guy&lt;/a&gt;, yet, watch it. You can also read &lt;a href=&quot;http://sivers.org/dance-lessons&quot;&gt;Derek Sivers analysis of the dancing guy&lt;/a&gt;. Seth Godin even took a &lt;a href=&quot;http://sethgodin.typepad.com/seths_blog/2009/06/guy-3.html&quot;&gt;stab at it.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you are really curious, &lt;a href=&quot;http://www.youtube.com/watch?v=nU7dxkIz1Vs&quot;&gt;&lt;img src=&quot;http://www.qrimp.com/icons/crystal_project/16x16/actions/camera.png&quot; align=middle /&gt; watch a longer version of the dancing guy&lt;/a&gt; and listen to the comments from the camera drivers.  His revolution was a long time in the making.  I think it may have had a lot to do with the song itself, which is &lt;a href=&quot;http://www.youtube.com/watch?v=8SIRpKa5ZMA&quot;&gt;&lt;img src=&quot;http://www.qrimp.com/icons/crystal_project/16x16/actions/camera.png&quot; align=middle /&gt; Santigold's Unstoppable&lt;/a&gt;.  I had never heard the song before, but I love it and have listened to it at least 30 times since seeing Derek Sivers's post a few days ago at Hacker News.&lt;br /&gt;&lt;br /&gt;It's a great and inspiring story, even just the unfolding of this sensation itself, but that's not my focus here.  Unstoppable doesn't mean you create a huge following, that's a consequence.  The Dancing Guy wasn't thinking, &quot;I want to get a huge dance party going.&quot;  He was thinking, &quot;I want to dance!&quot;  With that in mind, here's...&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;How to be unstoppable&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;That's what I want to talk about.  I brainstormed it on the white board this morning.  I figured if it's good for &lt;a href=&quot;http://www.qrimp.com/blog/blog.Designing-Situational-Applications.html&quot;&gt;designing situational applications&lt;/a&gt;, perhaps it's good for blogs as well.  Here's what I put up on the white board before I started this post, click for the high res version:&lt;br /&gt;&lt;a href=&quot;http://www.qrimp.com/attachments/269e87cf-de4b-4a60-82c9-31da51c40156/be_unstoppable.jpg&quot;&gt;&lt;img src=&quot;http://www.qrimp.com/attachments/269e87cf-de4b-4a60-82c9-31da51c40156/be_unstoppable.jpg.500.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;What's your problem&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;The first thing you have to figure out is what's &lt;strong&gt;your&lt;/strong&gt; problem.  What burdens you?  What slows you down? What costs you money?  In my earlier career as a consultant a year out of college, they taught us to &lt;strong&gt;identify the pain&lt;/strong&gt;.  Pain is debilitating.  &lt;a href=&quot;http://en.wikipedia.org/wiki/Analgesic&quot;&gt;Pain killers&lt;/a&gt; are valuable to medicine.  &lt;a href=&quot;http://www.boston.com/bostonglobe/ideas/articles/2009/06/07/the_day_pain_died_what_really_happened_during_the_most_famous_moment_in_boston_medicine/&quot;&gt;The day pain died&lt;/a&gt; was a very big day for medicine.&lt;br /&gt;&lt;br /&gt;Some questions you may want to ask to identify your pain are:&lt;br /&gt;&lt;br /&gt;&lt;ul style='font-size:1em'&gt;&lt;li&gt;What is expensive?&lt;li&gt;What is time consuming?&lt;li&gt;Are solutions cost prohibitive?&lt;li&gt;Can you implement a better solution? (I'll talk about what better means later on)&lt;li&gt;Would you be more powerful if you solve this problem?&lt;li&gt;Would you have greater freedom?&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;These are things you should ask yourself -- about your &lt;i&gt;own&lt;/i&gt; life. If you have this pain, someone else may have this pain as well. Eventually, you are going to want to build a product you can sell, or develop a skill to get a job. You want to be &lt;a href=&quot;http://blogmaverick.com/2009/06/09/success-motivation-2009/&quot;&gt;motivated to succeed&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;If you aren't making &lt;i&gt;your own life better&lt;/i&gt; then you will constantly be seeking approval from others. Forget approval from others, make your life better in a way that may also make other people's lives better.  Then, no matter what happens -- your life is better!  The constant pursuit of a better life will keep you going through the &lt;a href=&quot;http://www.inc.com/ss/can-paul-graham-mass-produce-start?slide=3&quot;&gt;trough of sorrow&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;At some point, the trough of sorrow is going to slow you down. It will make you want to give up.  Remember!  It has also made others want to give up.  Others have given up because they didn't get enough of whatever it is they were seeking &lt;i&gt;outside themselves&lt;/i&gt;.  You are looking for &lt;i&gt;your&lt;/i&gt; pain, because internal motivation is widely regarded as a huge indicator of success &lt;i&gt;in&lt;/i&gt; &lt;strong&gt;life&lt;/strong&gt;.  Stanford University has a deep analysis of &lt;a href=&quot;http://plato.stanford.edu/entries/reasons-internal-external/&quot;&gt;reasons for action&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Simply put, &lt;strong&gt;internal motivation is necessary if you want to be unstoppable&lt;/strong&gt;.  External motivation is fleeting. It's tenuous. It's acute. It goes away. It dies. Internal motivation never goes away as long as you live.  Internal motivation will help you &lt;a href=&quot;http://www.heractivelife.com/women/comment/internal-vs-external-motivation/&quot;&gt;live healthier&lt;/a&gt;, &lt;a href=&quot;http://www.ccfbest.org/management/motivationfrominside.htm&quot;&gt;build strong organizations&lt;/a&gt;, &lt;a href=&quot;http://www.hwarangdo.net/blog/personalgrowth/external-vs-internal-motivation/&quot;&gt;excel at martial arts&lt;/a&gt;, &lt;a href=&quot;http://www.hhpublishing.com/_onlinecourses/study_strategies/BSL/motivation/H3.html&quot;&gt;learn better&lt;/a&gt;. It isn't just anecdotal, there's &lt;a href=&quot;http://chiron.valdosta.edu/whuitt/COL/motivation/motivate.html&quot;&gt;actual research&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;So, find &lt;strong&gt;your pain&lt;/strong&gt;, or better yet, make a list and then come back and I'll help you filter them to find the &lt;i&gt;best&lt;/i&gt; pain to focus on.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Do others share your pain?&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;The best kind of pains to solve are the kinds of pains other people have.  One of the reasons television is so successful, is because lots and lots of people are really, really, &lt;strong&gt;bored&lt;/strong&gt;. Boredom is painful.  Bored people will do anything to end their boredom.  That's why entertainment companies are so big.  If you have a talent for entertaining, watch videos of yourself. Record your voice and listen to your songs. &lt;br /&gt;&lt;br /&gt;My personal pain was the amount of time it took to build information systems.  You know your pains better than I do.  Which of them are shared by many?&lt;br /&gt;&lt;br /&gt;Who shares your pain? Where are those people?  How are those people going to find you?  When you kill your pain, you're going to have to share your analgesic with others and enable them to find it.  This is often the hard part. You may have to market the product, buy advertisements.  You are definitely going to have to show it to people and interact with them.  Maybe you can build a website and SEO it and be done.  Maybe not.  The easier all this is, the more unstoppable you'll be.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Let go of social interference&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;This is really hard.  It plays a lot into the internal vs. external motivation.  There will be a lot of external motivators pushing you away from the solution to your pain. Maybe people don't understand your pain.  &lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;rightstandout&quot;&gt;&quot;First they ignore you, then they laugh at you, then they fight you, then you win.&quot;&lt;br /&gt;&lt;br /&gt;- Gandhi&lt;/div&gt;Most of the people watching the dancing guy were laughing at him.  They teased him.  Gandhi knew this happens to great successes ages ago. You have to realize this and not let them stop you.  If you don't drive a fancy car or you don't wear nice clothes, they'll think you don't fit in.  They won't understand.  Every penny you spend on those things is a penny you can't put toward being unstoppable.&lt;br /&gt;&lt;br /&gt;I moved to a new city many months ago to be closer to friends, business partners, and opportunities.  I didn't know how long I would be there, so I didn't bring a bed.  I actually haven't had a bed in several years. Beds cost money.  Beds are difficult to move.  But I do have a 9 foot conference table in my living room.  I'm typing on it now.  It's good for meetings, collaboration, poker games.  These are things I love. Beds stop me.  They slow me down.  I also have desk chairs and a white board. I &lt;a href=&quot;http://news.bbc.co.uk/2/hi/health/8090730.stm&quot;&gt;get a solid 8 hours of sleep&lt;/a&gt; on the floor.&lt;br /&gt;&lt;br /&gt;From the outside, not having these creature comforts makes people skeptical of your seriousness.  Behavior that deviates from the norm is &quot;weird&quot;. People don't understand it. Ignorance hurts. Maybe you can solve &lt;i&gt;that&lt;/i&gt; pain.  People understand the status quo, but the status quo is the enemy.  More on that later.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Do you have the skills to solve your problem?&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;This is important.  If you can't solve your pain, then either learn to live with the pain, or buy a solution.  It's best to learn to live with it -- the mind is very powerful.  If you can't live with it, then you're on the right track to finding a good problem to solve.  Learn to solve it.  Don't buy a solution, unless it's cheap, learn how to solve it.  How long will that take? &lt;br /&gt;&lt;br /&gt;Lots of companies have very large research and development budgets. Companies like Microsoft, Intel, Google, ... The United States military funds lots of research through DARPA.  &lt;br /&gt;&lt;br /&gt;Sometimes you might not know how to solve the problem.  Sometimes you can ask for help. Sometimes you can read books. Go to the library.  Research your problem. Figure out what people are doing now to solve it.  Find the problems with their solutions.  &lt;br /&gt;&lt;br /&gt;What you need to decide is, can you afford to eat, shelter, and clothe yourself long enough to find a valuable solution to the world? If you don't know how long it is going to take, keep your day job until you figure it out.  Learn skills at night. Live with your folks.  Live in another country!  You don't necessarily need to be around a lot of people while you are discovering your solution.  &lt;br /&gt;&lt;br /&gt;It's called, &quot;Going into the cave.&quot;  You may need to go into a cave to let go of social interference. How long can you be in there? What sort of provisions do you have?  What tools do you need to take with you?  If you do go into the cave, don't go crazy.  Some people go crazy. Social interaction is important, find people who know, love, and support your unstoppableness -- or maybe they already recognize it.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Forget the competition&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;Once you have found our pain and are beginning to solve your pain, nothing else matters.  Competition doesn't matter. Remember, you are solving a pain many people may not even know they have. It took you a lot of soul searching to find it.  Most people don't go that far.  You have to go deeper and you have to go farther than anyone else.  Let your competition advertise for you.  Competition is a distraction. Think of your competition like collaborators.&lt;br /&gt;&lt;br /&gt;Your competition will go out of business before you.  Think smart. Be tough. Keep going.  Run fast!  Tony Hsieh, who is &lt;i&gt;himself&lt;/i&gt; unstoppable, said in his &lt;a href=&quot;http://www.youtube.com/watch?v=63WFjoFiXns&quot;&gt;opening remarks at South-by-Southwest&lt;/a&gt; that by yourself, you can go really fast, but with a group you can go far.  In the beginning you will be small and nimble. Your competition is big and bulky.  They can't go as fast as you can.  They have customers they have to listen to.  They have employees they have to manage. They have advertising to create and distribute.  Your competition has a lot of pains you don't have yet.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;You don't even know who your competitors are.&lt;/strong&gt; If you focus on your competition, you forget about all the competition out there you've never heard of.  Those are the ones you need to really fear.  They're like you.  They're unstoppable.  Google is stoppable.  Microsoft is stoppable. &lt;i&gt;You&lt;/i&gt; are unstoppable.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Your new competitor is the &lt;i&gt;status quo&lt;/i&gt;.&lt;/strong&gt; You are trying to solve your pain.  The status quo &lt;i&gt;causes&lt;/i&gt; that pain.  When you change the status quo, you create a &lt;a href=&quot;http://en.wikipedia.org/wiki/Blue_Ocean_Strategy&quot;&gt;Blue Ocean&lt;/a&gt;.  Competitors big enough for you to know about could be swimming in lots of red oceans.  You want to destroy the status quo and create a new market for your solution.  You are solving a pain that &lt;i&gt;the world out there&lt;/i&gt; is trying to solve the hard way, because they don't know about &lt;i&gt;your&lt;/i&gt; solution.  &lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Fear nothing&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;You're venturing into uncharted waters. You do not know what is out there.  You may not know how to solve your problem.  You may not know a solution is even possible. Lots of people have told me, &quot;That's impossible.&quot;  Those words are a big motivator for me, but doing the impossible is scary.  Maybe you'll discover it really &lt;i&gt;is&lt;/i&gt; impossible.  Maybe you'll hurt yourself.  Maybe you'll runout of money.  Maybe no one else wants your solution.  Maybe you'll just waste a whole bunch of time, so &lt;i&gt;enjoy solving your pain&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div class='rightstandout'&gt;The only thing we have to fear is fear itself—nameless, unreasoning, unjustified terror which paralyzes needed efforts to convert retreat into advance.&lt;br /&gt; &lt;br /&gt;- FDR  &lt;a href=&quot;http://historymatters.gmu.edu/d/5057/&quot;&gt;&lt;img src=&quot;http://www.qrimp.com/icons/crystal_project/16x16/actions/kmix.png&quot; align=middle /&gt;listen&lt;/a&gt;&lt;/div&gt;There are fears to be had you don't even know exist.  &lt;a href=&quot;http://historymatters.gmu.edu/d/5057/&quot;&gt;&lt;img src=&quot;http://www.qrimp.com/icons/crystal_project/16x16/actions/kmix.png&quot; align=middle /&gt;Franklin D. Roosevelt's speech in 1932&lt;/a&gt; is especially poignant now. He was talking about the fear that was paralyzing the United States during the great depression.  The problems the nation faced in those days are the same fears the world is facing this very day:&lt;blockquote&gt;Values have shrunken to fantastic levels; taxes have risen; our ability to pay has fallen; government of all kinds is faced by serious curtailment of income; the means of exchange are frozen in the currents of trade; the withered leaves of industrial enterprise lie on every side; farmers find no markets for their produce; the savings of many years in thousands of families are gone.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Don't let that fear paralyze you.  Especially do not fear failure. Failure is your friend.  It helps you figure out how to improve and become better.  If you &lt;strong&gt;do not stop&lt;/strong&gt; when you fail, like your competitors will, then you will be left with the win.  Sometimes winning means surviving a &lt;a href=&quot;http://en.wikipedia.org/wiki/Attrition_warfare&quot;&gt;war of attrition&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;That means &lt;strong&gt;never give up&lt;/strong&gt;. Live on the street if you have to -- &lt;a href=&quot;http://www.sfgate.com/cgi-bin/article.cgi?f=/c/a/2008/07/31/BAPB1227KF.DTL&quot;&gt;be a park nomad&lt;/a&gt;! Lots of other people are going to give up.  Lots of other companies are going to give up.  Lots of our competitors have already given up and how much of the world doesn't even know we exist?  If you commit to never giving up, then you don't even need a &lt;i&gt;particular&lt;/i&gt; solution.  &lt;a href=&quot;http://www.jimcollins.com/&quot;&gt;Jim Collins&lt;/a&gt;, in his book, &lt;a href=&quot;http://en.wikipedia.org/wiki/Good_to_Great&quot;&gt;Good to Great&lt;/a&gt; &lt;a href=&quot;http://www.redherring.com/Home/pages/print/posts/?bid=ca0817f5-0e8f-4f32-a4e3-b1c1aa9918e9&amp;mode=Full&quot;&gt;says&lt;/a&gt;:&lt;blockquote&gt;In contrast, Motorola, HP, Sony and GM -- four of the world's best ticking clocks -- all had their first products fail in the marketplace. Sony's first product, for example, was a cooker, which failed. Minnesota Mining &amp; Manufacturing began life as a failed corundum mine, thus leaving 3Mers to ask, &quot;OK, that failed, what else can we do?&quot; Hewlett-Packard had a number of product failures, ranging from electronic bowling alley sensors to automatic urinal flusher, before it hit upon the audio oscilloscope. These failures taught humility and focused attention not on the products, but on developing the organizational ability to come up with excellent products, to take those products to market, to service customers, and so on.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Embrace failure. &lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Making a better solution&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;Okay, so you may not be able to find something there is no solution for, but remember, your competition is the status quo. You want to do it better.  What does that mean?  Better means: Faster, Cheaper, Higher Quality.  It's the &lt;a href=&quot;http://en.wikipedia.org/wiki/Trilemma&quot;&gt;trilemma&lt;/a&gt;.  Typically, you'll hear it like this, &lt;strong&gt;&quot;You can have it cheap, fast, or high quality.  &lt;i&gt;Pick two.&lt;/i&gt;&quot;&lt;/strong&gt;  I once thought it was just something computer people say about software, but it is all over the place.  Hollywood says it about their movies and television shows.  Doctors say it.&lt;br /&gt;&lt;br /&gt;So faster means you get your solution in less time. Cheaper means it costs less. Sometimes those two go hand-in-hand, because labor is expensive. Time is money, right?  But what about Quality?  How can you tell if something is higher quality?&lt;br /&gt;&lt;br /&gt;Here are some of the things I think about when I say something is higher quality: Flexibility, Adaptability, Integration, Longer Lasting, &lt;a href=&quot;http://en.wikipedia.org/wiki/Aesthetics&quot;&gt;Aestetics&lt;/a&gt;, Performance, Standards, Warm &amp; Fuzzy, Zero Margin.  When you are building your solution to your pain, think about those things.  &lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Flexibility&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;The &lt;a href=&quot;http://www.swissarmy.com&quot;&gt;Swiss Army Knife&lt;/a&gt; is unstoppable, because it is more flexible.  It has lots of blades, scissors, even a toothpick.  It's the only knife you need. The Swiss Army Knife will be around forever.  As a concept, it has lots of competitors.  Maybe Victornox won't be around forever, but the swiss army knife sure will.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Integration&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;You want your solution to mesh well with the current world.  Imagine if you make the most efficient lightbulb ever, but it doesn't fit in standard light bulb sockets.  Or your lamp won't plug into the wall.  People aren't going to buy it.  Now imagine if your lightbulb could fit in a lamp or a car or a flashlight!  Integration is important, because &quot;no man is an island.&quot; Things have to work together.  That's why Legos are so popular.  Every Lego set works with every other Lego set.  It's why there are API's and formats and XML.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Last Longer&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;You don't want to make cheap junk. Garbage is bad. It pollutes the world.  It has to be replaced all the time. If your product is more durable than the competition, there &lt;i&gt;will&lt;/i&gt; be a market for it.  There is also a market for disposable items as well, but that's just gross.  Look &lt;a href=&quot;http://en.wikipedia.org/wiki/Great_Pacific_Garbage_Patch&quot;&gt;what disposable plastic has done to the world&lt;/a&gt;.  Remember, unstoppable lasts forever -- by definition.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Aesthetics&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;You are probably going to want to build something people like to look at.  We aren't all rational beasts. Good design has merits.  Don't focus too much on what your product looks like right away.  It can always be redesigned, but be conscious of it. If your solution can be easily re-designed, that will go along way to unstoppable, because you can make it look lots of different ways.  Cars change their look all the time.  Websites change their look all the time.  Even remotes and televisions.  Bridges don't.  Buildings don't.  Think about that.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Performance&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;You want your solution to move faster.  You want it to solve more problems in a shorter amount of time.  Google learned early on that &lt;a href=&quot;http://www.conversionrater.com/2006/11/09/what-marissa-mayer-and-google-knows-its-speed/&quot;&gt;speed matters&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Standards&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;Build your product to meet the standards.  Standards are there for a reason. There are standard building codes.  When I was an intern one summer, I had the pleasure of a window office overlooking the construction of a brand new high rise condo building. They'd spend hours digging huge holes to be filled with cement.  Lots of cement trucks came in to fill those holes and every single time, a little man would come out of his prefab building, grab a sample of the concrete and test it to make sure it met the standards.    If he hadn't, the building might have crumbled.  Do you want to crumble or do you want to be unstoppable?&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Warm &amp; Fuzzy&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;Your customers want to feel good.  You want to feel good. Isn't that why you are solving your pain?  If you feel bad about the solution to your pain, then ... I mean, what's the point?  I will pay extra for a warm and fuzzy feeling.  People will search out eco-friendly products, fair trade coffee, and bamboo t-shirts because it feels good to buy them. When you make decisions for yourself, and for your product, and for your company, be good.  People love shopping at &lt;a href=&quot;http://www.zappos.com&quot;&gt;Zappos&lt;/a&gt; because it &lt;i&gt;feels&lt;/i&gt; good.  The shoes aren't cheaper.  They aren't higher quality -- they are the same shoe.  But people seek them out and buy them for the warm &amp; fuzzy.  You can't stop warm and fuzzy.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Zero Margin&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;This one is about low cost of production and distribution. Wal-Mart touts some of the lowest margins in the business. Software companies are so successful because it costs almost zero to replicate bits.  MP3's are destroying the record industry because MP3's have zero margin.  You may think of this as &quot;production cost.&quot;  The production costs of music go into the pockets of the big labels.  You don't like that do you?&lt;br /&gt;&lt;br /&gt;Think about it like your carbon footprint. You want to reduce your impact on bringing the solution to the problem as much as possible.  The less you waste, the better.  The less you consume, the better.  The more efficient you are the better.  It's about scalability. &lt;br /&gt;&lt;br /&gt;Of course margins are a percentage, so it could cost you millions of dollars to create and distribute your pain killer, but if you sell hundreds of billions of dollars worth of pain killers, then that's pretty good.  &lt;br /&gt;&lt;br /&gt;A lot of people, when they talk about &lt;a href=&quot;http://en.wikipedia.org/wiki/Profit_margin&quot;&gt;Profit Margin&lt;/a&gt; they think &quot;high profit margins are great!  That's an awesome business!&quot;  Microsoft has high profit margins.  Software in general has high profit margins &lt;i&gt;after&lt;/i&gt; it's created.  The problem with high margins is that customers start to feel &lt;a href=&quot;http://www.merriam-webster.com/dictionary/gouged&quot;&gt;gouged&lt;/a&gt;.  They think things like, &quot;Why am I paying $20 for this CD, when I can get it free on the internet!&quot;&lt;br /&gt;&lt;br /&gt;My grandmother loves to tell a story of an insurance salesman in her town decades ago.  He drove a beat up old car.  He sold lots of insurance and saved up lots of cash and went out and bought a brand new shiny car.  After that, he didn't sell any insurance anymore, so he ditched the shiny car and went back to the beater.  &lt;br /&gt;&lt;br /&gt;Really, don't worry &lt;i&gt;so much&lt;/i&gt; about the money. If you solve a lot of problems you'll make a lot of money.  In such a situation, you have to use your money for good things, like &lt;a href=&quot;http://www.amazon.com/Philanthrocapitalism-How-Rich-Save-World/dp/1596913746&quot;&gt;Philantropists do&lt;/a&gt;.  &lt;br /&gt;&lt;br /&gt;Who wants to stop Philantropy?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description><category>Start-up</category><pubDate>Wed, 10 Jun 2009 10:21:00 G6T -05</pubDate><guid>http://www.qrimp.com/blog/blog.How-to-be-Unstoppable.html</guid></item><item><title>Designing Situational Applications - Data Modeling</title><link>http://www.qrimp.com/blog/blog.Designing-Situational-Applications---Data-Modeling.html</link><description>This post in the Designing Situational Applications will help you understand an importan concept in building any kind of application: Data Modeling&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;This post is part three of a series.  You may want to begin with: &lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.qrimp.com/blog/blog.Designing-Situational-Applications.html&quot;&gt;Part 1: Designing Situational Applications&lt;/a&gt; &lt;li&gt;&lt;a href=&quot;http://www.qrimp.com/blog/blog.Situational-Application-Brainstorm.html&quot;&gt;Part 2: Situational Application Brainstorm&lt;/a&gt; &lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Here I want to pause with our Customer Extranet and build some background.  This is the kind of thing computer engineers learn on the job.  Some university programs have courses on it.   If you don't know what data modeling is, your brain is about to explode.   You might want to read this article about &lt;a href=&quot;http://metamodern.com/2009/05/27/how-to-learn-about-everything/&quot;&gt;How To Learn About Everything&lt;/a&gt;.  It's normal to be confused at first.  &lt;br /&gt;&lt;br /&gt;Now, ask yourself, do you want to take the red pill, or the blue pill?  If you continue, you will learn how to think like &lt;a href=&quot;http://www.youtube.com/watch?v=8TDSLaDZHLo&quot;&gt;the guy in the white suit at the end of Matrix Revolutions&lt;/a&gt;.  &lt;br /&gt;&lt;br /&gt;Ready?&lt;br /&gt;&lt;br /&gt;Let's go...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Data modelling videos&lt;/h3&gt;&lt;br /&gt;Let's start with some videos.  Youtube EDU has some lectures by professional educators.  You may want to watch these at home or on the weekend... a few times.&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=WSNqcYqByFk&quot;&gt;Lecture - 11 Data Modelling - ER Diagrams, Mapping&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=w23fiSVWyM8&quot;&gt;Data Modeling and Conceptual Sketching in the Design Process&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=fJaPlsVIzio&quot;&gt;Lecture - 12 Data Modelling - ER Diagrams, Mapping&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;If what you are hearing is &quot;over your head,&quot; don't get discouraged, thousands of people do this kind of abstraction every day around the world and there's nothing about those people that you don't have.  You will need patience and courage to get through it, just like developing any skill.  It's worth it, it's a skill you'll have forever.  It &lt;em&gt;will&lt;/em&gt; change your life.  &lt;br /&gt;&lt;br /&gt;There is a reason &lt;a href=&quot;http://demo.qrimp.com/db.aspx?t=TechJobs&amp;vid=1&amp;searchterm=Database+Architect&quot;&gt;database architects earn $97,000 a year&lt;/a&gt;.  Do you want to pay that database architect $97,000 a year or do you want to learn how to do what that Database Architect can do?  It takes practice and energy, but you can do it.  I never took a database modelling course at university, I learned it all on the job. I made a lot of mistakes, but now I could model your entire life with Qrimp.  It &lt;em&gt;is&lt;/em&gt; possible.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Data modelling reading and community&lt;/h3&gt;&lt;br /&gt;I'll start with the &lt;a href=&quot;http://en.wikipedia.org/wiki/Data_model&quot;&gt;Wikipedia Article about Data Modeling&lt;/a&gt;.  There is a lot of information there and it is edited by professionals. Don't get discouraged if you don't understand it.&lt;br /&gt;&lt;br /&gt;If you'd like to read more about data modeling, see some examples, and join a community, the best resource I have found is run by a very, very nice gentleman from the UK named &lt;strong&gt;Barry Williams&lt;/strong&gt;.  Barry started out with his own website called &lt;a href='http://databaseanswers.org'&gt;Database Answers&lt;/a&gt;.  He has a &lt;a href=&quot;http://databaseanswers.org/data_models/index.htm&quot;&gt;huge library of example data models&lt;/a&gt; and he runs a &lt;a href=&quot;http://databaseanswers.ning.com&quot;&gt;The Database Answers Social Network at Ning&lt;/a&gt;.  Be conscious of his time.  Lots of college kids go in there and ask him to do their homework.  Use the forums to ask for comments on &lt;i&gt;your&lt;/i&gt; data model, don't ask them to &lt;i&gt;do&lt;/i&gt; your data model. He may already have a data model you want in his &lt;a href=&quot;http://databaseanswers.org/data_models/index.htm&quot;&gt;library of data models&lt;/a&gt; (there are hundreds in there).  Some of those data models alone could cost you thousands of dollars if you paid a database architect to build one for you.  Amazing isn't it?&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Data modelling is &lt;em&gt;hard&lt;/em&gt;&lt;/h3&gt;&lt;br /&gt;One of the most difficult parts of building information systems, whether they are &lt;strong&gt;situational applications&lt;/strong&gt; or regular applications is determining how to represent your real world scenario with a description the computer can understand. The concepts we have in our minds are complex and convoluted, but the computer doesn't understand when you describe something with all sorts of words like we did in our &lt;a href=&quot;http://www.qrimp.com/blog/blog.Situational-Application-Brainstorm.html&quot;&gt;situational application brainstorm&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;In this series of posts, I have simplified a lot of the concepts.  I use People, Processes, and Things. Experienced data modelers use more advanced terminology like &lt;a href=&quot;http://en.wikipedia.org/wiki/Unified_Modeling_Language&quot;&gt;Unified Modelling Language (UML)&lt;/a&gt;.  In UML, the words are different than the words I'm using.  Instead of &lt;strong&gt;People&lt;/strong&gt;, they call them &lt;strong&gt;Actors&lt;/strong&gt;,  instead of &lt;strong&gt;Processes&lt;/strong&gt;, they call them &lt;strong&gt;Use Cases&lt;/strong&gt; and instead of &lt;strong&gt;Things&lt;/strong&gt;, they call them &lt;strong&gt;classes&lt;/strong&gt;.  UML is much older than these blog posts and much more detailed. &lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Data Modelling is about Abstraction&lt;/h3&gt;&lt;br /&gt;When you are building your data model, you want to find the different &lt;strong&gt;things&lt;/strong&gt; in your brainstorm that are alike.  A recent example one of our users ran into was how to organize her cities, states, countries, and territories. She wants to describe a particular type of building based on which city it is in. There could be buildings in hundreds of different cities, so navigating this long list of potential locations could be difficult.  Say you are adding a new building and you need to select the city it is in.  Do you want to see a drop down box with 400 cities in it?  Or do you want to select the country first and then the state and then the city?  Might be a little easier right?&lt;br /&gt;&lt;br /&gt;So there are two approaches to &lt;strong&gt;abstract&lt;/strong&gt; this set of information.  Your things are City, State, Country, Territory.  What are all those things? How are they similar and how are they different? What &lt;strong&gt;properties&lt;/strong&gt; do they have in common? &lt;br /&gt;&lt;br /&gt;Well, cities, states, countries... they are different sizes.  Different geographic locations on a map, based on longitude and latitude.  Cities are inside states, which are inside Countries. In general, they are all Locations.  They all have a name, Tulsa, Oklahoma, USA, North America.  In this type of data model, you could say, &quot;Countries contain states contain cities contain buildings.&quot;  Uh oh... there's a lot more information about a building that doesn't really apply to a city though, right?  A building has a number of floors, it's made of brick or wood or steel. It's a commercial building or a residential building.  So we might not want to include buildings in the group of things we call &quot;locations.&quot;  If we did, then there would be a lot of cities with extraneous fields on the page when you go to add a new one.&lt;br /&gt;&lt;br /&gt;So how do we represent these locations and buildings in our Situational Application?  The first approach would be to create a City table, a State Table, and a Country table.  Then, we create a building table and link it to the City table using what Qrimp calls a &quot;Pick From.&quot;  Pick froms let you pick an item from a big list of items.  You want to pick one city for this building out of a list of 400 cities.&lt;br /&gt;&lt;br /&gt;Other names for pick from could be &lt;a href=&quot;http://en.wikipedia.org/wiki/Foreign_key&quot;&gt;foreign key&lt;/a&gt; (Relational Database), &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/ms227624.aspx&quot;&gt;drop down list&lt;/a&gt; (Visual Studio), &lt;a href=&quot;http://hms.harvard.edu/hmsit/pg.asp?pn=filemaker_valuelists&quot;&gt;Value List&lt;/a&gt; (FileMaker), &lt;a href=&quot;http://www.w3schools.com/tags/tag_select.asp&quot;&gt;select box&lt;/a&gt; (HTML).  They're all the same thing. They are represented on forms like this: &lt;br /&gt;&lt;br /&gt;&lt;select&gt;&lt;option&gt;-- Choose City --&lt;/option&gt;&lt;option&gt;Tulsa&lt;option&gt;New York&lt;option&gt;Los Angeles&lt;/select&gt;&lt;br /&gt;&lt;br /&gt;When you create a pickfrom in Qrimp, it'll build that form field for you automatically. &lt;br /&gt;&lt;br /&gt;Another way we could describe this kind of information, this location information, would be to group them all together into &lt;i&gt;one&lt;/i&gt; table, a &lt;strong&gt;locations&lt;/strong&gt; table.  A locations table would include a &lt;strong&gt;Name&lt;/strong&gt;, maybe a &lt;strong&gt;description&lt;/strong&gt;, and even a type of location: City, State, Country, or Territory.  These things, these location types, then become their own table. When you add a new location, you choose the type of location from a select box as well.  Your application may or may not be concerned about what type of location it is, or maybe it does.&lt;br /&gt;&lt;br /&gt;If we use this single Locations Table to represent all of our locations, we get some neat functionality.  We can represent it in a TreeView and drill down.  Like this: &lt;br /&gt;&lt;img src=&quot;http://www.qrimp.com/blog/locations_treeview.png&quot; /&gt;&lt;br /&gt;&lt;br /&gt;In that Tree View of Locations, if we click on New York City, on the right hand side in the related data section, also known as the right hand rail, you'll be able to add new locations or building by clicking the add links. Here's a screen shot:&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://www.qrimp.com/blog/location_detail.png&quot; /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Data Modelling is an Art and a Science&lt;/h3&gt;&lt;br /&gt;Data modeling is not an exact science, because have to make choices about how to build our &lt;strong&gt;data models&lt;/strong&gt;.  &lt;a href=&quot;http://www.ted.com/talks/barry_schwartz_on_the_paradox_of_choice.html&quot;&gt;The Paradox of choice&lt;/a&gt; is that is makes us freer, but it paralyzes us. Don't let the number of options paralyze you, just do it.  It doesn't have to be perfect.  If you need help, email Qrimp Support, we'll help you decide.  We've built hundreds, if not thousands of data models.&lt;br /&gt;&lt;br /&gt;Data modeling is an art.  Different expert database administrators will have different opinions about how to build a data model for different types of information.  There are hundreds of data models for &lt;a href=&quot;http://en.wikipedia.org/wiki/Customer_relationship_management&quot;&gt;customer relationship management (CRM)&lt;/a&gt; systems alone.  &lt;br /&gt;&lt;br /&gt;There are pros and cons to different approaches.  Some factors in these decisions include the kind of &lt;a href=&quot;http://en.wikipedia.org/wiki/User_interface&quot;&gt;user interface&lt;/a&gt; you want to build on top of the data, performance issues and &lt;a href=&quot;http://en.wikipedia.org/wiki/Database_normalization&quot;&gt;normalization&lt;/a&gt;, flexibility of the application, and other issues affect your data model.  &lt;br /&gt;&lt;br /&gt;Data Modeling takes a lot of experience and practice and &lt;strong&gt;you are going to make mistakes&lt;/strong&gt;.  Qrimp makes it easy to change your data model, so Qrimp is a great tool to experiment with. Qrimp builds most, if not all, of your User Interface automatically. Understanding how your data model will be presented will help you decide how to build the data model itself and this understanding takes time and practice.&lt;br /&gt;&lt;br /&gt;In the next installment of this series, I'll show you how to take an abstracted description and actually build something to store that information in Qrimp.  My suggestion to you is: &lt;strong&gt;Experiment&lt;/strong&gt;.  Build a simple model and then enter some data.  Is it smooth?  Is it easy?  Does it make sense?  Will it make sense to your users?  If it doesn't, then build another model to represent the information in another way and see if that is more intuitive for you and the people who will be using your situational application with you.&lt;br /&gt;</description><category>Qrimp</category><pubDate>Wed, 03 Jun 2009 12:00:00 G6T -05</pubDate><guid>http://www.qrimp.com/blog/blog.Designing-Situational-Applications---Data-Modeling.html</guid></item><item><title>Beyond the Golden Rule</title><link>http://www.qrimp.com/blog/blog.Beyond-the-Golden-Rule.html</link><description>The golden rule isn't good enough anymore.  We have to be more conscious than that.  Think of others.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;a name=&quot;thegoldenrule&quot;&gt;&lt;/a&gt;&lt;h3&gt;The golden rule is not good enough.&lt;/h3&gt;  Think of others.  The world has more people in it than just you.  &lt;a href=&quot;http://www.youtube.com/watch?v=82EV4KBIsNk&quot;&gt;What you do makes a difference.&lt;/a&gt; What you do affects other people. It affects the world.&lt;br /&gt;&lt;br /&gt;Be conscious.  Forget the rules.  The rules are for the unconscious.&lt;br /&gt;&lt;br /&gt;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:&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Treat other people the way &lt;em&gt;they&lt;/em&gt; want to be treated&lt;/h3&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Remember, we are all &lt;em&gt;people&lt;/em&gt;&lt;/h3&gt;&lt;br /&gt;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 &lt;em&gt;just&lt;/em&gt; corporations, we are corporations composed of &lt;em&gt;people&lt;/em&gt;. &lt;br /&gt;&lt;br /&gt;This whole planet is full of people and you can't treat them all the way &lt;em&gt;you&lt;/em&gt; want to be treated. You have to treat them the way &lt;em&gt;they&lt;/em&gt; 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.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Understanding People is the Hardest Part&lt;/h3&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;I keep asking myself, &quot;Why am I writing this on my company blog?&quot;  I keep telling myself, &quot;The business books would look at me like I'm an idiot... you can't show your soul and get customers...&quot;  Well, I don't believe that's true.  I think customers want honesty.  They need it. They deserve it.  &lt;br /&gt;&lt;br /&gt;I'm tired of &lt;em&gt;business as usual&lt;/em&gt;.  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.&lt;br /&gt;&lt;br /&gt;I was watching this &lt;a href=&quot;http://www.youtube.com/watch?v=FzGFytGBDN8&quot;&gt;interview with Ayn Rand on the Donahue Show&lt;/a&gt;.  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, &quot;Don't show your feelings.... it's sort of a tyranny that men are not supposed to express...&quot;  I suspect he was about to say &quot;Emotion&quot; but then Ayn says, &lt;strong&gt;&quot;It's a weakness, it's not strength.  The strong man doesn't mind showing his feelings -- unhappy ones, or pain, or enthusiasm.&quot;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;America has lost its emotion&lt;/h3&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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 &lt;em&gt;society&lt;/em&gt;.  Maybe not all the individuals in it, but the sum total.  &lt;a href=&quot;http://en.wikipedia.org/wiki/List_of_countries_by_current_account_balance&quot;&gt;No, I'm not lying, here's the list&lt;/a&gt;, maybe Wikipedia is lying.  It would take 2 China's buying &lt;em&gt;our&lt;/em&gt; products, to pay off our debt to the world and they have 4 times as many people as we do.&lt;br /&gt;&lt;br /&gt;In a sense, the &lt;em&gt;entire world&lt;/em&gt; can't pay off the exhuberant lifestyle Americans have lived for the past 5 decades. But &lt;a href=&quot;http://www.youtube.com/watch?v=6z8u313eY_c&quot;&gt;Americans are very creative people&lt;/a&gt;.  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.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;No emotion, no virtue&lt;/h3&gt; &lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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 &lt;em&gt;anything&lt;/em&gt;.  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?&lt;br /&gt;&lt;br /&gt;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 &lt;em&gt;why&lt;/em&gt; we are depressed. Why we &lt;em&gt;should&lt;/em&gt; be depressed.  It's okay, it's natural.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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 &quot;sold soul&quot; 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?&lt;br /&gt;&lt;br /&gt;We've lost our emotions and we've lost our &lt;strong&gt;courage&lt;/strong&gt;.  Those aren't my words. I heard it from &lt;a href=&quot;http://video.google.com/videoplay?docid=8032986005286260681&amp;ei=C5clSr_dM6LA-AHt25CsBw&amp;q=Aleksandr+Solzhenitsyn&amp;emb=1&quot;&gt;Aleksandr Solzhenitsyn in his address to Harvard in 1978&lt;/a&gt;.  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 &lt;em&gt;hard work&lt;/em&gt;.  &lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Getting rich quick isn't all it's cracked up to be&lt;/h3&gt;&lt;br /&gt;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 &quot;happy enough.&quot;  After that, we don't get much happier.&lt;br /&gt;&lt;br /&gt;Studies have shown that &lt;a href=&quot;http://11thhouraction.com/node/535&quot;&gt;since the 1950's&lt;/a&gt;, &lt;a href=&quot;http://www.billmckibben.com/deep-economy.html&quot;&gt;we've actually gotten less happy&lt;/a&gt;. Why? We've gotten more stuff, better technology, but less happiness...&lt;br /&gt;&lt;br /&gt;Most of the videos I linked to were from the 1970's.  I don't see many things like that on Television today.  In &lt;a href=&quot;http://www.youtube.com/watch?v=hYtQ_-rpAUo&quot;&gt;this conversation with Buckminster Fuller from 1974&lt;/a&gt;, 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?&lt;br /&gt;&lt;br /&gt;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 &lt;em&gt;better&lt;/em&gt; 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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;When we abandon the golden rule, we can start thinking outside ourselves, outside our society, outside our world and start to &lt;strong&gt;think about future generations&lt;/strong&gt;.  Let's make life better for future generations on the planet.  Let's &lt;strong&gt;enable&lt;/strong&gt; future generations on this planet.  There's enough to go around if we don't consume it all.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description><category>Personal</category><pubDate>Tue, 02 Jun 2009 14:51:00 G6T -05</pubDate><guid>http://www.qrimp.com/blog/blog.Beyond-the-Golden-Rule.html</guid></item><item><title>The Open Source Myth</title><link>http://www.qrimp.com/blog/blog.The-Open-Source-Myth.html</link><description>Should I open source my software? If you are asking yourself that question, this post may help you decide what to do.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;My goal here isn't to rehash a stale topic that &quot;everyone dismisses&quot; but to simply answer some questions about why I believe Open Sourcing might not be the best path for everyone and why I've made some of the decisions I have.  I want to help other people who might be faced with the decision to open source their own software make a better decision for themselves.  There is plenty of pro-Open Source Software (OSS) material on the web, so I'll focus on arguments against it, because that is my current stance.  There's my bias, read at your own risk.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Why Myths around Open Source&lt;/h3&gt;The 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.&lt;br /&gt;&lt;br /&gt;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.  &lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;It seems like the Open Source movement is devaluing the labor required to build software. They are pushing developers into the realm of &lt;strong&gt;starving artists&lt;/strong&gt; or &lt;strong&gt;garage bands&lt;/strong&gt; 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.&lt;br /&gt;&lt;br /&gt;The myth here is that OSS is better for the developer.  In reality, it is better for everyone &lt;em&gt;but&lt;/em&gt; the developer.&lt;br /&gt;&lt;h3&gt;Try to remain rational&lt;/h3&gt;&lt;br /&gt;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 &lt;a href=&quot;http://www.paulgraham.com/identity.html&quot;&gt;Paul Graham's thoughts on identity&lt;/a&gt; apply here as well.&lt;br /&gt;&lt;br /&gt;I warn you, I may get a bit emotional myself, but I'll do my best to keep my comments rational and focused.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Some background&lt;/h3&gt;&lt;br /&gt;First, I'll point to &lt;a href=&quot;http://www.neilgunton.com/doc/open_source_myths&quot;&gt;Niel Gunton's Open Source Myth's&lt;/a&gt; from a few years ago.  The article is a good one and sparked some healthy debate.  In the &lt;a href=&quot;http://slashdot.org/article.pl?no_d2=1&amp;sid=04/07/25/2316233&quot;&gt;slashdot conversation&lt;/a&gt; etymxris replies, &quot;I just don't think that the government should grant monopolies on any idea.&quot;  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. &lt;br /&gt;&lt;br /&gt;Second, some links at Orielly.com talk about myths related to OSS, both &lt;a href=&quot;http://www.oreillynet.com/pub/a/oreilly/opensource/news/myths_1199.html&quot;&gt;pro (1999)&lt;/a&gt; and &lt;a href=&quot;http://www.onlamp.com/pub/a/onlamp/2003/12/11/myths.html&quot;&gt;con (2003)&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;You can't undo Open Sourcing your project&lt;/h3&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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 &quot;closed source&quot; features. But all that just makes the decision more complicated and easier to avoid. So I just say no.  &lt;br /&gt;&lt;br /&gt;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 &lt;a href=&quot;http://www.badtattoos.com/&quot;&gt;bad tattoo&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Closed source software is simpler for the developer.&lt;/b&gt; 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!&lt;br /&gt;&lt;br /&gt;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.  &lt;b&gt;You're better off keeping your project closed and working hard to make it valuable enough for a customer to buy.&lt;/b&gt;  Then you can ditch the day job and focus on &lt;em&gt;your&lt;/em&gt; vision 100%.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;License Virus&lt;/h3&gt;&lt;br /&gt;Daniel J. Schwartz, from &lt;a href=&quot;http://www.jenner.com&quot;&gt;Jenner &amp; Block, LLP&lt;/a&gt;, in &lt;a href=&quot;http://www.jenner.com/files/tbl_s20Publications/RelatedDocumentsPDFs1252/1029/ACCA_Open_Source_Hidden_Problems_05.05.pdf&quot;&gt;Open Source: Paper Tiger, Hidden Problems&lt;/a&gt; writes:&lt;blockquote&gt;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.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;There are myriad OSS licenses. &lt;a href=&quot;http://www.opensource.org/licenses/alphabetical&quot;&gt;65 different Open Source licenses&lt;/a&gt; in &lt;a href=&quot;http://www.opensource.org/licenses/category&quot;&gt;9 different categories&lt;/a&gt; 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 &lt;em&gt;and&lt;/em&gt; the developer career.&lt;br /&gt;&lt;br /&gt;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 &quot;keep it.&quot;  To keep some recognition.  To prevent abuse and &quot;theft&quot; of the idea.  The OSS developer is saying, &quot;I will relinquish profit, but you can't profit either!&quot; 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.&lt;br /&gt;&lt;br /&gt;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...&lt;br /&gt;&lt;h3&gt;Legal Precedent&lt;/h3&gt;&lt;br /&gt;There is very little legal precedent to help the developer understand what will happen in court. There are some cases, one regarding &lt;a href=&quot;http://itmanagement.earthweb.com/osrc/article.php/3775446/Bruce%20Perens:%20A%20Big%20Change%20for%20Open%20Source.htm&quot;&gt;model rail road software&lt;/a&gt;.  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 &lt;a href=&quot;#notfriendly&quot;&gt;unfriendly communities below&lt;/a&gt;). Still, the OSS guy, Bob Jacobsen, still had to spend time in court to use his own free software.  &lt;strong&gt;Just because you open source your software, doesn't mean it's yours.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.downloadsquad.com/2007/05/14/microsoft-open-source-software-infringes-on-235-patents/&quot;&gt;Microsoft went after Linux&lt;/a&gt; for some of the same reasons.   So, still a mystery in the mind of law, thus undecided = no.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;I could do that myself&lt;/h3&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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?  &lt;a href=&quot;http://kb.mozillazine.org/Recovering_a_profile_that_suddenly_disappeared&quot;&gt;How can Thunderbird just forget that it has been setup and configured already?&lt;/a&gt; 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.&lt;br /&gt;&lt;br /&gt;Open source is a label used to market products. It's often a &lt;em&gt;gimmick&lt;/em&gt; 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.&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;border:solid 1px navy;width:300px;float:right;font-weight:bold;font-size:1.1em;padding:1em;margin:1em;&quot;&gt;Is the future of software threatened because computer processors are not open?&lt;/div&gt;The examples are that MySQL is not as good as SQL Server or Oracle. Then &lt;a href=&quot;http://www.sun.com/aboutsun/pr/2008-01/sunflash.20080116.1.xml&quot;&gt;MySQL was bought by Sun&lt;/a&gt;, then &lt;a href=&quot;http://www.oracle.com/sun/index.html&quot;&gt;Oracle bought Sun&lt;/a&gt;, so since MySql competes with Oracle, &lt;a href=&quot;http://www.betanews.com/article/Now-an-Oracle-product-what-happens-to-MySQL/1240247006&quot;&gt;what happens to MySQL&lt;/a&gt;?&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;The OSS community is selling the &lt;em&gt;hope&lt;/em&gt; 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.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Too many forks, not enough spoons&lt;/h3&gt;I don't even want to count the &lt;a href=&quot;http://en.wikipedia.org/wiki/List_of_Linux_distributions&quot;&gt;number of Linux distributions&lt;/a&gt; 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?&lt;br /&gt;&lt;br /&gt;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.  &quot;My distro is better than your distro!&quot;  Okay, well the fact that there are multiple distros makes the OSS world &lt;em&gt;more&lt;/em&gt; confusing for the end user and what the end user wants is simplicity.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;a name=&quot;notfriendly&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;h3&gt;The community is not completely friendly&lt;/h3&gt;&lt;br /&gt;From  dossen (306388) at the &lt;a href=&quot;http://slashdot.org/article.pl?no_d2=1&amp;sid=04/07/25/2316233&quot;&gt;slashdot response&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;To &quot;rip off&quot; (as in fork the project and become the &quot;official&quot; 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 &quot;good&quot; changes&lt;/blockquote&gt;&lt;br /&gt;If you are a small development shop, this is not difficult. Not only do small development shops, and especially individuals, suffer from &quot;Hit by the bus&quot; 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.&lt;br /&gt;&lt;br /&gt;So in this case, size matters.  The smaller you are as an organization, the less power you have to defend your OSS project.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;OSS is not necessarily VC friendly&lt;/h3&gt;Open 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.&lt;br /&gt;&lt;br /&gt;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.  &lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Not all changes from the community are good&lt;/h3&gt;Your 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.&lt;br /&gt;&lt;br /&gt;You may end up with &lt;strong&gt;too many cooks in the kitchen&lt;/strong&gt;.&lt;br /&gt;&lt;h3&gt;Not all developers are &lt;em&gt;good&lt;/em&gt; developers -- few are &lt;em&gt;great&lt;/em&gt;&lt;/h3&gt;I'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.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Input from the community distracts you from your vision&lt;/h3&gt;The 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.&lt;br /&gt;&lt;br /&gt;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.  &lt;br /&gt;&lt;h3&gt;Lack of revenue potential&lt;/h3&gt;If 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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;If software patents weren't essentially worthless, then perhaps you could retain your right to sell the open source, but still, undecided. &lt;br /&gt;&lt;h3&gt;Product company vs. Service Company&lt;/h3&gt;When 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.&lt;br /&gt;&lt;h3&gt;Success Stories are Rare&lt;/h3&gt;There 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?&lt;br /&gt;&lt;br /&gt;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.  &lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;h3&gt;Who benefits from Open Source?&lt;/h3&gt;&lt;br /&gt;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, &quot;Is it open source?&quot; I replied, &quot;No.&quot; 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. &lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;h3&gt;You can fix or enhance it yourself&lt;/h3&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.  &lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;h3&gt;Free as in Beer&lt;/h3&gt;&lt;br /&gt;When I say &quot;free&quot; I mean the commonly understood definition of &quot;costs no money.&quot;  Let's just end the confusion.  Every time someone uses the term free, the &quot;Free as in Beer, Free as in Speech&quot; 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.&lt;br /&gt;&lt;br /&gt;The world understands &quot;free&quot; to mean zero cost.  Let's speak to the world using common language.  I like what &lt;em&gt;Registered Coward v2 (447531)&lt;/em&gt; at the &lt;a href=&quot;http://slashdot.org/article.pl?no_d2=1&amp;sid=04/07/25/2316233&quot;&gt;slashdot response&lt;/a&gt; said:&lt;br /&gt;&lt;blockquote&gt;...how many times do you see someone looking for an OSS aka &quot;free&quot; counterpart to a CSS aka &quot;cost money&quot; 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 &quot;let's copy the functionality of product X&quot; OSs programs are out there?&lt;/blockquote&gt; &lt;br /&gt;&lt;br /&gt;If the point of OSS is to &lt;a href=&quot;http://itmanagement.earthweb.com/osrc/article.php/3773286/Lets-Move-FOSS-to-Its-Logical-Conclusion.htm&quot;&gt;give users control of their own computers&lt;/a&gt;, 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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Open source does not make software more secure&lt;/h3&gt;One 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.  &lt;br /&gt;&lt;br /&gt;Plus, the black box makes it harder for hackers to understand. If they look at the code, it'll be easier for &lt;em&gt;them&lt;/em&gt; to find the security holes too and there's no reason to believe they'll inform the community.  Why should they?&lt;br /&gt;&lt;br /&gt;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.</description><category>The Web</category><pubDate>Thu, 28 May 2009 11:15:00 G5T -05</pubDate><guid>http://www.qrimp.com/blog/blog.The-Open-Source-Myth.html</guid></item><item><title>Is Russian ownership of Facebook a threat to national security?</title><link>http://www.qrimp.com/blog/blog.Is-Russian-ownership-of-Facebook-a-threat-to-national-security.html</link><description>Through its social graphs, Facebook knows more about Americans than most Americans. What if the Russians do too?&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;noeval&gt;&lt;br /&gt;According to Techcrunch, &lt;a href=&quot;http://www.techcrunch.com/2009/05/26/facebook-takes-that-200-million-investment-from-the-russians-at-a-10-billion-valuation/&quot;&gt;Facebook took $200 Million from a Russian Internet Investment firm&lt;/a&gt;.  Putting aside the scary images from &lt;a href=&quot;http://www.imdb.com/title/tt0139654/&quot;&gt;Training Day&lt;/a&gt;, such an investment does raise concerns about foreign ownership of American properties and such concern is not without precident.&lt;br /&gt;&lt;br /&gt;In 2006, when Dubai Ports World wanted to buy a stake in American shipping centers, the &lt;a href=&quot;http://seattletimes.nwsource.com/html/nationworld/2002829596_ports26.html&quot;&gt;ports deal was reviewed&lt;/a&gt;, then &lt;a href=&quot;http://www.cnn.com/2006/POLITICS/03/08/port.security/index.html&quot;&gt;Congress declared war on it&lt;/a&gt;.   The argument went like &lt;a href=&quot;http://murray.senate.gov/news.cfm?id=252001&quot;&gt;this&lt;/a&gt;, &lt;blockquote&gt;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.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;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 &lt;a href=&quot;http://blog.searchenginewatch.com/060614-094019&quot;&gt;Japan is creating its own search engine&lt;/a&gt;.  Why? Because, according to the article, &lt;blockquote&gt;Many people in Japan fear that the domination of the three  firms will prevent Japanese companies from entering the market.&lt;/blockquote&gt;  &lt;a href=&quot;http://blog.searchenginewatch.com/050831-085649&quot;&gt;France is doing the same&lt;/a&gt;.  &lt;br /&gt;&lt;br /&gt;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.  &lt;br /&gt;&lt;br /&gt;Not only do national governments believe it is critical to ensure access to information on the web, but they also want to &lt;em&gt;limit&lt;/em&gt; access to information on the web.  Lots of areas of &lt;a href=&quot;http://www.itsecurity.com/features/51-things-not-on-google-maps-071508/&quot;&gt;Google maps are blurred for security reasons&lt;/a&gt;. &lt;a href=&quot;http://www.itexaminer.com/google-earth-a-threat-to-indias-national-security.aspx&quot;&gt;Even India fears Google Earth&lt;/a&gt; may be a threat to their national security, because: &lt;blockquote&gt;these websites provided minute details, photographs and 'extremely accurate navigational coordinates' of sensitive areas.&lt;/blockquote&gt;&lt;br /&gt;&lt;div style=&quot;border:solid 1px navy;padding:5px;&quot;&gt;&lt;a href=&quot;http://maps.google.com/maps?&amp;z=11&amp;ll=66.266856,179.25087&amp;t=k&quot;&gt;&lt;img src=&quot;/blog/russia_blurred.jpg&quot; alt=&quot;Portions of Russia are blurred on Google Maps&quot;&gt;&lt;br/&gt;&lt;strong&gt;Even parts of Russia are blurred on Google Maps&lt;/a&gt;&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;These concerns are about visible, physical features of our land, but &lt;strong&gt;what about features of our social graph&lt;/strong&gt;?  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 &lt;a href=&quot;http://www.madisonpubliclibrary.org/about/patriot.html&quot;&gt;the library books you read&lt;/a&gt; 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?&lt;br /&gt;&lt;br /&gt;Of course I am not suggesting that this deal &lt;em&gt;is&lt;/em&gt; &lt;div style=&quot;float:right;border:solid 2px navy;padding:.5em;margin:1em;width:20em;font-size:1.1em;font-weight:bold;&quot;&gt;What security issues could result from a foreign interest having access to the most intimate connections between our citizens?&lt;/div&gt;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 &lt;em&gt;is&lt;/em&gt; a security threat.  &lt;br /&gt;&lt;br /&gt;Even the CIA itself uses Facebook for hiring purposes.  From &lt;a href=&quot;http://www.wired.com/techbiz/it/news/2007/01/72545&quot;&gt;Wired magazine&lt;/a&gt;, &lt;blockquote&gt;&quot; an invaluable tool when it comes to peer-to-peer marketing,&quot; says Michele Neff, a CIA spokeswoman.&lt;/blockquote&gt;  If it is valuable to our own Central Intelligence Agency, why wouldn't it be valuable to &lt;em&gt;other&lt;/em&gt; 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 &lt;a href=&quot;blog.Tim-Berners-Lee-wants-more-Qrimp.html&quot;&gt;raw data&lt;/a&gt; would be more valuable -- it must be.&lt;br /&gt;&lt;br /&gt;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.  &lt;br /&gt;&lt;br /&gt;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 &lt;a href=&quot;http://www.pbs.org/wgbh/pages/frontline/shows/kim/nukes/noflashmap.html&quot;&gt;monetization of nuclear capabilities&lt;/a&gt;, &quot;&lt;strong&gt;The export of ballistic missiles and related technology is one of North Korea's main sources of hard currency&lt;/strong&gt;.&quot;  Pakistan sold, &lt;a href=&quot;http://abcnews.go.com/Blotter/story?id=4964884&amp;page=1&quot;&gt;sensitive nuclear equipment and know-how&lt;/a&gt; to Iran.  Not a physical product, only the knowledge.  &lt;strong&gt;&lt;em&gt;Knowledge&lt;/em&gt;&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;Facebook contains information that can give, perhaps unfriendly, organizations in the world &lt;i&gt;knowledge&lt;/i&gt; 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.&lt;br /&gt;&lt;br /&gt;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?&lt;br /&gt;&lt;br /&gt;&lt;/noeval&gt;</description><category>The Web</category><pubDate>Tue, 26 May 2009 14:34:00 G5T -05</pubDate><guid>http://www.qrimp.com/blog/blog.Is-Russian-ownership-of-Facebook-a-threat-to-national-security.html</guid></item><item><title>Tim Berners-Lee wants more raw data</title><link>http://www.qrimp.com/blog/blog.Tim-Berners-Lee-wants-more-raw-data.html</link><description>Tim Berners-Lee in this TED talk describes a web dominated by the power Qrimp provides. Find out why in this blog post.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;In this video, Tim Berners-Lee, the inventor of the World Wide Web, argues for more raw data on the web.  This video really struck a chord with me, because what he is arguing for here was one of the driving forces behind the Qrimp Platform.  I'll talk about how Qrimp enables what he is describing and makes it easier for organizations to provide their data in the format he wants.&lt;br /&gt;&lt;br /&gt;&lt;object width=&quot;446&quot; height=&quot;326&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://video.ted.com/assets/player/swf/EmbedPlayer.swf&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot; /&gt;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot;&gt;&lt;/param&gt;&lt;param name=&quot;bgColor&quot; value=&quot;#ffffff&quot;&gt;&lt;/param&gt; &lt;param name=&quot;flashvars&quot; value=&quot;vu=http://video.ted.com/talks/embed/TimBerners-Lee_2009-embed_high.flv&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/TimBerners-Lee-2009.embed_thumbnail.jpg&amp;vw=432&amp;vh=240&amp;ap=0&amp;ti=484&quot; /&gt;&lt;embed src=&quot;http://video.ted.com/assets/player/swf/EmbedPlayer.swf&quot; pluginspace=&quot;http://www.macromedia.com/go/getflashplayer&quot; type=&quot;application/x-shockwave-flash&quot; wmode=&quot;transparent&quot; bgColor=&quot;#ffffff&quot; width=&quot;446&quot; height=&quot;326&quot; allowFullScreen=&quot;true&quot; flashvars=&quot;vu=http://video.ted.com/talks/embed/TimBerners-Lee_2009-embed_high.flv&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/TimBerners-Lee-2009.embed_thumbnail.jpg&amp;vw=432&amp;vh=240&amp;ap=0&amp;ti=484&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;It's really important to have a lot of data&lt;/h3&gt;Data 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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.  &lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Linked Data&lt;/h3&gt;Qrimp 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 &quot;Add...&quot; link to add another order and it will automatically be linked to that customer, or you can select another customer to link it to.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Those HTTP things...&lt;/h3&gt;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.&lt;br /&gt;&lt;br /&gt;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&amp;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.&lt;br /&gt;&lt;br /&gt;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&amp;city=Seattle  &lt;br /&gt;&lt;br /&gt;Pretty easy isn't it?&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;The web lets you put all kinds of data up there&lt;/h3&gt;So 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.  &lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;Look what we can do with data about &lt;a href=&quot;http://demo.qrimp.com/TechJobsCharts&quot;&gt;Technology Jobs&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;You don't want to let your database go until you've made a beautiful website for it&lt;/h3&gt;Unfortunately 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.&lt;br /&gt;&lt;br /&gt;Check out what one Qrimper has done without changing the look and feel of his Qrimp app at all:  &lt;a href=&quot;http://scripturetunes.qrimp.com&quot;&gt;http://scripturetunes.qrimp.com&lt;/a&gt;.  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?&lt;br /&gt;&lt;br /&gt;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 &quot;stand out,&quot; but it also makes it more difficult to use the web in general.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Raw data now!&lt;/h3&gt;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!&lt;br /&gt;&lt;br /&gt;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?  &lt;br /&gt;&lt;br /&gt;Give us the RAW DATA!&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;No more excuses!&lt;/h3&gt;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.&lt;br /&gt;&lt;br /&gt;Stop making excuses for why you aren't making your data available.  Even this blog is available in raw data format.  Look at this:&lt;br /&gt;Table View: &lt;a href=&quot;http://www.qrimp.com/db.aspx?t=blog&amp;vid=table&quot;&gt;http://www.qrimp.com/db.aspx?t=blog&amp;vid=table&lt;/a&gt;&lt;br /&gt;A bulleted list of links: &lt;a href=&quot;http://www.qrimp.com/db.aspx?t=blog&amp;vid=bulletedlist&quot;&gt;http://www.qrimp.com/db.aspx?t=blog&amp;vid=bulletedlist&lt;/a&gt;&lt;br /&gt;You can even download it in Excel: &lt;a href=&quot;http://www.qrimp.com/db.aspx?t=blog&amp;vid=csv&quot;&gt;http://www.qrimp.com/db.aspx?t=blog&amp;vid=csv&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;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!&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Want to get more serious&lt;/h3&gt;How 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!&lt;br /&gt;&lt;br /&gt;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.  &lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;</description><category>Qrimp</category><pubDate>Sun, 24 May 2009 16:03:00 G5T -05</pubDate><guid>http://www.qrimp.com/blog/blog.Tim-Berners-Lee-wants-more-raw-data.html</guid></item><item><title>Situational Application Brainstorm</title><link>http://www.qrimp.com/blog/blog.Situational-Application-Brainstorm.html</link><description>In this post, I'll show you the kind of brainstorm that will describe a simple situational application.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;In my last post, &lt;a href=&quot;blog.Designing-Situational-Applications.html&quot;&gt;Designing Situational Applications&lt;/a&gt; I began to describe how to get started building your first &lt;a href=&quot;http://en.wikipedia.org/wiki/Situational_application&quot;&gt;situational application&lt;/a&gt;.&lt;br&gt;&lt;br&gt;In this post, I'll describe a simple &lt;a href=&quot;http://en.wikipedia.org/wiki/Extranet&quot;&gt;customer extranet&lt;/a&gt;.  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.&lt;br&gt;&lt;br&gt;In the example below, I will indicate some of the items that are &lt;b&gt;People&lt;/b&gt; with &lt;b&gt;Bold&lt;/b&gt;, &lt;i&gt;Processes&lt;/i&gt; with &lt;i&gt;Italics&lt;/i&gt;, and &lt;span style=&quot;text-decoration:underline&quot;&gt;Things&lt;/span&gt; with &lt;span style=&quot;text-decoration:underline&quot;&gt;Underline&lt;/span&gt;. Sometimes the item may be a Person or a Thing and will appear like &lt;b&gt;&lt;span style=&quot;text-decoration:underline&quot;&gt;Customers&lt;/span&gt;&lt;/b&gt;.&lt;br&gt;&lt;br&gt;&lt;h3&gt;Customer Extranet Brainstorm&lt;/h3&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;I&lt;/b&gt; want a system where &lt;b&gt;&lt;span style=&quot;text-decoration:underline&quot;&gt;customers&lt;/span&gt;&lt;/b&gt; can &lt;i&gt;log in&lt;/i&gt; and &lt;i&gt;check on the status&lt;/i&gt; of their &lt;span style=&quot;text-decoration:underline&quot;&gt;custom projects&lt;/span&gt;.  Before the &lt;span style=&quot;text-decoration:underline&quot;&gt;project&lt;/span&gt; gets started, they &lt;i&gt;contact&lt;/i&gt; us and &lt;i&gt;ask&lt;/i&gt; if we can help them solve a particular &lt;span style=&quot;text-decoration:underline&quot;&gt;problem&lt;/span&gt;. Different &lt;span style=&quot;text-decoration:underline&quot;&gt;&lt;b&gt;customers&lt;/b&gt;&lt;/span&gt; have different &lt;span style=&quot;text-decoration:underline&quot;&gt;skill levels&lt;/span&gt; when it comes to technology, so they need different amounts of help to get started.&lt;br&gt;&lt;br&gt;After customers create their &lt;span style=&quot;text-decoration:underline&quot;&gt;project brainstorm&lt;/span&gt;, we will &lt;i&gt;break down&lt;/i&gt; the brainstorm into &lt;span style=&quot;text-decoration:underline&quot;&gt;sentences&lt;/span&gt; that correspond to individual &lt;span style=&quot;text-decoration:underline&quot;&gt;items of work&lt;/span&gt;. We &lt;i&gt;describe&lt;/i&gt; how &lt;span style=&quot;text-decoration:underline&quot;&gt;complicated&lt;/span&gt; each unit of work is, &lt;span style=&quot;text-decoration:underline&quot;&gt;how long&lt;/span&gt; we expect it to take, and how much it will &lt;span style=&quot;text-decoration:underline&quot;&gt;cost&lt;/span&gt; to &lt;i&gt;implement&lt;/i&gt;. The &lt;b&gt;customer&lt;/b&gt; should be able to &lt;i&gt;organize&lt;/i&gt; the items of work into &lt;span style=&quot;text-decoration:underline&quot;&gt;iterations&lt;/span&gt; and &lt;i&gt;prioritize&lt;/i&gt; them based on &lt;span style=&quot;text-decoration:underline&quot;&gt;budget&lt;/span&gt; and &lt;span style=&quot;text-decoration:underline&quot;&gt;system requirements&lt;/span&gt;.&lt;br&gt;&lt;br&gt;We like to allow the customer to &lt;i&gt;choose&lt;/i&gt; in an a la carte fashion which items they want now and which can wait.  Like a &lt;span style=&quot;text-decoration:underline&quot;&gt;shopping cart&lt;/span&gt;, the customer can &lt;i&gt;add&lt;/i&gt; each item to a &lt;span style=&quot;text-decoration:underline&quot;&gt;basket of tasks&lt;/span&gt; &lt;span style=&quot;text-decoration:underline&quot;&gt;grouped&lt;/span&gt; into different &lt;span style=&quot;text-decoration:underline&quot;&gt;phases&lt;/span&gt; of the &lt;span style=&quot;text-decoration:underline&quot;&gt;project&lt;/span&gt;.  Each phase may have several &lt;span style=&quot;text-decoration:underline&quot;&gt;iterations&lt;/span&gt;.  A phase could take a month and have 4 iterations for example.&lt;br&gt;&lt;br&gt;During this time, we may have one or many &lt;span style=&quot;text-decoration:underline&quot;&gt;meetings&lt;/span&gt; where the customer where we can &lt;i&gt;ask&lt;/i&gt; &lt;span style=&quot;text-decoration:underline&quot;&gt;questions&lt;/span&gt; and &lt;i&gt;elaborate&lt;/i&gt; on the &lt;span style=&quot;text-decoration:underline&quot;&gt;requirements&lt;/span&gt; where there could be confusion.&lt;br&gt;&lt;br&gt;(Note to the reader: As an exercise, find the People, Processes, and Things in the rest of this brainstorm)&lt;br&gt;&lt;br&gt;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.  &lt;br&gt;&lt;br&gt;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.&lt;br&gt;&lt;br&gt;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.  &lt;br&gt;&lt;br&gt;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.&lt;br&gt;&lt;br&gt;&lt;h3&gt;Post Brainstorm analysis&lt;/h3&gt;&lt;br&gt;&lt;br&gt;As we dig a little deeper into the project brainstorm, we start to notice different kinds of verbs. For example, in the sentence, &quot;Different &lt;b&gt;customers&lt;/b&gt; have different &lt;span style=&quot;text-decoration:underline&quot;&gt;skill levels&lt;/span&gt;...&quot; 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.  &lt;br&gt;&lt;br&gt;In the previous post on &lt;a href=&quot;http://www.qrimp.com/blog/blog.Designing-Situational-Applications.html&quot;&gt;Designing Situational Applications&lt;/a&gt;, 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:&lt;br&gt;&lt;br&gt;&lt;b&gt;&lt;span style=&quot;text-decoration:underline&quot;&gt;Customer&lt;/span&gt;&lt;/b&gt;&lt;br&gt;Name&lt;br&gt;Description&lt;br&gt;Skill Level&lt;br&gt;Email address&lt;br&gt;&lt;br&gt;You may be wondering at this point, &quot;Why does skill level matter?&quot;  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.  &lt;br&gt;&lt;br&gt;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.&lt;br&gt;&lt;br&gt;Let's look at another sentence in detail, &quot;We &lt;i&gt;describe&lt;/i&gt; how &lt;span style=&quot;text-decoration:underline&quot;&gt;complicated&lt;/span&gt; each unit of work is, &lt;span style=&quot;text-decoration:underline&quot;&gt;how long&lt;/span&gt; we expect it to take, and how much it will &lt;span style=&quot;text-decoration:underline&quot;&gt;cost&lt;/span&gt; to &lt;i&gt;implement&lt;/i&gt;.&quot;  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) &lt;span style=&quot;text-decoration:underline&quot;&gt;description&lt;/span&gt; of something.  Typing out this description is part of a larger Process of &lt;i&gt;Creating&lt;/i&gt; a &lt;span style=&quot;text-decoration:underline&quot;&gt;unit of work&lt;/span&gt;.  A unit of work is also a task, which is a more common and understandable term, so let's use that.&lt;br&gt;&lt;br&gt;Here is a chart for a &lt;span style=&quot;text-decoration:underline&quot;&gt;Task&lt;/span&gt; built from the sentence above:&lt;br&gt;&lt;b&gt;&lt;span style=&quot;text-decoration:underline&quot;&gt;Task&lt;/span&gt;&lt;/b&gt;&lt;br&gt;Name&lt;br&gt;Description&lt;br&gt;Complexity&lt;br&gt;TimeEstimate&lt;br&gt;Cost&lt;br&gt;&lt;br&gt;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?&lt;br&gt;&lt;br&gt;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.</description><category>Qrimp</category><pubDate>Wed, 20 May 2009 19:16:00 G5T -05</pubDate><guid>http://www.qrimp.com/blog/blog.Situational-Application-Brainstorm.html</guid></item><item><title>Designing Situational Applications</title><link>http://www.qrimp.com/blog/blog.Designing-Situational-Applications.html</link><description>You know you need some software or a web application to help you solve a problem, but how do you get started?  This series of posts will walk you through the process from idea to building the situational application.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;If you are new to &lt;a href=&quot;http://en.wikipedia.org/wiki/Situational_application&quot;&gt;Situational Applications&lt;/a&gt;, you may want to check out Jonathan Sapir's soon to be released book, &lt;a href=&quot;http://www.powerinthecloud.com&quot;&gt;Power in the Cloud&lt;/a&gt;.  I had the privilege of reading the final draft and it's a good read if you want to help push your organization in the direction of better information management.&lt;br /&gt;&lt;br /&gt;In this series of posts, I'll take an informal approach to designing &lt;a href=&quot;http://www.ddj.com/development-tools/206102105&quot;&gt;Situational Applications&lt;/a&gt;.  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.  &lt;a href=&quot;http://www.qrimp.com&quot;&gt;Qrimp&lt;/a&gt; is an example of such a situational application platform.&lt;br /&gt;&lt;br /&gt;Most &lt;a href=&quot;http://en.wikipedia.org/wiki/Information_management&quot;&gt;information management&lt;/a&gt; systems center around three things: &lt;a href=&quot;#people&quot;&gt;People&lt;/a&gt;, &lt;a href=&quot;#processes&quot;&gt;Processes&lt;/a&gt;, and &lt;a href=&quot;#things&quot;&gt;Things&lt;/a&gt;.  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.&lt;br /&gt;&lt;br /&gt;Situational applications connect People to Things and help them manage the Processes that keep everything up to date and move information through the system.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name=people&gt;People&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;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.  &lt;br /&gt;&lt;br /&gt;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. &lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name=&quot;things&quot;&gt;Things&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;The Things in your situational application correspond to the data you want to store. If you are building a &lt;a href=&quot;http://en.wikipedia.org/wiki/Customer_relationship_management&quot;&gt;Customer Relationship Management (CRM)&lt;/a&gt; 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:&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Customer&lt;/strong&gt;&lt;br /&gt;Customer Name&lt;br /&gt;Address&lt;br /&gt;City&lt;br /&gt;State&lt;br /&gt;Zip&lt;br /&gt;Phone Number&lt;br /&gt;Notes&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;strong&gt;Customer Contact&lt;/strong&gt;&lt;br /&gt;Customer&lt;br /&gt;First Name&lt;br /&gt;Last Name&lt;br /&gt;Email Address&lt;br /&gt;Phone Number&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  In future posts, I'll talk about how to determine relationships between information.   In the scenario above, you might imagine that a particular customer has more than one contact. You talk to a contact in Accounts Payable when you want to get paid and you talk to the decision maker about selling them additional products or services. &lt;br /&gt;&lt;br /&gt;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 &lt;a href=&quot;http://en.wikipedia.org/wiki/Create,_read,_update_and_delete&quot;&gt;Create, Read, Update, and Delete&lt;/a&gt; each item.  On the lines you've drawn, add a C, R, U, or D.&lt;br /&gt;&lt;br /&gt;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 &lt;a href=&quot;http://en.wikipedia.org/wiki/Iterative_development&quot;&gt;Iterative Development at Wikipedia&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name=&quot;processes&quot;&gt;Processes&lt;/a&gt;&lt;/h3&gt;  In general, Processes correspond to verbs and Things correspond to nouns. Above, we mentioned talking to our customers. Talking is an example of a Process. You will want to make note of any Processes that come to mind.  A process is something that happens. It's a description of how information moves through your system.&lt;br /&gt;&lt;br /&gt;Let's stick with the CRM example. In a CRM, a common process is the &lt;a href=&quot;http://www.gaebler.com/Sales-Cycle.htm&quot;&gt;Sales Cycle&lt;/a&gt;. 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.&lt;br /&gt;&lt;br /&gt;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).  &lt;br /&gt;&lt;br /&gt;Remeber, Processes correspond to &lt;strong&gt;verbs&lt;/strong&gt; (what people do) and Things correspond to &lt;strong&gt;nouns&lt;/strong&gt; (the object of the verb).  You can also think of the People as the subject of the sentence, &quot;Bob (People) searches (Process) for the Customer Account (Thing). Then he adds a note that he talked to their Accounts Payable Contact.&quot;  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.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Getting Started&lt;/h3&gt;I 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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;What were the People, Processes and Things in that last sentence? &quot;Then he adds a note that he talked to their Accounts Payable Contact.&quot; He was Bob (People).  Adds and talked are Processes. Note and Accounts Payable Contact are both things.&lt;br /&gt;&lt;br /&gt;The second post in this series is here: &lt;a href=&quot;blog.Situational-Application-Brainstorm.html&quot;&gt;Situational Application Brainstorm&lt;/a&gt;</description><category>Qrimp</category><pubDate>Tue, 19 May 2009 16:30:00 G5T -05</pubDate><guid>http://www.qrimp.com/blog/blog.Designing-Situational-Applications.html</guid></item><item><title>Alternative to Coghead</title><link>http://www.qrimp.com/blog/blog.Alternative-to-Coghead.html</link><description>Coghead recently closed shop, offering to host data until April 30, 2009. Qrimp would like to help customers stay up and running after that.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;The Qrimp team was saddened today to hear that one of our collaborators in the Platform as a Service (PaaS) space is no longer with us.  We want to offer our sincere condolences to the staff.  This must be a terrible time for them.&lt;br /&gt;&lt;br /&gt;There's news at &lt;a href=&quot;http://www.techcrunch.com/2009/02/18/coghead-grinds-to-a-halt-heads-to-the-deadpool/&quot;&gt;TechCrunch&lt;/a&gt;, &lt;a href=&quot;http://www.itworld.com/development/62952/web-application-platform-coghead-shuts-down&quot;&gt;IT World&lt;/a&gt;, and &lt;a href=&quot;http://news.google.com/news?q=coghead&quot;&gt;others&lt;/a&gt;...&lt;br /&gt;&lt;br /&gt;For their customers, life goes on and they &lt;b&gt;need a solution fast&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br/ &gt;&lt;h2&gt;Alternative to Coghead&lt;/h2&gt;&lt;br /&gt;We are offering &lt;b&gt;3 months free, support, webinars, and assistance&lt;/b&gt; to existing Coghead customers through a promotional offer.  This offer is available to existing Coghead customers until April 30, 2009.&lt;br /&gt;&lt;br /&gt;To take advantage of this offer and &lt;b&gt;get Qrimp at a 50% discount for 6 months&lt;/b&gt; off the current price, click the PayPal button below.&lt;br /&gt;&lt;form action=&quot;https://www.paypal.com/cgi-bin/webscr&quot; method=&quot;post&quot; style='text-align:center;'&gt;&lt;br /&gt;&lt;input type=&quot;hidden&quot; name=&quot;cmd&quot; value=&quot;_s-xclick&quot;&gt;&lt;br /&gt;&lt;input type=&quot;hidden&quot; name=&quot;hosted_button_id&quot; value=&quot;3378764&quot;&gt;&lt;br /&gt;&lt;input type=&quot;image&quot; src=&quot;https://www.paypal.com/en_US/i/btn/btn_subscribeCC_LG.gif&quot; border=&quot;0&quot; name=&quot;submit&quot; alt=&quot;PayPal - The safer, easier way to pay online!&quot;&gt;&lt;br /&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;https://www.paypal.com/en_US/i/scr/pixel.gif&quot; width=&quot;1&quot; height=&quot;1&quot;&gt;&lt;br /&gt;&lt;/form&gt;&lt;br /&gt;Exact terms of the offer:&lt;ul&gt;&lt;li&gt;Free for the first 3 months&lt;li&gt;Then $25.00 USD for the next 6 months&lt;li&gt;Then $50.00 USD for each month&lt;/ul&gt;&lt;br /&gt;We will do everything we can to make this transition as easy as possible.  Qrimp is an excellent &lt;b&gt;Alternative to Coghead&lt;/b&gt;, we think it is &lt;b&gt;The Best Alternative to Coghead&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Talk to us about Pricing&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Call now: US (972) 930-0629&lt;/strong&gt;  We would love to talk to you about how we can help you solve this migration problem.</description><category>Qrimp</category><pubDate>Thu, 19 Feb 2009 12:57:00 G2T -06</pubDate><guid>http://www.qrimp.com/blog/blog.Alternative-to-Coghead.html</guid></item><item><title>The Big Moose in Sweden. Stoorn.</title><link>http://www.qrimp.com/blog/blog.The-Big-Moose-in-Sweden.-Stoorn..html</link><description>One thing I'm thankful for this Thanksgiving.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;From the Youtube description which I will look up:&lt;blockquote&gt;Stoorn &#228;r ett kul &#228;lg projekt som f&#246;rhoppningsvis ska byggas p&#229; en kulle som heter Vithatten.&lt;/blockquote&gt;&lt;br /&gt;&lt;object width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/qH5F6tfvhUI&amp;hl=en&amp;fs=1&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/qH5F6tfvhUI&amp;hl=en&amp;fs=1&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;What I do know, is that it is a &lt;strong&gt;big moose&lt;/strong&gt;.  If I remember correctly, &lt;strong&gt;Stoorn&lt;/strong&gt; means &quot;&lt;strong&gt;The Big One&lt;/strong&gt;&quot; in Swedish and it is big.  You don't even have to understand what is being said in the video to understand that.&lt;br /&gt;&lt;br /&gt;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 &lt;strong&gt;northern lights&lt;/strong&gt; for the first time.&lt;br /&gt;&lt;br /&gt;Anyway, it's Thanksgiving and I'm thankful to the Swedish people for honoring the moose with such a grand construction.</description><category>Personal</category><pubDate>Wed, 26 Nov 2008 16:39:00 G11T -06</pubDate><guid>http://www.qrimp.com/blog/blog.The-Big-Moose-in-Sweden.-Stoorn..html</guid></item><item><title>The Difference between IaaS and PaaS</title><link>http://www.qrimp.com/blog/blog.The-Difference-between-IaaS-and-PaaS.html</link><description>What exactly is the difference between IaaS and PaaS? What are some vendors of each and how do you use them?&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;a href=&quot;http://neotactics.com/blog/category/technology/utility-computing/&quot;&gt;Randy Bias&lt;/a&gt; recently asked the Cloud Computing Group to define IaaS, so I'm going to jump in with an analogy.&lt;br /&gt;&lt;br /&gt;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.  &lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.  &lt;br /&gt;&lt;br /&gt;For example, our product &lt;a href=&quot;http://www.qrimp.com&quot;&gt;Qrimp&lt;/a&gt; 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.&lt;br /&gt;&lt;br /&gt;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.  &lt;br /&gt;&lt;br /&gt;&lt;h4&gt;When to use IaaS or PaaS?&lt;/h4&gt;&lt;br /&gt;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.</description><category>Cloud Computing</category><pubDate>Sun, 12 Oct 2008 09:53:00 G10T -05</pubDate><guid>http://www.qrimp.com/blog/blog.The-Difference-between-IaaS-and-PaaS.html</guid></item><item><title>Time Zone Awareness</title><link>http://www.qrimp.com/blog/blog.Time-Zone-Awareness.html</link><description>We recently added Time Zone Awareness to your Qrimp apps, here are a few of the benefits.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Before this past weekend, if you live in China or another time zone outside Central Standard Time, you'd have seen the dates for items created in your Qrimp app appear several hours off.  This has become more of an issue over time, because we've acquited customers all over the world and users from different time zones using the same application.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;Now it does. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;When you log into your Qrimp app the next time, you'll be prompted to set your Time Zone.&lt;/strong&gt;  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.&lt;br /&gt;&lt;br /&gt;If you move your location to another time zone and would like to change it, use the Home &gt; Settings menu.&lt;br /&gt;&lt;br /&gt;</description><category>Features</category><pubDate>Tue, 26 Aug 2008 11:45:00 G8T -05</pubDate><guid>http://www.qrimp.com/blog/blog.Time-Zone-Awareness.html</guid></item><item><title>Another Reason I Love Qrimp</title><link>http://www.qrimp.com/blog/blog.Another-Reason-I-Love-Qrimp.html</link><description>There are many reasons I love Qrimp, but today I was faced with a problem that would have been much more difficult to solve without it.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;A startup record label, &lt;a href=&quot;http://www.youthfulchaos.com&quot;&gt;Youthful Chaos&lt;/a&gt;, came to us a few weeks ago saying they were releasing the debut album for &lt;a href=&quot;http://www.bombazineblack.com/&quot;&gt;Bombazine Black&lt;/a&gt; called &quot;&lt;a href=&quot;http://www.youthfulchaos.com/Youthful_Chaos/Merchandise.html&quot;&gt;Here Their Dreams&lt;/a&gt;.&quot; With traditional site development tools, that would be a really tight time line, but as you can see from the links above, it's already live -- nearly a week ahead of schedule and Youthful Chaos is taking orders now.  The site includes PayPal integration and secure file download, management interfaces, content management and of course the flexibility to add a community, comments, ratings, and more albums in the future.&lt;br /&gt;&lt;br /&gt;Beating tight time lines like this to build such a rich application is reason enough to love Qrimp, but that's not the reason I want to talk about today.&lt;br /&gt;&lt;br /&gt;Today I'm going to talk about a little bug in some custom JavaScript that was causing problems with a couple browsers. Of course cross browser compatibility has always been a real pain.  Solving them meant developing the site in one browser and moving over to another computer to test the changes. This process could take a very long time, especially if that other browser wasn't on site or the bug was happening somewhere inside some source code that has to be recompiled and redeployed to be tested.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Qrimp is 100% browser based so it helps developers solve cross browser issues much faster.&lt;/strong&gt; Instead of going to another machine or browser to test changes, the changes are made using the very browser showing the compatibility problems.  As soon as the test is made, refreshing the buggy page is all that is required to test it.  There's no compiling and no need to redeploy.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Not only does Qrimp reduce the time it takes to get a web application up and running, but it also reduces the amount of time it takes to fix problems that arise later.&lt;/strong&gt; The JavaScript problem on the Youthful Chaos site was fixed in a matter of minutes, not hours.  The whole process of debugging, testing, and fixing the problem was done in a live environment and the change pushed out transparently to the customers.  The site got better for the end user, but the site never went down.&lt;br /&gt;&lt;br /&gt;So to fix this pesky JavaScript bug, I just went to the OSX partition of my MacBook Pro and loaded up the site. Sure enough, the bug was there.  Using only a browser, I investigated, modified the JavaScript and some other deeper components that would have required a code change without Qrimp, saved them, and reloaded the page.  Just took a minute or two.  Bug gone!&lt;br /&gt;&lt;br /&gt;That's just another reason I love Qrimp.  I also love Here Their Dreams, you can buy it on the &lt;a href=&quot;http://www.youthfulchaos.com/Youthful_Chaos/Merchandise.html&quot;&gt;Youthful Chaos site&lt;/a&gt;. The album is $9.99 and you can download the MP3's immediately.</description><category>Qrimp</category><pubDate>Thu, 21 Aug 2008 11:31:00 G8T -05</pubDate><guid>http://www.qrimp.com/blog/blog.Another-Reason-I-Love-Qrimp.html</guid></item><item><title>New Feature - Deployment Manager</title><link>http://www.qrimp.com/blog/blog.New-Feature---Deployment-Manager.html</link><description>Managing remote applications with the Deployment Manager allows you to make edits offline and then upload changes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;The deployment manager allows you to manage multiple applications and then transfer system design information from one to another.  For example, you may run a copy of your Qrimp app on your laptop and make changes to the system and then upload those changes to your production environment on the Internet, without over writing the information in the remote Qrimp App. &lt;br /&gt;&lt;br /&gt;There are a couple neat features with this tool, but first, a screen shot. &lt;a href=&quot;/images/screenshots/deploymentmanagerfullsize.gif&quot;&gt;Click for a full size version&lt;br&gt;&lt;br /&gt;&lt;img src=&quot;/images/screenshots/deploymentmanager.gif&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Easy Application Deployment&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The goal of the deployment manager is to make it easy to make changes in one environment that you can apply to one or more remote environments very easily.  For example, you may be running a task management application for several clients, but you only want to make changes to one application then push those changes out to your client sites on the Internet.&lt;br /&gt;&lt;br /&gt;Using the full deployment option will transfer all data, including settings for your Qrimp app and data in the user tables.  If want to leave the user table data untouched, that is, the data your users have entered into forms and such, then don't check the box. All user accounts, group assignments, attachments, etc will stay as they are in your client's applications or production applications.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Template Applications&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Using the Full deployment checkbox will push out all your data, including user tables and data in them. This will allow you to very quickly create new instances of applications for your clients or various internal departments within the organization.&lt;br /&gt;&lt;br /&gt;For example, many departments might want to use a group Wiki for collaboration.  To keep things simple, all their data is in one Qrimp app and all your deparments get their own setup. Full deploy on your template wiki application is the fastest way to get new departments up and running on their own internal Wiki.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Security&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Only users in the Administrator account are allowed to deploy an application. You must log in to an application as an admin to deploy it and the user/pass you enter in the form must be an admin in the app you are deploying to.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Backing Up the Remote System&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;It's always a good idea in any scenario to make a backup copy of an application before you overwrite it.  To download a full MS SQL Server 2005 compatible database backup of your remote application, simply click the link that will appear as you type in the name of the remote application.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;More help&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;If you need help, just click the link at the bottom of the page.</description><category>Features</category><pubDate>01-Jul-2008</pubDate><guid>http://www.qrimp.com/blog/blog.New-Feature---Deployment-Manager.html</guid></item><item><title>Pack your bags, we're moving to the cloud! (part three)</title><link>http://www.qrimp.com/blog/blog.Pack-your-bags-were-moving-to-the-cloud-part-three.html</link><description>When you're moving to the cloud, testing your apps requires a bit of a different approach, here are some things to think about.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;This is the third and final installment in a series of posts discussing issues to consider when moving to the cloud. &lt;br /&gt;&lt;br /&gt;If you haven't read them already, you may want to start here: &lt;br /&gt;&lt;a href=&quot;blog.Pack-your-bags-were-moving-to-the-cloud-part-one.html&quot;&gt;Pack your bags, we're moving to the cloud! (part one)&lt;/a&gt;&lt;br /&gt;and&lt;br /&gt;&lt;a href=&quot;blog.Pack-your-bags-were-moving-to-the-cloud-part-two.html&quot;&gt;Pack your bags, we're moving to the cloud! (part two)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The next three steps in the move to the cloud are test, test, and test.  Testing is important whether you choose a PaaS or an infrastructure provider.  In the best case scenario you can use automated test tools against your remote url just like your internal apps. You will want to simulate worst case scenarios like your internet goes down or the provider accidentally deletes your data files or crashes.  What is your contingency plan if something like that happens?  Make that situation happen and see if your fail over works appropriately.  These are the same issues you will have with an application in a traditional environment -- they are just a bit more complicated in the cloud because your cloud environment is not totally within your control and identical to your development environment. You will almost certainly have to work with more limitations in the cloud than in a local environment.&lt;br /&gt;&lt;br /&gt;The next type of testing you will want to do is for performance.  Implementing a scaling solution is easier with some clouds than others.  Some solutions scale automatically, some do not. What kind of latency should you expect and can you optimize your code to improve performance?&lt;br /&gt;&lt;br /&gt;This performance testing will also help you better understand your cost to host the system in the cloud.  Every cloud has their own method to determine utilization.  You'll need to understand how your application uses the cloud environment with respect to disk storage, processor utilization, memory, and bandwidth. Because each provider charges a bit differently for each aspect, you will need to understand how your application uses the environment to understand how much it is going to cost you. It's almost impossible to predict the costs without actually testing your application in the cloud and estimates may not be as simple as extrapolating the number of users. Depending on the nature of the application itself, its growth could get out of control quickly.  The Animoto case study is an example.  Is your app a viral candidate?  How will the data grow over time?&lt;br /&gt;&lt;br /&gt;The third type of testing would be for security. The nature of cloud hosting is different from internal apps because there are more security concerns in the cloud. For example, you may not care if anyone within your corporate network can sniff the HTTP packets for an internal phone book application, but moving that into the cloud may require SSL security to prevent hackers from gaining access to your internal contact information and employee lists.  Moving an app like this to the cloud would provide many benefits, including work from home, client and vendor extranets, and the like, but you may need protect the information by limiting access to an IP range or domain, secure files differently, use OpenID, etc.  Your security testing should address all these issues that may be irrelevant when building an application to run internally.&lt;br /&gt;&lt;br /&gt;As I reread this, it sounds like it's a lot more difficult to build cloud apps than internal apps and in some respects it is, but you need to evaluate whether the cost savings from reduced private infrastructure and hardware maintenance outweigh the additional development times, learning curves, and security concerns.  I think in an increasingly large number of circumstances, it makes a good deal of sense to move to the cloud.  The extra concerns and difficulties of the cloud are usually not as significant as the costs to host your own infrastructure, but your mileage may vary.&lt;br /&gt;&lt;br /&gt;I hope this helps clarify some of the issues and things you'll need to consider. How to evaluate decisions based on all the factors is a much more lengthy topic and very dependent on the particular situation.&lt;br /&gt;&lt;br /&gt;</description><category>Cloud Computing</category><pubDate>26-Jun-2008</pubDate><guid>http://www.qrimp.com/blog/blog.Pack-your-bags-were-moving-to-the-cloud-part-three.html</guid></item><item><title>Pack your bags, we're moving to the cloud! (part two)</title><link>http://www.qrimp.com/blog/blog.Pack-your-bags-were-moving-to-the-cloud-part-two.html</link><description>How do you choose a PaaS and what are some issues involved in moving an internal custom app into the cloud?&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;This is part two of three posts about moving to the cloud.  Read &lt;a href=&quot;blog.Pack-your-bags-were-moving-to-the-cloud-part-one.html&quot;&gt;Pack your bags, we're moving to the cloud! (part one)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So how do you evaluate a Platform as a Service?  Some of the questions you should ask when deciding on a PaaS provider are:  &lt;br /&gt;&lt;ul&gt;&lt;li&gt;Is the PaaS standards based or will you have to learn a new language to customize it? &lt;li&gt;Will the system work offline? &lt;li&gt;How much does it cost? &lt;li&gt;What are the licensing issues and do they suit your project?  &lt;li&gt;Does it work with your company's web browser or mobile devices? &lt;li&gt;Can you move it to servers inside your firewall if you need to? &lt;li&gt;Will the customizability of the PaaS suit the needs of your particular problem? &lt;li&gt;What are the security options available? &lt;li&gt;What happens if the Platform runs into a brick wall and you need to move your data to another system? &lt;li&gt;Does the vendor lock you in? &lt;li&gt;Does the platform you are using run on an environment similar to your own systems?  &lt;li&gt;How easy or difficult will it be to integrate the remote platform with your other internal or cloud hosted systems? &lt;li&gt;Does the provider offer an API? &lt;li&gt;Can it ingest data from other providers and systems?  &lt;li&gt;Can you make your internal systems accessible by the external platform for integration, either by push or pull?&lt;/ul&gt;&lt;br /&gt;Of course there are more questions than that, but let's move on to the situation where you have an existing application running inside and want to migrate it to the cloud.  In this scenario you may have a code base that doesn't lend itself easily to simply dropping that application into cloud host. You have to evaluate all the components of your system and find a cloud based infrastructure provider that offers the hardware and software components that will support your system.  &lt;br /&gt;&lt;br /&gt;For example, your system may be written in Java, Rails, or .NET in which case you will need to find a cloud that will accommodate applications built with those languages.  Another consideration is the need for persistent storage and database access. Does your system use MySQL, MS SQL Server or Oracle?  You'll need a provider that offers the database or the mechanism by which you can install it yourself.  &lt;a href=&quot;http://cloudcomputing.qrimp.com&quot;&gt;http://cloudcomputing.qrimp.com&lt;/a&gt; can help you find the particular environment you need.&lt;br /&gt;&lt;br /&gt;Once you have found a suitable provider, you have to understand the migration process.  You will have to move all the bits needed for your application including the database files, static files (images, css, javascript) and also the binaries, either compiled class files, DLLs and scripts that are used to process that data.  You may be able to do this as easily as FTPing the files and going to the url with your browser, but it's more likely you'll need to tailor your application to the cloud provider because of the nature of a resource pooled environment.  Connection strings will change, the names and locations of environment variables may be different, middleware, email, state and session management, caching, process isolation, security issues and others will crop up in places you never expected and really the only way to find them all is just to move the code and start using it in the wild.&lt;br /&gt;&lt;br /&gt;It won't always be easy to find or fix these problems because if you are building and debugging the code on your local computer or network systems, they won't exactly mirror the cloud system so sometimes you will have to make a change locally that will break it in your local system so it will work on the cloud. There are various techniques you can use to determine where your application is running and then do different things based on the environment so it will run in both places. You could use some intrinsic property of the environment like the servername or something foreign like a config file. You may need to discuss these issues with your provider, but they almost certainly will crop up.&lt;br /&gt;&lt;br /&gt;Some things you'll need to think about that you may not have to worry about when running systems internally is how to integrate your cloud application with other systems you are building internally.  These questions are similar to the ones for a PaaS, but in this scenario, you will have to build the web services and APIs yourself and ensure that connectivity exists between the cloud and your internal systems.  This may or may not be a trivial issue.  For example, you may use LDAP to provide authentication to your internal systems, but integrating your cloud app with your internal LDAP may not be an option. so you'll have to roll your own security mechanisms.&lt;br /&gt;&lt;br /&gt;In the next installment I'll talk about some of the testing issues you should consider.  Continue to &lt;a href=&quot;blog.Pack-your-bags-were-moving-to-the-cloud-part-three.html&quot;&gt;Pack your bags, we're moving to the cloud! (part three)&lt;/a&gt;</description><category>Cloud Computing</category><pubDate>26-Jun-2008</pubDate><guid>http://www.qrimp.com/blog/blog.Pack-your-bags-were-moving-to-the-cloud-part-two.html</guid></item><item><title>Pack your bags, we're moving to the cloud! (part one)</title><link>http://www.qrimp.com/blog/blog.Pack-your-bags-were-moving-to-the-cloud-part-one.html</link><description>So it's time to move to the cloud, but where do you start? What do you need to think about?  What questions should you ask and what are your options?&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Note: Most of this is my response to a question posed by Suman Chaudhuri in the Cloud Computing Group.  My intent is to provide a general overview of the topic of moving to the cloud.  If you are new to cloud computing or want to begin to think about how, why, and what you may want to move to the cloud, this series of posts is for you.&lt;br /&gt;&lt;br /&gt;The first question you have to ask when moving an app to the cloud, or using, or building an application in the cloud is, &quot;What kind of application is it?&quot;  This is important, because the type of application will help us determine if it is suitable for the cloud at all.  For example, a large enterprise system that uses many legacy systems, extremely large databases, and/or ultra secure information is on the most expensive end of the migration cost spectrum.  A phone book application is on the cheaper end and may be more appropriate for the cloud.  The phone book end of the spectrum is where you want to start, maybe even something less confidential that you actually want the world to see, like a product catalog.&lt;br /&gt;&lt;br /&gt;When you are deciding on your first application for the cloud, try to pick something where you need to get the information outside your network.  You may have systems like this now that your employees access remotely via VPN or a terminal service like VNC or Citrix, or perhaps customers often call to ask you the status of an order or something like that.  Are there any situations where your employees could work from home or client sites if they could easily access the information they need to do so? What are the risks and consequences of data security compromise? Are they low like with a public product catalog or high like a list of customers' credit cards?  On the cheap/easy end of the spectrum, are small applications that are easy to build, already web enabled or running on a platform that is natively supported by a cloud provider with minimal security concerns.  &lt;br /&gt;&lt;br /&gt;To wade into the cloud, you might want to start with a suitable packaged application currently offered as SaaS.  In this case, you merely need to subscribe to the service and get your data into it. How do you do that?  A lot of SaaS products have import capabilities. You can upload data in spreadsheets, tab or comma delimited files, XML and other formats that are supported by the vendor.  You'll have to get your data, if you have any already, into one of the supported formats first, which may or may not be a trivial process. If you don't have data, just pay the fees or fill out the account request form and start using the application. The next step would be to consider training the part of your organization that will be using this system -- just like any other application.&lt;br /&gt;&lt;br /&gt;So what if there is no packaged SaaS available to suit your needs?  In this scenario you are going to need to do some customization of an existing system.  There are lots of web-based platforms that will let you completely customize a web application to meet your needs. I'll plug my company's &lt;a href=&quot;http://www.qrimp.com&quot;&gt;platform as a service&lt;/a&gt; called the Qrimp Platform.&lt;br /&gt;&lt;br /&gt;What are platforms as a service?  If you look at the application development trend over time, the tools used to build applications eventually move into the target application environment itself.  For example, when we started solving programs with computers, we used punch cards to tell computers to print out code words that were the answers to our questions.  Then we used code words (Assembly Language) to tell computers how to make long words.  When C and Fortran arrived, we could use longer words to build systems and then C++ modelled the objects in the real world and allowed us to build graphical window based event driven programs. Next came the IDE's like PowerBuilder, Visual Studio, and Eclipse that were themselves graphical window based systems.  Today, for the most part, those IDE's are used to build web applications and the very latest development in this trend are the platforms which have moved web application development itself into that target web environment.  You could consider these platforms the next step in the evolution of application development. &lt;br /&gt;&lt;br /&gt;To get started using a Platform as a Service, think of it as a traditional custom development project, except instead of using tools that exist on your local computer to build the application and then move it into the cloud, you use your web browser to go to a website that lets you build and customize your application in the cloud already.   I would suggest using a PaaS is the easiest way to get started with custom apps in the cloud because you don't have to think about the underlying infrastructure, which I will get to in the next post that begins with some questions you should ask when selecting a platform vendor.  &lt;br /&gt;&lt;br /&gt;Continue to &lt;a href=&quot;blog.Pack-your-bags-were-moving-to-the-cloud-part-two.html&quot;&gt;Pack your bags, we're moving to the cloud! (part two)&lt;/a&gt; ...&lt;br /&gt;</description><category>Cloud Computing</category><pubDate>26-Jun-2008</pubDate><guid>http://www.qrimp.com/blog/blog.Pack-your-bags-were-moving-to-the-cloud-part-one.html</guid></item><item><title>Sharing Information with Remote Websites</title><link>http://www.qrimp.com/blog/blog.Sharing-Information-with-Remote-Websites.html</link><description>It's now easier than ever to share any information in your Qrimp applications on remote websites with a simple JavaScript Url.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;This is just a quick demonstration I put together that will show you how easy it is to share your data across the web.  With this cool tool, you can allow anyone to access your content for syndication with your affiliates and partners or even just your blog posts like in this video.&lt;br /&gt;&lt;br /&gt;We've decided to use the &lt;a href=&quot;http://groups.google.com/group/open-share-icon-project&quot;&gt;&lt;img src=&quot;/icons/crystal_project/32x32/actions/openshare.png&quot; align=absmiddle&gt; Open Share Icon&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It's a really nice icon.  Much thanks to the group for putting that icon together for the community and we are proud to endorse it.&lt;br /&gt;&lt;br /&gt;&lt;object id=&quot;csSWF&quot; classid=&quot;clsid:d27cdb6e-ae6d-11cf-96b8-444553540000&quot; width=&quot;649&quot; height=&quot;593&quot; codebase=&quot;http://active.macromedia.com/flash7/cabs/ swflash.cab#version=9,0,28,0&quot;&gt;&lt;param name=&quot;src&quot; value=&quot;http://www.qrimp.com/blog/2008-06-27_0508.swf&quot;/&gt;&lt;param name=&quot;bgcolor&quot; value=&quot;#1a1a1a&quot;/&gt;&lt;param name=&quot;quality&quot; value=&quot;best&quot;/&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;/&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;/&gt;&lt;param name=&quot;scale&quot; value=&quot;showall&quot;/&gt;&lt;param name=&quot;flashVars&quot; value=&quot;autostart=false&quot;/&gt;&lt;embed name=&quot;csSWF&quot; src=&quot;http://www.qrimp.com/blog/2008-06-27_0508.swf&quot; width=&quot;649&quot; height=&quot;593&quot; bgcolor=&quot;#1a1a1a&quot; quality=&quot;best&quot; allowScriptAccess=&quot;always&quot; allowFullScreen=&quot;true&quot; scale=&quot;showall&quot; flashVars=&quot;autostart=false&quot; pluginspage=&quot;http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash&quot;&gt;&lt;/embed&gt;&lt;/object&gt;</description><category>Features</category><pubDate>26-Jun-2008</pubDate><guid>http://www.qrimp.com/blog/blog.Sharing-Information-with-Remote-Websites.html</guid></item><item><title>Installable Qrimp</title><link>http://www.qrimp.com/blog/blog.Installable-Qrimp.html</link><description>A glimpse at the configuration process for Qrimp.  Quite painless.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;If you'd like to download Qrimp for your local machine or a server behind your firewall, you'll run through the configuration process, so I put together a demonstration of that process to guide you through it.   &lt;br /&gt;&lt;strong&gt;&lt;br /&gt;&lt;a href=&quot;/attachments/3ec3f633-07f5-4671-a4e6-236c78d8f3af/installation.html&quot;&gt;View the Qrimp Configuration Demonstration.&lt;/a&gt;&lt;br /&gt;&lt;/strong&gt;</description><category>Releases</category><pubDate>19-Jun-2008</pubDate><guid>http://www.qrimp.com/blog/blog.Installable-Qrimp.html</guid></item><item><title>Feature - Automatic Sitemaps for Qrimp Apps</title><link>http://www.qrimp.com/blog/blog.Feature---Automatic-Sitemaps-for-Qrimp-Apps.html</link><description>Keep your sites plugged into the web with automatic sitemap generation for all your public content.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Now Qrimp automatically builds XML site maps for your sites.  To do this, we have added a few new items to your sites. Additionally, Qrimp will automatically display a robots.txt file to let crawlers know about your site map.  If you would like to override this default robots.txt, add a &lt;a href=&quot;http://developer.qrimp.com/helptopics/clean+urls/11&quot;&gt;url map&lt;/a&gt; to an attachment that contains your desired robots.txt settings.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;What have we added?&lt;/h4&gt;  First, we created a new query that returns the list of tables in your site that are visible to anonymous users. You can modify this query if you would like to share more of your site with the search bots.  The Query is called &quot;SiteMapIndex&quot; and you can see it by visiting Develop &gt; Query Designer, then selecting SiteMapIndex in the Query list.&lt;br /&gt;&lt;br /&gt;Second, we added two new views, one for the SiteMapIndex and one for the SiteMap. Qrimp will build one sitemap index with individual sitemaps for each table in your system.  This will allow for a more scalable sitemap system and ensure that more records in your tables are available for indexing.  The current limit of urls per sitemap is 50,000, so that's the most we include.&lt;br /&gt;&lt;br /&gt;You can modify either of these views.  You may want to modify the SiteMap view to link directly to a particular view for the detail items.  We have linked them to view 11, but you may have another standard view for your items.  The system is customizable like other parts of Qrimp. You may want to tailor it to your specific needs.&lt;br /&gt;&lt;br /&gt;For more information, read about &lt;a href=http://www.sitemaps.org/&gt;Sitemaps&lt;/a&gt; and &lt;a href=&quot;http://www.robotstxt.org/&quot;&gt;robots.txt&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Google Webmaster Tools&lt;/h4&gt;You may want to use &lt;a href=&quot;https://www.google.com/webmasters/tools/dashboard&quot;&gt;Google Webmaster Tools&lt;/a&gt; to verify that your sitemaps are working as planned.  To do this, add a site to your dashboard and then verify it. To verify your site, you should choose the option to upload an html file.  Google will give you the name of the file to upload.  Copy the name and then &lt;a href=&quot;http://developer.qrimp.com/helptopics/clean+urls/11&quot;&gt;create a Clean Url&lt;/a&gt; to this filename. Map it to the dirty url &quot;portal.aspx&quot; without the quotes.  It doesn't really matter which file you map it to as long as Google doesn't get a 404 error when attempting to retrieve the page.&lt;br /&gt;&lt;br /&gt;Once you have verified your site, you can use all the standard Google Webmaster Tools to control access to your site, set crawl rates, and more.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Benefits&lt;/h4&gt;Automatically generating sitemaps improves visibility for your sites by better instructing search engines and other web crawlers how to crawl your pages.  Typically, entering your site from the default url will take the crawler to the portal. JavaScript and URLs with &amp; and ? can confuse some crawlers.  The Sitemaps feature alleviates many of these issues and your site's pages should appear more easily in the search engines.</description><category>Features</category><pubDate>16-Jun-2008</pubDate><guid>http://www.qrimp.com/blog/blog.Feature---Automatic-Sitemaps-for-Qrimp-Apps.html</guid></item><item><title>New Feature - Clean URLs</title><link>http://www.qrimp.com/blog/blog.New-Feature---Clean-URLs.html</link><description>What you've all been waiting for: Clean Urls.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Yes, yes... they've been a long time coming.  We know, but here they are.  You can now share clean URLs for your data.  &lt;br /&gt;&lt;br /&gt;&lt;h4&gt;How They Work&lt;/h4&gt;&lt;br /&gt;When you have a url that looks like this:&lt;br /&gt;&lt;a href=&quot;http://demo.qrimp.com/db.aspx?t=Oscars&quot;&gt;http://demo.qrimp.com/db.aspx?t=Oscars&lt;/a&gt;&lt;br /&gt;You can now reference it like this:&lt;br /&gt;&lt;a href=&quot;http://demo.qrimp.com/Oscars&quot;&gt;http://demo.qrimp.com/Oscars&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Isn't that nice?  Now, say you want to reference the detail view for a particular record in your table like this link to American Gangster:&lt;br /&gt;&lt;a href=&quot;http://demo.qrimp.com/db.aspx?t=Oscars&amp;id=3&amp;vid=11&quot;&gt;http://demo.qrimp.com/db.aspx?t=Oscars&amp;id=3&amp;vid=11&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You could get there like this:&lt;br /&gt;&lt;a href=&quot;http://demo.qrimp.com/Oscars/American+Gangster/11&quot;&gt;http://demo.qrimp.com/Oscars/American+Gangster/11&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The order of the /'s goes like this:&lt;br /&gt;http://yourservername/tablename/itemname/viewname&lt;br /&gt;&lt;br /&gt;The itemname and viewname can be replaced with the ID for the entry as well.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Custom URL Mapper Module&lt;/h4&gt;To make it even better, we've added a new module called &quot;Clean URL Mapper&quot;.  If you add this module to your application, you will have a new system table that will allow you to map any &quot;DirtyUrl&quot; to any &quot;CleanUrl.&quot;  After you add the module, the Clean Url Mapper menu will appear below the Design menu.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;More Information&lt;/h4&gt;You can read more in our &lt;a href=&quot;http://developer.qrimp.com/HelpTopics&quot;&gt;Help Topics&lt;/a&gt;, specifically the entry for &lt;a href=&quot;http://developer.qrimp.com/HelpTopics/CleanUrls&quot;&gt;Clean URLs&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;br /&gt;&lt;br /&gt;</description><category>Features</category><pubDate>11-Jun-2008</pubDate><guid>http://www.qrimp.com/blog/blog.New-Feature---Clean-URLs.html</guid></item><item><title>Cloud Computing and the Hype Cycle</title><link>http://www.qrimp.com/blog/blog.Cloud-Computing-and-the-Hype-Cycle.html</link><description>We are about 6 months into the hype cycle, with a lot left to go. What will the industry be feeling over the coming months and years?&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;There was an article today at ComputerWeekly, called &quot;&lt;a href=&quot;http://www.computerweekly.com/Articles/2008/06/02/230894/the-end-of-the-it-department-is-it-in-the-cloud.htm&quot;&gt;The end of the IT Department, is it in the cloud?&lt;/a&gt;&quot;  In it, Tom Austin of Gartner says he expects uptake of cloud services to increase dramatically by 2013.  If it is true that the &lt;a href=&quot;http://en.wikipedia.org/wiki/Hype_cycle&quot;&gt;hype-cycle&lt;/a&gt; is &lt;a href=&quot;http://groups.google.ca/group/cloud-computing/browse_frm/thread/5b9802b1438b9529/e744fb71e2e1fc43?lnk=gst&amp;q=hype+cycle#e744fb71e2e1fc43&quot;&gt;cresting&lt;/a&gt;, there will be 5 years of trough, which is unlikely.  We haven't really gotten started with cloud computing and there is a lot of hype left to be generated. &lt;br /&gt;&lt;br /&gt;There was a lot more hype around Web 2.0 in my opinion and cloud computing has a lot more substance. Austin agrees saying, cloud computing is &quot;probably the single biggest magnitude wave of change that we've ever seen.&quot;  The situation now though, is that those on the edge of IT are getting tired of hype in general. It started with the dot com boom, then Web 2.0, Social Networking, and now there are a lot more skeptics out there.  Anything getting buzz in the industry is going to get a lot more scrutiny as well -- and faster.&lt;br /&gt;&lt;br /&gt;There are a lot of parallels between the hype around Web 2.0, Social Networking, and Cloud Computing, but the significant difference is that cloud computing is more difficult for the consumer to understand, because few of them interact directly with cloud computing services.  For them, cloud computing is mostly behind the scenes.  They use and interact with Web 2.0 websites and social networks, but they know little of the infrastructure behind the systems.  For that single reason, the buzz will not reach such dramatic levels as Web 2.0.  Still though, &quot;cloud computing&quot; only really got started at the end of 2007, it is  premature to be suggesting we've reached the crest of the wave. &lt;br /&gt;&lt;br /&gt;We have yet to really understand what cloud computing is and all the benefits it will offer society. Most conversations about the topic outside conferences are still trying to explain exactly what cloud computing is. Until we understand what it is, how can we comprehend the magnitude of the influence?  You could say we don't understand it enough and therefore expect too much, but the opposite is true.&lt;br /&gt;&lt;br /&gt;</description><category>The Web</category><pubDate>02-Jun-2008</pubDate><guid>http://www.qrimp.com/blog/blog.Cloud-Computing-and-the-Hype-Cycle.html</guid></item><item><title>New Features - Widgets, Movable Buttons, and Query Security</title><link>http://www.qrimp.com/blog/blog.New-Features---Widgets-Movable-Buttons-and-Query-Security.html</link><description>We released a few new features recently, here's the scoop.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;strong&gt;Query Security&lt;/strong&gt;&lt;br /&gt;In the &lt;a href=&quot;http://www.qrimp.com/blog/blog.Three-Great-New-Features-Interfaces-Query-Builder-Excel-File-Import.html&quot;&gt;last feature update&lt;/a&gt; we allowed you to &lt;strong&gt;create new queries&lt;/strong&gt;.  Well, now you can limit access to those queries by user group.  This will allow you to create custom queries for your anonymous users even if you don't want to grant them access to the underlying tables.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Widgets&lt;/strong&gt;&lt;br /&gt;Widgets are objects you can embed in your headers, footers, and views. They are snippets of text that you can add to different areas of the site.  For example, you can create a widget that will allow you to add a 5-star rating to items in any table.  You can add a comment form, a Web 2.0 map from &lt;a href=&quot;http://maps.google.com&quot;&gt;Google&lt;/a&gt;, &lt;a href=&quot;http://maps.yahoo.com&quot;&gt;Yahoo&lt;/a&gt;, or &lt;a href=&quot;http://maps.live.com/&quot;&gt;Live Maps&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;If you have a cool widget you'd like to share, &lt;a href=&quot;/contact.html&quot;&gt;let us know&lt;/a&gt;.  &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Movable Buttons&lt;/strong&gt;&lt;br /&gt;By popular demand, you can now move the buttons around on your forms.  By default, they will appear at the bottom of the form, instead of the right hand side of the page.  We agree with those of you who said this is more intuitive. Thank you for the suggestion!  We hope you like the change.&lt;br /&gt;&lt;br /&gt;</description><category>Features</category><pubDate>22-May-2008</pubDate><guid>http://www.qrimp.com/blog/blog.New-Features---Widgets-Movable-Buttons-and-Query-Security.html</guid></item><item><title>More on the Future of Cloud Computing</title><link>http://www.qrimp.com/blog/blog.More-on-the-Future-of-Cloud-Computing.html</link><description>Geoffrey Fox asked the Cloud Computing Group if Grid Economies would evolve in the cloud computing space.  Here are my thoughts on that.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;I originally posted this to the &lt;a href=&quot;http://groups.google.ca/group/cloud-computing/browse_thread/thread/ec24fd9b9af7e263&quot;&gt;Cloud Economies and Standards&lt;/a&gt; thread, but I'm adding it here as well. Here's a &lt;a href=&quot;http://www.gridbus.org/papers/ieee-grideconomy.pdf&quot;&gt;PDF on Grid Economies&lt;/a&gt; with a lot of information about the topic.  On with my response...&lt;br /&gt;&lt;br /&gt;For standards, I think either a committee will sprout up to manage protocols (better) or the leading supplier will become the de-facto standard (more likely). Boutique providers will distinguish themselves from the pack with support, proximity, price and environmental friendliness among others, which I'll mention later.&lt;br /&gt;&lt;br /&gt;As cloud services approach commodity status, they will all have up-time of five nines, about the same performance, network hops, etc, so then price will be a distinguishing factor. Because consumers want a standard pricing metric for commodity products we will likely see grid economies evolving.&lt;br /&gt;&lt;br /&gt;Right now pricing is varied and complicated.  Amazon's pricing structure is based on server capacity, MediaTemple uses a GPU and Mosso uses requests. As customers already find these pricing schemes too unpredictable, we will start to see tools arrive to help us calculate our application demands in Grid Units. These &quot;Grid Units&quot; could be based on process scheduling priority, processor and network utilization, disk space, memory, etc. &quot;Your application consumes 14 Grid Units.&quot; Multiply 14 by the vendor price per Grid Unit and you know what you'll be paying before you move to any particular cloud. That's an oversimplification, but I think the vendors who provide this kind of predictability will win out.&lt;br /&gt;&lt;br /&gt;With thousands of customers using the same cloud, eventually demand will outstrip supply and affluent consumers will pay more for quicker apps.  I think here, we will see competing vendors catering to different customers by offering different resource management mechanisms.  Some customers will want to bid for scheduling priority, others will want to pay a higher fixed rate for higher priority processing.  There are lots of algorithms and I don't know which ones customers or vendors will prefer.  It is fairly certain though that vendors will not leave revenue on the table when some customers will pay more than others.&lt;br /&gt;&lt;br /&gt;Back to standards, I think suppliers using proprietary APIs will present a barrier to service adoption. &quot;Will I have to rewrite my code to work with your storage solution?&quot; If the answer is yes, forget it. When electricity was deregulated, customers could switch their providers to save money or buy greener power, but if they had to rewire their homes or buy new devices -- no one would.  ISVs are going to build cloudable products and they'll want to write them once and let the customer choose and pay for the cloud services independently.</description><category>Cloud Computing</category><pubDate>10-May-2008</pubDate><guid>http://www.qrimp.com/blog/blog.More-on-the-Future-of-Cloud-Computing.html</guid></item><item><title>Mosso CloudFS</title><link>http://www.qrimp.com/blog/blog.Mosso-CloudFS.html</link><description>Today, Mosso announced a cloud storage service to compliment their cloud computing service. Existing Mosso customers can consolidate cloud providers and save money on bandwidth compared to Amazon S3.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Cloud computing is &lt;i&gt;the&lt;/i&gt; hot topic in the computing space today. For nearly two years now, Mosso has been providing compute cloud services on the LAMP stack and Microsoft .NET, but accounts are now limited to 50GB of disk space without incurring overage fees.  Each gig over costs $0.50.  &lt;b&gt;Compare this to &lt;a href=&quot;http://www.businesswire.com/portal/site/google/?ndmViewId=news_view&amp;newsId=20080505005546&amp;newsLang=en&quot;&gt;Mosso's new cloud storage offering at $0.15 per GB&lt;/a&gt;.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.mosso.com/cloudfs&quot;&gt;&lt;img src=&quot;/images/mossocloudfs.png&quot; align=right&gt;&lt;/a&gt;The Cloud Storage service is priced to compete with Amazon's S3, which Qrimp currently uses for database backups.  We abstracted the remote storage calls, so I suspect it will be &lt;b&gt;a trivial matter to convert from S3 to Mosso&lt;/b&gt;.  I signed up for the early beta, I'll blog more about that as I use the service. You can sign up for the &lt;b&gt;&lt;a href=&quot;http://www.mosso.com/cloudfs/&quot;&gt;free pre-release beta here&lt;/a&gt;&lt;/b&gt;. John Engates also has a post in the &lt;a href=&quot;http://blog.racklabs.com/&quot;&gt;Racklabs Blog&lt;/a&gt; talking about &lt;a href=&quot;http://blog.racklabs.com/?p=77&quot;&gt;the process of building the Cloud Storage system&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The thing that really interests me about the service is &lt;b&gt;now Qrimp can consolidate our service providers&lt;/b&gt;.  Mosso provides our database and compute cloud services, but backing up to S3 requires managing multiple vendors. Being on the .NET platform, we can't easily use Amazon EC2, so the logical answer is to move file storage to Mosso's Cloud.&lt;br /&gt;&lt;br /&gt;I can't wait to use this new service. &lt;a class=&quot;small&quot; title=&quot;Subscribe to RSS Feed&quot; href=&quot;http://www.qrimp.com/db.aspx?t=blog&amp;vid=blogrss&amp;noheader=true&amp;nofooter=true&amp;orderby=1,1&quot; type=&quot;application/rss+xml&quot;&gt;&lt;img width=&quot;16&quot; height=&quot;16&quot; align=&quot;absmiddle&quot; src=&quot;/icons/crystal_project/16x16/apps/konqsidebar_news.png&quot;/&gt; Subscribe to the Qrimp Blog&lt;/a&gt; and I'll keep you updated.  I plan to post some code samples for others who are on S3, but would like to migrate to CloudFS.</description><category>The Web</category><pubDate>05-May-2008</pubDate><guid>http://www.qrimp.com/blog/blog.Mosso-CloudFS.html</guid></item><item><title>The Open Cloud -- the future of cloud computing</title><link>http://www.qrimp.com/blog/blog.The-Open-Cloud----the-future-of-cloud-computing.html</link><description>Cloud computing is all the rage, but should we stake our futures in it?  Where is it going tomorrow?&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;A quick note before I get started.  I've been working on a public database for the cloud computing community called the &lt;a href=&quot;http://cloudcomputing.qrimp.com&quot;&gt;Cloud Portal&lt;/a&gt;.  The full url is &lt;a href=&quot;http://cloudcomputing.qrimp.com&quot;&gt;http://cloudcomputing.qrimp.com&lt;/a&gt;.  Anyone can add and edit data, like Wikipedia, except it is a fully relational database, which provides a little more power.&lt;br /&gt;&lt;br /&gt;While putting the site together, I came across a panel discussion called &lt;b&gt;&lt;a href=&quot;http://cloudcomputing.qrimp.com/db.aspx?t=videos&amp;id=2&amp;vid=VideoDetails&quot;&gt;Cloud Computing -- What's next?&lt;/a&gt;&lt;/b&gt;. Listening to the panel, I was overcome by this vision of the future racing forward faster and faster.  Humans are about to be displaced by the technology they are creating.  The &lt;a href=&quot;http://en.wikipedia.org/wiki/Technological_singularity&quot;&gt;singularity is inevitable&lt;/a&gt;, but what about the more immediate future?&lt;br /&gt;&lt;br /&gt;Cloud Computing is still very new.  There are no standards in place.  Each vendor is competing for customers and will do what they can to lock them in. But we still want to &lt;a href=&quot;http://en.wikipedia.org/wiki/Write_once,_run_anywhere&quot;&gt;write once, run anywhere&lt;/a&gt;.  Proof:  It was only a matter of days until &lt;a href=&quot;http://waxy.org/2008/04/exclusive_google_app_engine_ported_to_amazons_ec2/&quot;&gt;someone ported Google App Engine apps to Amazon EC2&lt;/a&gt;.  But the solution isn't perfect.  A lot of performance will be lost with the big flat files.  &lt;b&gt;Big Table might be great -- but you don't have one&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;Eventually we are going to have to slow down and think about the problem abstractly. What is an application?  What is a grid? How do we solve this problem so we can move forward as a team to solve the problem of information?  Imagine if we hadn't standardized electricity. If you travel outside the country, you know what a pain it can be to work with electronics in different environments.&lt;br /&gt;&lt;br /&gt;In Cloud Computing, also known as &quot;Utility Computing,&quot; the issues are the same, so standardization is inevitable. This community won't stand for anything less.  Recently we developed Open Social for social networks.  &lt;b&gt;The future of cloud computing is The Open Cloud.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Ask yourself, how are application vendors going to write software to run equally well on a laptop or a giant cloud?  The consumer &lt;i&gt;will&lt;/i&gt; want this.  Not everyone is comfortable putting their data on someone else's servers.  I believe in many cases it is actually safer there, but &lt;a href=&quot;http://money.cnn.com/2008/03/27/pf/big_idea.moneymag/index.htm&quot;&gt;consumers don't make purchasing decisions rationally&lt;/a&gt;.  As a vendor, you can make the choice to write software customized to Google's App Engine or Amazon EC2, but you may find that the market for the product wasn't as big as you imagined when you started.  What do you do then? &lt;br /&gt;&lt;br /&gt;What happens when computing power in the cloud becomes less of a performance advantage compared to the local machine? This will happen and it isn't far away.  &lt;a href=&quot;http://en.wikipedia.org/wiki/Quantum_computer&quot;&gt;Quantum Computing is on the horizon&lt;/a&gt; and &lt;a href=&quot;http://www.bit-tech.net/news/2007/12/07/3d_cpus_to_speed_computing/1&quot;&gt;3D CPUs are being commercialized today&lt;/a&gt;. When these components make their way to the desktop, the performance bottleneck will be the network.  In this scenario, grid computing becomes much less palatable.&lt;br /&gt;&lt;br /&gt;We need a standard to which computing platform vendors can build clouds on which applications can seamlessly transition to the laptop, PDA or cellphone.  People don't want to be tethered to the cloud. They want to work off-line. They want to be mobile.  They don't want to be locked in to anything. Keep all doors open. If I want to run my application on my own server, that's what I want and increasingly, vendors who enable their customers to have the freedom to do just this will win out.&lt;br /&gt;&lt;br /&gt;When asking, &lt;a href=&quot;http://www.longtail.com/the_long_tail/2008/04/seth-godin-asks.html&quot;&gt;Should human-powered search abandon the Long Tail?&lt;/a&gt;, Seth Godin points out that, &quot;Every abundance creates a new scarcity.&quot;  In this recent rush to Cloud Computing, the scarcity will shift to those software vendors who allow their customers to escape the cloud.  &lt;b&gt;The future of cloud computing will create a market for technology that doesn't limit itself to the cloud.&lt;/b&gt; Those vendors will be sought for by a large market.&lt;br /&gt;&lt;br /&gt;To have a future, software vendors must be extremely critical of Cloud Vendors with lock in. How much of your code will you have to rewrite if your vendor goes out of business before you do? As Cloud Computing approaches commodity computing, the margins will shrink, the complexities will be resolved, vendors will consolidate and your platform may cease to exist.  How quickly can you transition from one provider to another in this scenario?  &lt;br /&gt;&lt;br /&gt;Do you have a contingency plan?  Don't leave your customers stranded.</description><category>Cloud Computing</category><pubDate>02-May-2008</pubDate><guid>http://www.qrimp.com/blog/blog.The-Open-Cloud----the-future-of-cloud-computing.html</guid></item><item><title>Robotic Assimilation - A vision of the future</title><link>http://www.qrimp.com/blog/blog.Robotic-Assimilation---A-vision-of-the-future.html</link><description>Robots will be our helpers, navigating our world providing assistance, and integrating information, but how?&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;As I drove through the neighborhood, screeching tires drew my eyes to a child tumbling off the hood of a shiny new sports car.  I called 911 and the robots arrived just a minute later to assess the situation. The paramedics were on the way and wanted to know what they'd be facing when they got to the scene. They connect by WIFI to robots to see what they see, hear what they hear, and ask them questions to assess the situation.&lt;br /&gt;&lt;br /&gt;The robotic sentries are a real convenience of the future.  They cut crime with their watchful eyes.  They relay important information about tragedies like the car accident to the experts miles away.  These robots will be preprogrammed for particular scenarios so they will be able to provide assistance to humans and identify critical information.  Eventually they will replace the paramedics all together. We already have &lt;a href=&quot;http://en.wikipedia.org/wiki/Robotic_surgery&quot;&gt;robotic surgeons&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;But what happens if the robot encounters a scenario that doesn't match any of its preprogrammed scenarios? The robots will be quite intelligent in the sense that they are full of existing information, but it will also be important to process information that didn't exist before the robot. How are the robots going to accumulate and integrate new information into their existing database of knowledge?  Once acquired, how are they going to communicate unknown concepts to humans and other robots?&lt;br /&gt;&lt;br /&gt;This is one of the issues being addressed by the &lt;a href=&quot;http://en.wikipedia.org/wiki/Semantic_Web&quot;&gt;Semantic Web&lt;/a&gt; and the problem there is a difficult one. It is much easier though, than our real world example where robots run around the world.  On the Semantic Web, humans are categorizing information into ontologies that will help the robots ingest and utilize information more effectively.  But these ontologies don't exist in the real world.  How will a robot tree surgeon know if a particular tree is &lt;a href=&quot;http://en.wikipedia.org/wiki/Deciduous&quot;&gt;deciduous&lt;/a&gt; or &lt;a href=&quot;http://en.wikipedia.org/wiki/Evergreen&quot;&gt;evergreen&lt;/a&gt;? How will it know a particular plant is a tree at all or be able to identify if a tree is jeopardizing power lines?&lt;br /&gt;&lt;br /&gt;The information behind these questions can be stored in a relational database. There may be a table for trees with common names, descriptions,  family, genus, and species. Perhaps an image for visual identification.  But this database will never be complete. &lt;a href=&quot;http://www.azcentral.com/arizonarepublic/viewpoints/articles/0420vip-wheeler20.html&quot;&gt;Scientists discover 50 new species every day.&lt;/a&gt; Robots will too.  Robots will discover new concepts more frequently than humans by orders of magnitude.  How are they going to store and categorize that information, share it with other robots and humans, build reports analyze and use it to make the world better?&lt;br /&gt;&lt;br /&gt;Humans do this as we mature.  We learn something new every day, right?  As we learn new languages, eventually we are able to ask questions about new things or abstract concepts using our vocabulary of smaller or more familiar words.  There is a certain minimum vocabulary needed to bootstrap -- &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1167162&amp;dl=&amp;coll=&quot;&gt;apparently it's around 3000-4000 words&lt;/a&gt;.  This isn't the best analogy, because many of the words are translations into a familiar language and they both describe the same world. Learning a new language requires finding new words to match words we may already know, where our robots are encountering totally new information that doesn't exist in any information set they know.&lt;br /&gt;&lt;br /&gt;What then, is the minimum corpus of knowledge necessary for a robot to exist independently? The world around us is more than just words, it's behaviors, physical laws, and mathematics.  Interacting with humans compounds the complexity. Each one is unique. How much will a robot need to know about a person to evaluate benevolence or malice?&lt;br /&gt;&lt;br /&gt;In the information world around us, humans have hand built thousands of data warehouses, many of them in robots already, but to be successful, our robots will have to do it themselves in an automated fashion. A robot won't have time to ask a human, &quot;How do I model my information?&quot;  People are too slow.  Instead, robots will examine the world and derive properties of objects for fields in a table. They'll build data models and construct relationships.  They'll put nice interfaces on the information so they can communicate it to humans. It's from this data in context that meaning will show itself.&lt;br /&gt;&lt;br /&gt;Qrimp is an ancient ancestor of these robots.  While Qrimp can't understand meaning in the spreadsheets you give it -- not yet, it &lt;i&gt;can&lt;/i&gt; present it to you in ways that will help you get a better understanding of it. It can automatically find relationships in your data and build data models and reports for you. This is one step in the process.  We still have a long way to go.  It will be an interesting journey.</description><category>Personal</category><pubDate>30-Apr-2008</pubDate><guid>http://www.qrimp.com/blog/blog.Robotic-Assimilation---A-vision-of-the-future.html</guid></item><item><title>The difference between Web Hosting and Cloud Computing</title><link>http://www.qrimp.com/blog/blog.The-difference-between-Web-Hosting-and-Cloud-Computing.html</link><description>What exactly is the difference between hosting and cloud computing?  Aren't they the same?  No.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Gordon Haff's post on &lt;a href=&quot;http://www.illuminata.com/perspectives/?p=467&quot;&gt;The New Hosting Provider?&lt;/a&gt; over at Illuminata made me realize the differences between cloud computing and web hosting aren't exactly clear.  Where do all these things fit? Who needs what?  He mentions simple services like Blogger being more attractive to the novices, but cloud computing isn't about solving a specific software problem, like building a blog.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What is Cloud Computing?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Remember the old days when mainframes were really expensive, so companies that needed a lot of computing power would &lt;a href=&quot;http://en.wikipedia.org/wiki/Computer_multitasking#Preemptive_multitasking.2Ftime-sharing&quot;&gt;time share&lt;/a&gt; Crays? Cloud computing is like that. Cloud Computing is hardware, a lot of hardware, in a data center, somewhere, that is shared by many users.  Users of the cloud, like time sharers of Crays, are given as much computing power as they need -- when they need it.&lt;br /&gt;&lt;br /&gt;This differs from typical Web Hosting, because web hosting gives you a fixed server or a portion of a single server, where cloud computing gives you the benefit of many servers all working together as one. Your particular website or application may only need one small portion of a single server, so there's no need to get a dedicated server. Those servers sit on, consuming power and space even if it isn't needed.&lt;br /&gt;&lt;br /&gt;Where cloud computing really offers benefits is when a website or application gets hit with a lot of traffic in a very short amount of time.  This is also known as &quot;&lt;a href=&quot;http://en.wikipedia.org/wiki/Slashdot_effect&quot;&gt;slash-dotted&lt;/a&gt;&quot; or &quot;&lt;a href=&quot;http://www.ndesign-studio.com/blog/updates/the-digg-effect/&quot;&gt;the digg effect&lt;/a&gt;.&quot;  As you can see from those links, on a regular web host, you'd be toast.  This very thing happened to &lt;a href=&quot;http://http://www.johnmwillis.com/&quot;&gt;John M. Willis&lt;/a&gt; recently, but Mosso, a cloud computing provider, &lt;a href=&quot;http://www.johnmwillis.com/cloud-computing/mosso-saves-my-bacon/&quot;&gt;saved his bacon&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This is because Mosso has additional capacity, beyond a single server, to serve his blog. If the hits come in a massive wave, The Cloud automatically distributes the load to multiple servers.  When the hits subside, John's blog is taken off those additional servers, freeing up computing space for other blogs and sites like Qrimp.&lt;br /&gt;&lt;br /&gt;Scaling a site is not a trivial problem.  Difficulties lie at all levels of the stack and working out the kinks becomes exponentially more difficult as you add servers to the farm. You have to build a high performance network for all the servers and then you have to make sure those servers can communicate with each other effectively. On top of that is the software that has to properly use data caching and optimized code. The industry is so diverse that there are experts at every level -- and they are expensive -- the good ones anyway.&lt;br /&gt;&lt;br /&gt;The good news is that end users don't have to worry about it anymore.  Those end users include developers as well.  The less people have to worry about, the more productive they can be and the better they are able to solve particular problems.  Mosso solves Qrimp's hardware problem, Qrimp can then focus on and solve the software optimization and interface problems, and our customers can focus on their business problems and how they are going to solve them with databases and web applications.&lt;br /&gt;&lt;br /&gt;With typical web hosting, the end user, the builder of the website still has to solve the problems at every layer of the application.  Of course scaling a site only becomes a problem if it is popular and at that point, like Kyle says, &lt;a href=&quot;http://warpspire.com/tipsresources/programming/scaling-is-for-nerds/#comment-101215&quot;&gt;you can bring in the nerds&lt;/a&gt;, but you also have to pay for their dedicated services all by yourself.  The advantage of Cloud Computing, is that you pay for the hosting and you get the Scalability Nerds' expertise included.</description><category>The Web</category><pubDate>24-Apr-2008</pubDate><guid>http://www.qrimp.com/blog/blog.The-difference-between-Web-Hosting-and-Cloud-Computing.html</guid></item><item><title>Start on the web and leapfrog the competition</title><link>http://www.qrimp.com/blog/blog.Start-on-the-web-and-leapfrog-the-competition.html</link><description>Small organizations are at a particular technical advantage today because they can start out the right way -- on the web.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;A few years ago, &lt;a href=&quot;http://news.bbc.co.uk/2/low/technology/2287913.stm&quot;&gt;Asia went wireless and leapfrogged the western world&lt;/a&gt;. Wireless communication is cheap compared to wires.  Western countries invested billions building out copper and fiber networks to connect people, so convincing boards to spend billions more building towers wasn't an easy sell.  &lt;br /&gt;&lt;br /&gt;The same holds true in corporate IT departments.  Many of them have expensive legacy systems in place costing obscene amounts of money in support and maintenance. Getting information out of them and onto the web could cost millions, so these big ships keep moving forward, slowly. End users get frustrated with the old systems.  Information gets trapped in huge silos. Many of them are doing the best they can, but change is difficult and expensive.&lt;br /&gt;&lt;br /&gt;Enter the web.  Now it's cheap and easy to get information into computers, automate workflows, build reports, integrate disparate systems and get the entire company on the same web page.  Companies that start on the web are at a particular advantage compared to their less nimble foes. Employees are happier because they can work anywhere -- from home, the coffee shop down the street, even at airports and on the plane.  We are more productive and can make better decisions because we have access to more of our information in one place instead of tracking it down in multiple databases, legacy systems, thick client server apps and the like.&lt;br /&gt;&lt;br /&gt;With the rise of &lt;a href=&quot;http://www.mosso.com&quot;&gt;Cloud Computing Services like Mosso&lt;/a&gt; and web databases like &lt;a href=&quot;http://www.qrimp.com&quot;&gt;Qrimp&lt;/a&gt; companies don't have to invest heavily in infrastructure. Some companies still have fears of security with information being outside the firewall, but in many cases, it's actually more secure, because the data is replicated across many servers with vigorous backups, and the networks are protected with physical and virtual security measures to keep the bad guys out. Small businesses with servers in the office might have great firewalls, but what if someone breaks into the office?&lt;br /&gt;&lt;br /&gt;And what if someone steals a laptop?  If data is in a web application on a server thousands of miles away, there's less to worry about when the thief opens up that computer to find nothing but a web browser.  Stories like this one about a &lt;a href=&quot;http://www.washingtonpost.com/wp-dyn/content/article/2008/04/09/AR2008040903680.html&quot;&gt;laptop with over 1,000 Social Security numbers on it&lt;/a&gt; or this &lt;a href=&quot;http://www.infoworld.com/article/08/01/14/Nashville-laptop-theft-may-cost-1-million-dollars_1.html&quot;&gt;theft that may cost Tennessee $1 Million&lt;/a&gt;.  Some thieves just smashed a window, grabbed what they could and took off.  That's less likely to happen at a robust data center with biometric security at every entry point.&lt;br /&gt;&lt;br /&gt;So now that the information is better protected, there are two ways having the data available on the web improves the organization.  First, it improves visibility within the company.  If all the company's information is on the web, it's really easy to build a web service to aggregate that information all the way up to the CEO.  User interfaces can be tailored to specific departments so the end user can focus on their data entry and analysis without locking that information up in a silo. Each employee sees exactly what that employee needs to see. As information flows up the chain, it's summarized. Sales Reps see details for each customer, but the VP only wants to see how much revenue was generated for each region.  In some companies, each region is on their own system, so getting that data into one report is difficult.  With tools like Qrimp it's super easy.&lt;br /&gt;&lt;br /&gt;The next benefit of the web, is that it facilitates communication with customers and suppliers outside the company.  If your data is locked up behind a firewall, how do you let your customers know about price changes?  Catalogs? Phone Calls? Those methods are expensive and time consuming.  Websites are relatively cheap and constantly updated to reflect the current prices.  The web enables extranets where you and your suppliers can communicate and stay up to date on important projects. The web also enables asynchronous communication so people can work and respond when it is convenient. Phone calls are comparatively expensive and time consuming, because you have to get two people on the line at the same time.&lt;br /&gt;&lt;br /&gt;These kinds of benefits are going to be realized by web-enabled companies immediately while the large legacy companies are spending a lot of money to catch up or keep their old systems running. I think in the future we are going to see smaller companies operating more efficiently and effectively, taking business and employees away from larger institutions. The big companies are going to continue doing things the old way, the expensive and time consuming way and get leapfrogged like Asia leapfrogged the west.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description><category>Qrimp</category><pubDate>24-Apr-2008</pubDate><guid>http://www.qrimp.com/blog/blog.Start-on-the-web-and-leapfrog-the-competition.html</guid></item><item><title>Three Great New Features - Interfaces, Query Builder, Excel File Import</title><link>http://www.qrimp.com/blog/blog.Three-Great-New-Features---Interfaces-Query-Builder-Excel-File-Import.html</link><description>We released new code with three great new features that make Qrimp even more flexible and easy to use.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;h1&gt;Interfaces&lt;/h1&gt;&lt;br /&gt;Uploading Data is nice, but it's better when that data is managed with an intuitive interface.  Many times, these interfaces can be inferred from the relationships in the data and the types of data.  Qrimp has done this for one-to-many and many-to-many relationships for quite some time, but what about more complex data relationships?  The Qrimp Interface Designer will examine your data and find new patterns in your data: &lt;strong&gt;Spreadsheets&lt;/strong&gt; and &lt;strong&gt;Shopping Carts&lt;/strong&gt;.  &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Spreadsheets&lt;/strong&gt; are formed where there is a table with two foreign keys and a decimal field.  These occur where you want to assign a value to a matched pair, for example, in a student gradebook, you'll want to assign a grade to a student for a particular course.  In the spreadsheet view, you'll see courses along the top and students on the left.  At the intersections, there will be a text box where you can enter a value for the grade.  Click save at the bottom and you're done.  There are more arrangements like this in the world.  For example, you may have custom pricing for your products by pricing model. You can see this in our &lt;a href=&quot;http://crmdemo.qrimp.com/spreadsheet.aspx?t=Prices&amp;rowtable=Products&amp;coltable=PricingModels&amp;jointable=Prices&amp;leftcol=Product&amp;rightcol=PricingModel&amp;valuecol=Price&amp;vid=spreadsheetview&quot;&gt;CRM Demo&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Shopping carts&lt;/strong&gt; are formed where you want to assign an item from one table in a many-to-many fashion when those items can be filtered by  another foreign key. The example that lends its name to this pattern is where you want to allow users to add items to their shopping cart and those items are in particular product categories.  Other examples include adding menus to groups.  You might also add tasks to employees filtered by priority.&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;Query Builder&lt;/h1&gt;&lt;br /&gt;With the query builder, you can create custom queries that will return very particular data sets.  You can also save these queries for later retrieval and custom business logic.  With custom queries, there's no limit to the depth of reporting or filtering with Qrimp.&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;Import .xls files&lt;/h1&gt;&lt;br /&gt;It just got a lot easier to build applications with Qrimp.  Just create an Excel spreadsheet with multiple sheets containing your data.  Make the names of the sheets the table names you want to import and upload the file into the Import Data... page.  As usual, Qrimp will examine the data for data types and relationships and create an enterprise ready Application automatically with the full power of a relational database.&lt;br /&gt;&lt;br /&gt;Enjoy!</description><category>Releases</category><pubDate>20-Apr-2008</pubDate><guid>http://www.qrimp.com/blog/blog.Three-Great-New-Features---Interfaces-Query-Builder-Excel-File-Import.html</guid></item><item><title>Nomadic working -- Bring it on!</title><link>http://www.qrimp.com/blog/blog.Nomadic-working----Bring-it-on.html</link><description>What was telecommuting, or working from home is now nomadism, or nomadic working and Qrimp is here to support it.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Nomadic working is all the rage. There are many articles this week in The Economist &lt;a href=&quot;http://www.economist.com/research/articlesBySubject/displayStory.cfm?story_id=10950378&amp;subjectID=348963&amp;fsrc=nwl&quot;&gt;discussing this new nomadic work lifestyle&lt;/a&gt;. This new way of working is a vision of our company and our motivation is in no small part fueled by our love of getting out of the office.&lt;br /&gt;&lt;br /&gt;At Qrimp, we are facilitating this movement by web enabling the enterprise. &lt;strong&gt;We are breaking down the information silos&lt;/strong&gt; so that your company's information is available anywhere you have access to the internet -- even if that access is from a mobile phone. You can browse, edit, even upload attachments to your Qrimp application from many modern mobile devices.  Tara uses her &lt;a href=&quot;http://www.htctouch.com/&quot;&gt;HTC Touch&lt;/a&gt; almost exclusively.&lt;br /&gt;&lt;br /&gt;Not only do we embrace this new way of living, but we live it ourselves.  We have no physical offices to pollute the environment.  We don't waste time commuting for hours each day. We work from home or we go to the coffee shop down the street.  Sometimes we work from our clients' offices, but mostly, we work wherever we are. &lt;br /&gt;&lt;br /&gt;We do presentations online and work with clients remotely using conference calls and webinars to get feedback. Because Qrimp is completely web enabled, we can make changes to applications right in the web session and get immediate feedback on system design and functionality.  In the old days, these kinds of changes might take days at least -- plenty of time to forget what the end user asked for.  As a consequence, we build better systems faster with a higher end user appreciation than the office settings of yesterday provided.&lt;br /&gt;&lt;br /&gt;Back in the days of consulting, I would fly each way once a week, lugging my laptop and a week's worth of clothes. Eventually I splurged on two sets of everything so I could leave one packed to be out the door in a moment's notice: razors, shampoo, toothbrush -- two of everything. The traveling work lifestyle is expensive, time consuming, and trying. Many of us still do it.  Some love it, some hate it.  I love and hate it, but still I think there is a better way.&lt;br /&gt;&lt;br /&gt;The constant vision of a better way seems to be an underlying principle of everything we do here and remote working (a.k.a. nomadism, telecommuting, wifi-working) is definitely a better way.  It's better for the environment. It's better for our personal health and family relationships.  Ultimately, it's better for our communities and our companies too. I am glad to see it getting more press, especially from an esteemed publication like &lt;a href=&quot;http://www.economist.com&quot;&gt;The Economist&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;</description><category>Personal</category><pubDate>11-Apr-2008</pubDate><guid>http://www.qrimp.com/blog/blog.Nomadic-working----Bring-it-on.html</guid></item><item><title>Google App Engine vs. Qrimp</title><link>http://www.qrimp.com/blog/blog.Google-App-Engine-vs.-Qrimp.html</link><description>Google just announced their App Engine product that allows developers to create web apps to run on the Google Infrastructure, but it is not browser based web development.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;a href=&quot;http://www.webware.com/8301-1_109-9913631-2.html?tag=frontdoor&quot;&gt;Webware has a post talking about Google's new App Engine.&lt;/a&gt;  App engine is a cloud product that enables developers to build systems that will run on Google's infrastructure.  Their offering competes with Amazon's Elastic Compute Cloud and &lt;a href=http://www.mosso.com&gt;Mosso&lt;/a&gt; to some degree.&lt;br /&gt;&lt;br /&gt;So how does this compare to Qrimp?  Qrimp too is a cloud computing environment, but Qrimp differs from App Engine, EC2 and &lt;a href=http://www.mosso.com&gt;Mosso&lt;/a&gt; in that you don't have to know how to program to use it.  Qrimp is browser based web development, which is a layer on top of the infrastructure that simplifies the development of web systems.  With Qrimp, you just copy/paste your spreadsheet data and  the rest is done for you.  Building a system that would enable that functionality and also run on one of the clouds would be a job unto itself -- that's what Qrimp is for.&lt;br /&gt;&lt;br /&gt;EC2 and App Engine are the infrastructure only, so to build a system to run on them, you still have to know how to program and build databases from scratch.  You need to understand data modeling and HTML.  If you understand those things, Qrimp is even better, but you don't have to know them to use Qrimp.&lt;br /&gt;&lt;br /&gt;It's exciting to see these new technologies coming out. EC2 and App Engine and Mosso are like the old Cray mainframes that allowed organizations to build complex algorithms that needed a lot of processing power to run effectively.  These clouds are exposing the hardware to organizations who need them to run the applications built on top of them. Qrimp does the same thing, except Qrimp goes one step further into actually bringing the application development environment itself into the web browser.&lt;br /&gt;&lt;br /&gt;With the other three cloud offerings, you must develop your system locally on your own hardware, write the code, debug it, build the database and then push that compiled code up to the cloud hardware, or in some cases edit it there.  With Qrimp, there is nothing local, it all happens in the browser -- you could even build a custom web application using your cell phone!</description><category>The Web</category><pubDate>08-Apr-2008</pubDate><guid>http://www.qrimp.com/blog/blog.Google-App-Engine-vs.-Qrimp.html</guid></item><item><title>Presentation for Tulsa DNUG</title><link>http://www.qrimp.com/blog/blog.Presentation-for-Tulsa-DNUG.html</link><description>I'll be giving a presentation at the Tulsa .Net User's Group (DNUG) March 31.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;I'm quite excited to be presenting Monday, March 31 at the Tulsa DNUG meeting.  I'll be giving an introduction to some methodologies we can all use to accelerate application development using the INFORMATION_SCHEMA views.&lt;br /&gt;&lt;br /&gt;Here's the item on the calendar at the &lt;a href=&quot;http://tulsadnug.org/DesktopDefault.aspx?tabid=122&quot;&gt;Tulsa DNUG site&lt;/a&gt;.</description><category>Qrimp</category><pubDate>20-Mar-2008</pubDate><guid>http://www.qrimp.com/blog/blog.Presentation-for-Tulsa-DNUG.html</guid></item><item><title>Design Mode ON/OFF</title><link>http://www.qrimp.com/blog/blog.Design-Mode-ONOFF.html</link><description>Now it's even easier to modify your Qrimp apps with Design Mode&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;We've added a new feature to our new Qrimp apps that will make it easier to modify your applications.  Under the Design menu you will see two new menus, Design Mode ON and Design Mode OFF.  Turning on Design Mode will show a &lt;img src=&quot;/icons/crystal_project/32x32/apps/colors.png&quot; align=absmiddle height=16 /&gt; next to headers and footers in your app. Hover over the icon to highlight the content contained within the header or footer.  Click on the icon and you'll be taken directly to the header/footer that is being displayed.  Edit it and return to the page and you will see your changes.&lt;br /&gt;&lt;br /&gt;For users who have already signed up and do not have the Design Mode menus, select Add a Module under the Admin menu and add the Design Mode Menus ON/OFF module.  You will then have access to the menus.</description><category>Features</category><pubDate>24-Feb-2008</pubDate><guid>http://www.qrimp.com/blog/blog.Design-Mode-ONOFF.html</guid></item><item><title>Qrimp vs. Microsoft Sharepoint</title><link>http://www.qrimp.com/blog/blog.Qrimp-vs.-Microsoft-Sharepoint.html</link><description>Qrimp's closest competitive offering from Microsoft is Sharepoint.  I'll discuss some of the different features of the products.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Occasionally we have been asked how Qrimp compares to Microsoft Sharepoint.  I won't discuss costs here, but I will say that Qrimp is sold per user license for the Qrimp platform, not by the number of users within Active Directory.  This can be a significant cost savings when only a portion of your organization will be using Qrimp.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Technicalities&lt;/h4&gt;&lt;br /&gt;First, Sharepoint is a very extensible system. It integrates with a lot of tools from Microsoft, including Windows Workflow Foundation.  This is a nice capability, but these are heavily oriented toward developers.  To customize Sharepoint capabilities, you'll need a license for Visual Studio.&lt;br /&gt;&lt;br /&gt;Qrimp is designed to be fully extensible from the web browser.  There is no need to buy Visual Studio or other tools from Microsoft unless you run Qrimp on your own servers, in which case you'll need SQL Server.  You'll need SQL Server for Sharepoint as well.&lt;br /&gt;&lt;br /&gt;From the front end, the interface is much easier to use.  You can add new lists to Sharepoint from within the web interface, but it is fairly complicated.  I recently asked a Sharepoint guru how difficult it is to teach business users how to extend the Sharepoint capabilities and he said it isn't very easy.  We've taught users who previously didn't know what a database was how to use Qrimp.  If a user can understand a spreadsheet, they can probably understand what Qrimp is.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;The Database Architecture&lt;/h4&gt;&lt;br /&gt;The significant difference between Sharepoint and Qrimp is that accessing the Sharepoint database directly is almost universally forbidden.  &lt;a href=&quot;http://msdn2.microsoft.com/en-us/library/bb861829.aspx&quot;&gt;Microsoft does not support directly modifying the Sharepoint database.&lt;/a&gt;  When I asked the aforementioned Sharepoint Guru what he thought about the issue, he said: &quot;NEVER NEVER TOUCH THE DATABASE DIRECTLY!&quot;  A &lt;a href=&quot;http://www.bluedoglimited.com/SharePointThoughts/ViewPost.aspx?ID=202&quot;&gt;Sharepoint Thoughts post&lt;/a&gt; says: &lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Whatever you do, do NOT PERFORM DIRECT EDITS TO THE SHAREPOINT DATABASE. &lt;br /&gt;    * Do NOT manually update records&lt;br /&gt;    * Do NOT manually insert records&lt;br /&gt;    * Do NOT manually delete records&lt;br /&gt;    * Do NOT MODIFY SHAREPOINT DATA!!!&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;The reason is because the database architecture used to store the data within the Sharepoint system is much more complex than that revealed by the API to the developer. To access the data in the Sharepoint repository, you must go through the Sharepoint API.  The API conceals the underlying data model from the end user and this data model could change with service packs. &lt;br /&gt;&lt;br /&gt;Qrimp on the other hand builds a standard database architecture for your data.  Tables are tables.  If you view your table in grid view, that's what your table will look like if you accessed the database directly.  If you update a record in your table with an SQL Query and then view that record from the web interface, the record will be updated.  No harm done.  One caveat is if you have versioning enabled on the table, the edit will not be stored, but your database will not be corrupt.  Similarly, you can delete records or insert new records as well. &lt;br /&gt;&lt;br /&gt;If you run Qrimp within your firewall, you can use bulk import tools to bring in as many records as you want into your Qrimp database and start using your system right away.  There are some rules to how Qrimp stores  information in the database to be aware of.  Each table has an ID field that is an Integer Identity that is the Primary Key.  The CreateDate and CreateId fields have special meaning for auditing.  The rest is fair game.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Summary&lt;/h4&gt;&lt;br /&gt;The differences then, between Sharepoint and Qrimp is that Qrimp allows you to pay for only the users who use the system.  Sharepoint is more extensible because you can use tools like WWF and Visual Studio to write any code you want -- but you have to code it.  The final difference is that with Qrimp, your data is your data.  You don't have to go through Qrimp to access it. If at some point in the future, you realize you need a custom process to access your Qrimp database and make changes and retrieve data, you can do that.&lt;br /&gt;&lt;br /&gt;Qrimp is more flexible in this way.  With Sharepoint, you are locked into using Sharepoint as the interface to your data.  With Qrimp, you can pull your data out or access the existing Qrimp Database without any modification. Qrimp creates very nice standard data models for your data.  Most DBA's will quickly recognize the models Qrimp builds for One-to-Many and Many-to-Many relationships.&lt;br /&gt;&lt;br /&gt;If you have any questions about this, please don't hesitate to &lt;a href=&quot;contact.html&quot;&gt;contact us&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;</description><category>Qrimp</category><pubDate>Mon, 21 Jan 2008 06:35:12 G1T -06</pubDate><guid>http://www.qrimp.com/blog/blog.Qrimp-vs.-Microsoft-Sharepoint.html</guid></item><item><title>Platform on Demand</title><link>http://www.qrimp.com/blog/blog.Platform-on-Demand.html</link><description>Qrimp is a platform on demand that allows you to solve problems with software for which there is no existing software solution.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Qrimp is a platform on demand.  When I talk about a platform, I mean a system that allows you to modify the way it works.  An enclosed system that contains all the moving parts to make your new solution operate.  If you use the hosted system, our platform is there without you needing to purchase hardware or software other than the computers you already use to browse the Internet.&lt;br /&gt;&lt;br /&gt;The platform is on-demand, because you can make it do what you need it to do when you need it done.  You can manage any kind of information: Customers, Contacts, Task lists, Conference Schedules and anything that is particular to your business that the makers of Qrimp may have never even heard of.&lt;br /&gt;&lt;br /&gt;We are excited to see how our customers use Qrimp and all the ideas we hear from people about what they could do with it. &lt;br /&gt;&lt;br /&gt;Anything you can do with a database or spreadsheet you can do with Qrimp.  The advantage of using Qrimp is that you bring all the tools needed to put an interface around that data into one location. You don't need Integrated Development Environments, Relational Database Management Tools, Code Editors, HTML Editors.  You don't need to download anything, just use your browser.</description><category>Qrimp</category><pubDate>20-Jan-2008</pubDate><guid>http://www.qrimp.com/blog/blog.Platform-on-Demand.html</guid></item><item><title>Is open source recession proof?</title><link>http://www.qrimp.com/blog/blog.Is-open-source-recession-proof.html</link><description>Adrian Kingsley-Hughes of ZDNet.com asks if open source is recession proof.  Here are my thoughts.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;To answer &lt;a href=&quot;http://talkback.zdnet.com/5208-12554-0.html?forumID=1&amp;threadID=43090&amp;messageID=796209&amp;start=0&quot;&gt;Adrian's question&lt;/a&gt; we must first determine who creates Open Source software, who uses it, what is its value and what will happen to all of those questions in a recession.  So I'll start by answering the questions for the current economy and then address them in a recession.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Who creates Open Source Software?&lt;/b&gt;&lt;br /&gt;There are mainly two types of organizations who write open source software: Individuals who want to solve a problem and companies who want to earn consulting fees or attack the business model of a competitor. Currently, we have a good industry for IT people. A lot of them write code on business hours.  Open Office is supported by Sun to help fight Microsoft.  Sun has a team of over 100 developers working on a product that generates no revenue and the justification is that it hurts a competitor, both in sales of Microsoft Office and by enabling users of Linux to have an Office Suite.  &lt;br /&gt;&lt;br /&gt;The problem with this model is that it is difficult to quantify the financial benefit. In a recession, the bottom line matters most and I suspect companies will abandon these models.  In times of recession, employee productivity is important and that productivity must directly affect the bottom-line in a measurable way or the employees are laid off.  Those laid-off employees may have more free time to work on Open Source projects to keep their resume fresh, but they may be too busy looking for a job.  I suspect it will be the bright ones who have saved money that will find Open Source more easy to fit into their schedule and it may be an avenue for independent contracting and consulting sales.  The rest of the laid off crowd may not have the technical capabilities to product good software, so the quality of open source may decline while the quantity rises.  This could hurt customers of Open Source software and prompt them to abandon it, because of the &lt;a href=&quot;http://en.wikipedia.org/wiki/The_Market_for_Lemons&quot;&gt;Market for Lemons&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Who Uses Open Source Software?&lt;/b&gt;&lt;br /&gt;The primary audience for open source software is companies and individuals on a budget.  In times of recession there will be more of these so the market for Open Source software will grow.  With this additional demand, the supply will shrink.  Not the supply of the bits, but the supply of developer time to meet the needs of the growing customer base.  This may allow free software models to begin charging for their work and develop a paid software product.  It will be the best of breed who go on to create companies around these innovative products, but the best Open source products may convert to commercial licenses.&lt;br /&gt;&lt;br /&gt;Larger companies in times of recession will take fewer risks and this could hurt the market for open source software. Open Source is already more risky than commercially produced software and this keeps many away now.  Those with the ability to accurately determine the quality of software may decline in times of recession and further limit the market.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;What is the Value of open source software&lt;/b&gt;&lt;br /&gt;First, we must acknowledge that open source software is not free.  Many times it comes with bugs, it is not of the highest quality, the user base is smaller and the technical skills required to use it are higher requiring a bigger investment in education up front.  The real value of Open Source software is the innovation and competition it brings to a market with huge barriers to entry.  Small groups of coders working independently and in their free time can chip away at a large market, but it takes a very long time to make any headway or generate the kind of revenue that can support full-time concentration on a project.  This amount of time is often longer than a recession. A lot of the major open source projects now were around during the dot-com boom and survived.&lt;br /&gt;&lt;br /&gt;I think the market for Open Source products at the corporate level will shrink due to risk aversion, but grow among individuals because there are fewer of them working and they'll be spending less on technology.  This could be good for Open Source because more people with technical skills will work on it.  The problem this raises is that the high quality programmers are the last to get laid off and the &lt;a href=&quot;http://www.inter-sections.net/2007/11/13/how-to-recognise-a-good-programmer/&quot;&gt;low quality programmers only code for money&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Is Open Source recession proof?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;If this question means, &quot;Will open source go away in a recession?&quot; The answer is no, there will still be plenty of people dedicating time to open source.  Corporate sponsored open source projects will likely decline.  Individually created projects may increase, though the quality will diminish.&lt;br /&gt;&lt;br /&gt;The bottom-line is that recessions are bad. Open source will be hurt, but it will not go away.</description><category>Start-up</category><pubDate>14-Jan-2008</pubDate><guid>http://www.qrimp.com/blog/blog.Is-open-source-recession-proof.html</guid></item><item><title>Data Portability</title><link>http://www.qrimp.com/blog/blog.Data-Portability.html</link><description>Data portability is about more than social networks.  It's about progress and productivity.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;All the fuss about &lt;a href=&quot;http://dataportability.org/&quot;&gt;Data Portability&lt;/a&gt; in the news lately is a much bigger issue than &lt;a href=&quot;http://www.mathewingram.com/work/2008/01/04/the-scoble-mess-and-data-portability/&quot;&gt;names and email addresses&lt;/a&gt;.  &lt;a href=&quot;http://avc.blogs.com/a_vc/2006/11/data_portabilit.html&quot;&gt;Data Portability&lt;/a&gt; is about making your information easier for disparate systems to access both within and beyond your control.&lt;br /&gt;&lt;br /&gt;One of my clients recently needed access to information from multiple vendors. They were in the business of reselling similar products and helping users find the best price. Part of the job was pulling the pricing and product information into a vast database that we could search through to find the exact match for the customers' needs and help them decide which one to purchase.&lt;br /&gt;&lt;br /&gt;After contacting the vendors, there were about 10 of them, the conversations were all pretty much the same -- either it was too complicated for them to provide the data or they didn't have it outside their proprietary systems.  The smoothest process in most cases involved someone from Company A calling someone from Company B and asking them what the current values were.&lt;br /&gt;&lt;br /&gt;Such a process is horribly inefficient and prone to compounded data entry mistakes. Had Company B simply provided the data in XML, CSV, or some other sort of flat file, the process would have been very simple. But they didn't, in most cases, because it isn't simple to do that. Many systems might have the ability to export data, but how do you automate the process and how do you make that exported data available to users securely over the web?&lt;br /&gt;&lt;br /&gt;Sharing data should be simple and painless.  With Qrimp it's as simple as modifying the URL.  For example, on the &lt;a href=&quot;http://demo.qrimp.com&quot;&gt;Qrimp demo site&lt;/a&gt;, you can view a list of &lt;a href=&quot;http://demo.qrimp.com/db.aspx?t=FuelEconomy&quot;&gt;fuel economy by vehicle in HTML&lt;/a&gt; or &lt;a href=&quot;http://demo.qrimp.com/db.aspx?t=FuelEconomy&amp;vid=19&amp;noheader=true&amp;nofooter=true&amp;pagesize=10&quot;&gt;fuel economy in XML&lt;/a&gt; or &lt;a href=&quot;http://demo.qrimp.com/db.aspx?t=FuelEconomy&amp;vid=20&amp;noheader=true&amp;nofooter=true&amp;pagesize=10&quot;&gt;CSV&lt;/a&gt; that you can easily import into your custom application.  You can even create custom formats for RSS Feed Syndication, JSON and more.&lt;br /&gt;&lt;br /&gt;If you have security enabled on your information and don't want just anyone looking at it, you can create a username and password.  The organization with which you want to share information then makes two requests. The first passes the username and password and receives a customer user token that it uses to make subsequent requests.&lt;br /&gt;&lt;br /&gt;Qrimp didn't exist while I was working for those clients, but if it had, they would have easily saved tens of thousands of dollars in development costs.  The companies with the products would have saved money as well and increased exposure for their products much quicker.  In this industry, time is money.  &lt;br /&gt;&lt;br /&gt;This was my motivation for building Qrimp. Not only will it save companies thousands, even millions of dollars, but it will help them bring these products to market much faster.</description><category>Qrimp</category><pubDate>13-Jan-2008</pubDate><guid>http://www.qrimp.com/blog/blog.Data-Portability.html</guid></item><item><title>Integrating Qrimp Apps with Facebook</title><link>http://www.qrimp.com/blog/blog.Integrating-Qrimp-Apps-with-Facebook.html</link><description>I thought it would be interesting to see if Qrimp could integrate with anything and Facebook is the test. Turns out, Qrimp is the easiest way to build Facebook Apps.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Today I thought, &quot;If Qrimp is such an awesome platform, surely it'll be able to integrate with Facebook.&quot;  So I grabbed &lt;a href=&quot;http://www.qrimp.com/blog/profiles.Tara.html&quot;&gt;Tara&lt;/a&gt;, because she has a Facebook account and we set off to create a Facebook app with Qrimp.  After wading through the documentation, here's &lt;a href=&quot;http://apps.facebook.com/tarasqrimp/&quot;&gt;Tara's Facebook Qrimp App&lt;/a&gt;, which took about 5 minutes to build after we found &lt;a href=&quot;http://www.keebler.net/blog/author/jonathan/&quot;&gt;Jonathan&lt;/a&gt;'s post on &lt;a href=&quot;http://www.keebler.net/blog/2007/06/02/facebook-application-basics/&quot;&gt;Facebook Application Basics&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I won't get into the details of how to do it here, but we posted a &lt;a href=&quot;http://developer.qrimp.com/db.aspx?t=forumtopics&amp;vid=11&amp;id=31&quot;&gt;Howto: Build a Facebook App from Qrimp&lt;/a&gt; topic over at the &lt;a href=&quot;http://developer.qrimp.com&quot;&gt;Qrimp Developer Network&lt;/a&gt;.  Go there for the details.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The Experience&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;First of all, how many people know what a Callback URL is?  What percentage of those people are not programmers?  Exactly.  Building Facebook apps could be a whole lot easier.  They need to make it easier.  I suppose it's easy enough if thousands of apps have already been built for it, but as I've said before, &lt;a href=&quot;http://www.qrimp.com/blog/blog.Building-a-Web-Programmable-Programmable-Web.html&quot;&gt;Facebook is limiting its potential&lt;/a&gt; with such a difficult to use system.  &lt;a href=&quot;http://paulgraham.com/start.html&quot;&gt;As Paul Graham says&lt;/a&gt;:&lt;blockquote&gt;It's worth trying very, very hard to make technology easy to use. Hackers are so used to computers that they have no idea how horrifying software seems to normal people. ... When you work on making technology easier to use, you're riding that curve up instead of down. A 10% improvement in ease of use doesn't just increase your sales 10%. It's more likely to double your sales.&lt;/blockquote&gt;I don't even know why I'm offering this advice, because I have no respect for Facebook, especially if &lt;a href=&quot;http://www.02138mag.com/magazine/article/1724.html&quot;&gt;Zuckerberg is as dishonest as they say&lt;/a&gt;, but the plaintiffs do look kinda like a-holes. I think in general, &lt;a href=&quot;http://en.wikipedia.org/wiki/Opium_of_the_People&quot;&gt;social networks are the new opiate of the people&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The proof is in the numbers&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;At the Web 2.0 Summit, Zuckerberg said, &quot;&lt;a href=&quot;http://www.video.ca/video.php?id=744515117&amp;mode=views&quot;&gt;We have 6,000 applications and 100,000 developers.&lt;/a&gt;&quot;  That's over 16 developers on average, per application.  With a ratio like that, the developer pool will be quickly exhausted.  For web platforms to succeed, we'll need to see that ratio come down -- way down.&lt;br /&gt;&lt;br /&gt;I don't mean to be overly critical of Facebook and other social applications. I just don't see the value in them. Perhaps it is my introverted nature.  Perhaps it is my focus on &lt;i&gt;earning time&lt;/i&gt; over &lt;i&gt;wasting time&lt;/i&gt;, a topic I might get into more detail on later.  Qrimp is a time earner, so it might not be a good idea to integrate it with a time waster like Facebook, but my goal was to test the integration of Qrimp with an arbitrary system over which I have no control -- Facebook fit the bill.&lt;br /&gt;&lt;br /&gt;I also recognize that integrating applications with Facebook and other systems can be much deeper than our proof of concept, but doing this with Facebook is not a priority for the Qrimp team right now.  Many of our users may want to go further down that road and I leave it to you or &lt;i&gt;them&lt;/i&gt; to do it.  If you do, I would be vainly interested in seeing what you've done, so let Tara know and she can log into Facebook and check it out.&lt;br /&gt;&lt;br /&gt;In all fairness, I thought it would be more difficult than it was.  I also learned more about Facebook in the process -- this is was the most I've ever used it.  I see a lot of room for Facebook to improve their &quot;platform.&quot;  I actually don't think it is a platform at all.  I see it as an API.  A platform lets you build your own applications.  Facebook lets you integrate your application with Facebook.  Mark Andreessen says &lt;a href=&quot;http://blog.pmarca.com/2007/09/the-three-kinds.html&quot;&gt;Facebook is a Level II Platform&lt;/a&gt;.  Mr. Andreessen breaks the term down into multiple levels, but &lt;a href=&quot;http://en.wikipedia.org/wiki/Platform_(computing)&quot;&gt;Wikipedia's definition of Platform&lt;/a&gt; wouldn't include Facebook.  I think Mark was being kind to those who call themselves platforms, but really aren't.  I might be in the minority on this, sure, but I sometimes think that &lt;a href=&quot;http://blogs.zdnet.com/ip-telephony/?p=805&quot;&gt;marketing&lt;/a&gt; has more influence than sense.  It might just be a lack of sense that gives marketing its power.</description><category>Features</category><pubDate>29-Dec-2007</pubDate><guid>http://www.qrimp.com/blog/blog.Integrating-Qrimp-Apps-with-Facebook.html</guid></item><item><title>Building a Web Programmable Programmable Web</title><link>http://www.qrimp.com/blog/blog.Building-a-Web-Programmable-Programmable-Web.html</link><description>With all the talk of a programmable web, why are we not concentrating on web based programming?&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;A lot of &lt;a href=&quot;http://www.25hoursaday.com/weblog/2007/10/16/TheWebIsThePlatformOnMicrosoftsSocialGraphAPIStrategy.aspx&quot;&gt;people&lt;/a&gt; &lt;a href=&quot;http://visitmix.com/Blogs/Joshua/web-is-the-platform-srsly/&quot;&gt;are&lt;/a&gt;  &lt;a href=&quot;http://blog.pmarca.com/2007/09/the-three-kinds.html&quot;&gt;talking&lt;/a&gt; about &lt;a href=&quot;http://www.readwriteweb.com/archives/web_as_platform.php&quot;&gt;The Web as a Platform&lt;/a&gt; and I think the basic idea missing from these conversations is being able to program the web from the web itself.  &lt;br /&gt;&lt;br /&gt;If we are to succeed in our quest, we are going to have to get everyone on the same page, using standard technologies with simple interfaces.  Web Services is too complicated.  API's are particular to every application. It's too much to learn and only a small percentage of the world has the experience and time to do so.  Not only that, but to take advantage of these APIs, you have to have your own hardware and software infrastructure.  &lt;a href=&quot;http://www.thisisgoingtobebig.com/2007/08/excuse-me-apis-.html&quot;&gt;How many Facebook app companies have run out of hardware?&lt;/a&gt;  The infrastructure costs for a scalable environment to support applications like these is beyond the range of the majority.  &lt;b&gt;Facebook is limiting the potential of its platform by requiring the Application developers to provide their own servers.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;REST, Web Service, API, SOA... 99% of the world has no idea what those words mean, but 100% of them will benefit from the free flow of information those ideas enable.  While I agree a lot of those technologies make it easy for programmers to integrate systems, they only make it easy for programmers to integrate systems.  What about all the non-programmers?  What about all the people without 4 year degrees in computer science?  How are they going to contribute to the programmable web and how are they going to build custom systems to help them be more productive?&lt;br /&gt;&lt;br /&gt;&lt;b&gt;There are not enough programmers to solve all the problems that currently require programming.&lt;/b&gt;  We need to bring our skills -- not just the applications we build -- to a larger population of individuals.&lt;br /&gt;&lt;br /&gt;Today, most users must be content to wait for the programmers to bring them a solution. I've been working on the web for quite a while now and many people have come to me with a great idea to do something or another. A lot of them are really great ideas -- some of them aren't, but I am forced to think of ideas with respect to cost benefit analysis.  Is what you want to do on the web going to be beneficial enough to the world that you can recover the costs of development? Usually the answer is no, which is unfortunate, because the applications would benefit a great number of individuals -- just not enough to pay for the development.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;We must lower the barriers to entry for information systems.&lt;/b&gt;  This is a scary thought for a lot of programmers, because some believe we will be working ourselves out of a job.  I prefer to believe that we will be making our jobs more enjoyable.  We'll take off our shoulders the constant attention to user requests by enabling them to do what they usually relied on us to do: changing field types, altering functionality, modifying the look and feel.&lt;br /&gt;&lt;br /&gt;The funny thing about the end user is that the developer can build a tremendously complex system that has all the functionality they need and the most frequent complaints will be nit-picky. &quot;See the big picture!&quot; I think to myself. With Qrimp I just say, &quot;Okay, you can change it.  Check this out.&quot;  &lt;b&gt;I love the look of &quot;Wow!&quot; on a face.&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;The point I am not so eloquently making is that as developers we must begin to relinquish some control of our systems to the end users.  We must allow them to modify those systems to their personal tastes, look at MySpace as an example of this.  MySpace allows users to modify the look and feel of their pages and the end result is nearly always horrible, but the desire to customize is evident.  90% of MySpace pages look totally different and yet at the same time, beautiful to the owner.  We need to take this capability to the next level and enable the customization of functionality, not only the look and feel.  Imagine if MySpace let you determine how users' pages looked to you.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Every user of your system will have a different idea about how it should behave.&lt;/b&gt;  I can't count the number of times I've visited a web page with a list of the top movies of the year and wanted to click the name and visit IMDB. Doesn't everyone want to do that? Oh yeah, some might want to go to NetFlix or &lt;a href=&quot;http://www.greencine.com/main&quot;&gt;Greencine&lt;/a&gt;. We need to enable our users to change things like this within their own applications.  Maybe when I create a new something or other, I want to specify the next page to display.  Maybe a list of all the items, maybe the detail view for the particular item.  As a user, I should have that level of control over the systems I use.</description><category>Qrimp</category><pubDate>27-Dec-2007</pubDate><guid>http://www.qrimp.com/blog/blog.Building-a-Web-Programmable-Programmable-Web.html</guid></item><item><title>Solving the Problems of Open Source</title><link>http://www.qrimp.com/blog/blog.Solving-the-Problems-of-Open-Source.html</link><description>The Open Source movement is one of the greatest in the technology arena, but its problems limit the potential to share functionality and information management with a broader community.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Open Source has a huge install base of software, operating systems, databases, JavaScript libraries, graphics and more, but enhancing those Open Source products is beyond the capabilities of the majority of its customers. The biggest problem with Open Source -- is the source.  &lt;br /&gt;&lt;br /&gt;At Qrimp, we use Open Source products in our software.  We use Icons from  &lt;a href=&quot;http://yellowicon.com/downloads/&quot;&gt;YellowIcon&lt;/a&gt;, JavaScript from  in the &lt;a href=&quot;http://developer.yahoo.com/yui/&quot;&gt;Yahoo UI Library&lt;/a&gt; and &lt;a href=&quot;http://www.ajaxtoolbox.com/request/&quot;&gt;AjaxRequest&lt;/a&gt;, we love &lt;a href=&quot;http://www.mozilla.com/en-US/firefox/&quot;&gt;FireFox&lt;/a&gt;, and we've even used &lt;a href=&quot;http://www.icsharpcode.net/OpenSource/SD/&quot;&gt;SharpDevelop&lt;/a&gt; once or twice, so we recognize the benefits Open Source brings to all of us, but the product, that is, the Open Source, has a limited audience.&lt;br /&gt;&lt;br /&gt;What the audience wants is not Open Source.  The audience wants features, products, and software.  Most users of Open Source software couldn't care less about the Source Code and even if they did, which I do, they don't have the time or the experience to enhance it.  How many of those who use Firefox have ever written a line of code for it?  How many of those who use Open Office dive into fix a bug or improve the usability?  We haven't.  We just don't have time.  It's too difficult.&lt;br /&gt;&lt;br /&gt;The reason it is too difficult is that there are simply too many ways to write source code.  There are Open Source products in PHP, Java, Python, .NET, C++, Ruby, JavaScript... there are too many to mention.  The source code for those projects is kept in CVS, Source Safe, BitKeeper, Subversion...  How many more?  And platforms?  Windows, Linux, Mac...  How can anyone keep track of it all?&lt;br /&gt;&lt;br /&gt;We need to get on the same page.  All of these projects, at least the projects focused on web applications all use a standard set of technologies: HTML, JavaScript, CSS, and at the lowest level SQL.  These four components are required for nearly any web-based system and developers have to know them whether they are building systems in Java, Perl, PHP, or .NET.  For the most part, developers have to know these 4 core technologies to build any successful web system. These 4 technologies are the lowest common denominator of web development -- regardless of platform, development environment, programming language, or browser.&lt;br /&gt;&lt;br /&gt;If we can limit the level of experience needed to enhance and distribute Open Source software to this lowest common denominator, we can greatly increase not only the audience of potential customers, but also the field of developers and users who can contribute ideas, enhancements, and labor to the movement.&lt;br /&gt;&lt;br /&gt;Democracy and choice are good.  We should all be allowed to develop in the language of our choice.  Some of us speak multiple languages and some of us program in multiple languages.  The diversity leads to a rich and engaging world and is awesome, but it might not be so productive.  It takes time to translate from one language to another. It takes time to understand someone else's code, install development environments, make changes, recompile, and integrate your code with the core. If we were all to contribute to every piece of open source that benefits our lives, our computers would be bogged down with compilers, source code repositories, and databases and our brains would be full of algorithms, syntaxes, and constructs from countless programming languages.  It's just too much.  We are slowing ourselves down.&lt;br /&gt;&lt;br /&gt;The way to fix the problems of Open Source is to enable the enhancement of Open Source projects without requiring those who wish to contribute to understand the source.  We can't expect everyone to learn the language the product was developed in and we can't expect everyone to understand the code itself.  Code is complex. &lt;br /&gt;&lt;br /&gt;One of the worst jobs developers are thrown into is supporting someone else's code.  Imagine a writer being asked to finish someone else's book or an entrepreneur finishing someone else's company.  It's boring, monotonous and nearly impossible to get passionate about it.  We need our own projects, we need the ability to develop our own solutions, all we need is a common language to communicate with everyone else who might be able to help us or be helped by the projects so dear to us and everyone who uses them.&lt;br /&gt;&lt;br /&gt;</description><category>Qrimp</category><pubDate>26-Dec-2007</pubDate><guid>http://www.qrimp.com/blog/blog.Solving-the-Problems-of-Open-Source.html</guid></item><item><title>IE6</title><link>http://www.qrimp.com/blog/blog.IE6.html</link><description>Designers across the world cross their fingers and murmur &quot;I hope it works in IE6&quot;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;According to the &lt;a href=&quot;http://www.w3schools.com/browsers/browsers_stats.asp&quot;&gt;W3's browser stats&lt;/a&gt; as of the end of 2007, about a third of internet users are still using IE6. &lt;br /&gt;&lt;br /&gt;In the web design world, it is &lt;a href=&quot;http://en.wikipedia.org/wiki/IE6&quot;&gt;well-known that IE6 does not meet certain standards &lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;We would like to recommend to Qrimp users that they will have a better visual experience if they use a browser above IE6. Does anyone know if there are any reasons that anyone should not update their browser?&lt;br /&gt;&lt;br /&gt;That's it - 'nuff said!</description><category>Design</category><pubDate>21-Dec-2007</pubDate><guid>http://www.qrimp.com/blog/blog.IE6.html</guid></item><item><title>Introducing Qrimp Solution Accelerator Modules</title><link>http://www.qrimp.com/blog/blog.Introducing-Qrimp-Solution-Accelerator-Modules.html</link><description>Modules are Solution Accelerators that allow you to add functionality to your Qrimp App or share functionality you have developed with others.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Modules are installable packages containing a data model (i.e. the Tables and Relationships) for your information, combined with the menus, views, templates and other objects needed to present the information and enable interaction with it.&lt;br /&gt;&lt;br /&gt;We currently have modules for Messaging, Contact Management, Task and Project Management, Countries and more.  We will be adding modules to the list.  If you have an idea for a module you'd like, let us know in the &lt;a href=&quot;http://developer.qrimp.com&quot;&gt;Qrimp Developer Network&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Modules are Plug-n-Play.  They integrate with your existing solutions and enhance the functionality of them.  Modules allow you to piece together a custom solution for your particular business needs without bogging down your system with features and components you don't need.  If you'd like to remove a module, simply delete the menu tab and the tables in it.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Installing Modules&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;To install additional modules into your Qrimp Application, you must be an administrator. You'll find the Add Module menu under the Admin tab.  Click the Add Module menu and you'll be presented with a list of the currently available modules.  Click the Add Module button by the module you want and it's added instantly!  Begin using it right away.  Modules are just like any other component of your Qrimp Application and you are free to customize them to suit your organization's needs. Change field names, redesign forms, create reports and modify security settings as you see fit.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Build Your Own Modules and Share them with the Community&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Not only can you add modules to your system, but you can also create your own modules and share them with other Qrimp users.  One of the available modules you'll see in the Modules list is the Module Builder.  Add this module and you'll see the Build Module menu under the Admin tab.  Select it and you'll be presented with a list of your tables and you can choose the ones you'd like to add to the module.  When you build the module, you can save the resulting file and then upload it to the Qrimp Developer Network where we can add it to the list for others to install into their own systems.&lt;br /&gt;&lt;br /&gt;</description><category>Features</category><pubDate>24-Dec-2007</pubDate><guid>http://www.qrimp.com/blog/blog.Introducing-Qrimp-Solution-Accelerator-Modules.html</guid></item><item><title>Comprehensive Database Search and Replace</title><link>http://www.qrimp.com/blog/blog.Comprehensive-Database-Search-and-Replace.html</link><description>This bit of SQL will search all the tables in your database for the occurrence of a string and replace it with another string&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;The other day I ran into a situation where I wanted to run a database wide search/replace.  Similar to a text search/replace, except I wanted to update every VARCHAR field in every table.  I didn't want to manually run updates on every table and field, so I used the INFORMATION_SCHEMA to find all the VARCHAR columns, then built the SQL Statement dynamically.  &lt;br /&gt;&lt;br /&gt;There are two lines in the script, the first one merely finds occurrences of the string without updating it.  The second one actually performs the update.  The first line allows you to see if the string occurs and then go investigate to see if you really want to replace it first.  Running a script like this against a database can be very dangerous, use it at your own risk!&lt;br /&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;declare @sql varchar(1000)&lt;br /&gt;declare @column_name varchar(50)&lt;br /&gt;declare @table_name varchar(50)&lt;br /&gt;declare @replacetext varchar(50)&lt;br /&gt;declare @withtext varchar(50)&lt;br /&gt;&lt;br /&gt;select @replacetext = 'text to replace'&lt;br /&gt;select @withtext = 'the new text'&lt;br /&gt;&lt;br /&gt;DECLARE columns_cursor CURSOR FOR&lt;br /&gt;select table_name, column_name from information_schema.columns &lt;br /&gt;        where data_type = 'varchar' and table_name in &lt;br /&gt;          (select table_name from information_schema.tables &lt;br /&gt;             where table_type = 'BASE TABLE')&lt;br /&gt;&lt;br /&gt;OPEN columns_cursor&lt;br /&gt;FETCH NEXT FROM columns_cursor INTO @table_name, @column_name&lt;br /&gt;WHILE @@FETCH_STATUS = 0&lt;br /&gt;BEGIN&lt;br /&gt;	--see if there are any replacements needed by table and field&lt;br /&gt;	select @sql = 'select ''' + @table_name + ''' as tablename, &lt;br /&gt;                ''' + @column_name + ''' as columnname, count(*) from ' &lt;br /&gt;                + @table_name &lt;br /&gt;                + ' where ' + @column_name + ' like ''%' + @replacetext &lt;br /&gt;                + '%'' having count(*) &gt; 0 ' &lt;br /&gt;	--perform the replacements&lt;br /&gt;	--select @sql = 'update ' + @table_name + ' set ' + @column_name &lt;br /&gt;        --+ '=replace(' + @column_name + ',@replacetext,@withtext) where ' &lt;br /&gt;        --+ @column_name + ' like ''%' + @replacetext + '%''' &lt;br /&gt;	print @sql&lt;br /&gt;	exec(@sql)&lt;br /&gt;	FETCH NEXT FROM columns_cursor INTO @table_name, @column_name&lt;br /&gt;END&lt;br /&gt;CLOSE columns_cursor&lt;br /&gt;DEALLOCATE columns_cursor&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;I know some people really loathe cursors, but they have their place. If you have a better way to do a database wide search/replace without them, let me know.&lt;br /&gt;&lt;br /&gt;Of course this script could be put into a stored procedure and you could pass in a list of tables to update or get as fancy as you want.&lt;br /&gt;&lt;br /&gt;I've been considering adding this functionality to Qrimp, to let users do an application-wide search/replace similar to the application-wide search that is available now.  I think it might be so easy to make a mistake with it that I am reluctant to add the feature. &lt;br /&gt;&lt;br /&gt;Is an application-wide search/replace something we should add to all Qrimp Apps?</description><category>Code</category><pubDate>18-Dec-2007</pubDate><guid>http://www.qrimp.com/blog/blog.Comprehensive-Database-Search-and-Replace.html</guid></item><item><title>Performance Enhancements</title><link>http://www.qrimp.com/blog/blog.Performance-Enhancements.html</link><description>A description of the performance improvements in today's release&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Today we released several performance improvements that dramatically reduce page load times.  In some cases, these performance improvements can reduce load times by as much as 80%.  This will allow the Qrimp Platform to scale even better.</description><category>Releases</category><pubDate>16-Dec-2007</pubDate><guid>http://www.qrimp.com/blog/blog.Performance-Enhancements.html</guid></item><item><title>The Long Tail of Application Development</title><link>http://www.qrimp.com/blog/blog.The-Long-Tail-of-Application-Development.html</link><description>Custom Application Development is still an expensive endeavor. By reducing barriers and cost, more information management needs can be addressed.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;In his book, &lt;a href=&quot;http://www.thelongtail.com/&quot;&gt;The Long Tail&lt;/a&gt;, Chris Anderson talks about how MP3s brought reductions in distribution costs to the music industry.  Before MP3s, we either had to like what we heard on the radio, buy expensive LPs, CDs and bootleg recordings, or make our own music. The same is true of software.  We can like what is made available to us, buy expensive custom software packages, or build our own software.  The problem is that software is a lot more expensive than music.&lt;br /&gt;&lt;img src=&quot;/attachments/09e3a08d-3e81-42a5-a162-5a77581f5a9d/longtailofapplicationdevelopment.png&quot; /&gt;&lt;br /&gt;I read The Long Tail the first time as I was developing The Qrimp Platform, so I thought about how Software fit into that picture.  I saw these huge mass marketed software systems that required the consumer to adapt to the software. Either the software neglected to meet all the needs of the user or it was bloated with tons of features we don't need.  Trying to please everyone with an album can ruin it, just like trying to please everyone with a software product can ruin it.&lt;br /&gt;&lt;br /&gt;It costs a lot of money to find good talent, write songs, record them, print CDs and distribute them to thousands of retail outlets.  The same is true of packaged software and to be profitable that software must appeal to the mass market.  We often unwittingly buy software that is poorly written, full of bugs, and designed for obsolescence.  More emphasis is put on a flashy package than an application with substance and longevity.  These types packages create more problems than they solve.&lt;br /&gt;&lt;br /&gt;In The Long Tail of music, the population of listeners is too small to support good recording studios and marketing budgets.  Many times, potential fans of the music never came across it to know it would be their favorite. The same is true of software.  Solutions designed for smaller markets may be lacking important features or performance and small ISVs can't afford to market their products to the masses, so those who need them may never find them. These companies can go out of business leaving early adopters stranded with data in legacy systems that no longer work.&lt;br /&gt;&lt;br /&gt;The solution to the problem of music distribution costs was MP3s.  The solution to custom application development costs is Qrimp.  Qrimp doesn't try to be a one-size-fits all solution to your specific information management requirements, just as the MP3 isn't designed for a particular song.  When we were building the platform, we weren't aware of all the diverse types of information it can manage.  Similarly, the makers of MP3s didn't know about all the music it would compress, but they designed the algorithm to look at properties of music in general, combine them with the way we hear music to develop an abstract formula that can be used effectively on any kind of music.  Qrimp looks at applications in general and the features we all need and want in them, regardless of the specific nature of the information the application manages.&lt;br /&gt;&lt;br /&gt;Qrimp opens the door to custom systems in The Long Tail by reducing development cost and time to market.  Get started by pasting a spreadsheet into a web-based form and a collaborative environment grows up around that data.  It evolves from a group of rows and columns into an enterprise class system with column level security, email notifications, search forms and the full power of relational database technology.  &lt;br /&gt;&lt;br /&gt;Qrimp is different because it spreads the cost of the system features to multiple customers, not the end product. The Qrimp Platform includes the kinds of features we want in any application, but instead of building them into an individual custom product, the implementation is abstracted into a system upon which as yet unimagined products can be built.&lt;br /&gt;&lt;br /&gt;The Long Tail of information has systems we've never thought of, but we know those systems are going to have many features in common. Sortable tables, security, notifications, auditing and edit history are the kinds of things we want in all the systems we use, but those features have before now been too expensive to incorporate into custom solutions.  Those features are time consuming and expensive to implement, so we usually sacrifice them for more important things like business logic and deadlines.  With Qrimp, the features come integrated automatically with every application allowing the developer to concentrate on the information and the users' needs.&lt;br /&gt;&lt;br /&gt;MP3s brought music to a larger audience. Qrimp brings custom applications to a larger audience.  An audience that previously didn't have access to anything but one-size-fits all solutions.  Qrimp reduces costs to the point that building systems to manage baseball card collections, dog training, a thesis or a catering company are within reach for a much broader user base than ever before.  It's no longer cheaper to adapt the business to the software. Built on the Qrimp Platform, the software adapts to the business.</description><category>Qrimp</category><pubDate>18-Dec-2007</pubDate><guid>http://www.qrimp.com/blog/blog.The-Long-Tail-of-Application-Development.html</guid></item><item><title>Top 20 Entrepreneurial Quotes</title><link>http://www.qrimp.com/blog/blog.Top-20-Entrepreneurial-Quotes.html</link><description>Get your motivation on.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Lots of good motivational quotes from the likes of Thomas Edison, Guy Kawasaki, JFK, Eisenhower, and more... &lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.cheaprevolution.com/the_cheap_revolution/2007/11/top-20-entrepre.html?partner=rss&quot;&gt;Read all 20 Entrepreneurial Quotes&lt;/a&gt;</description><category>Start-up</category><pubDate>15-Dec-2007</pubDate><guid>http://www.qrimp.com/blog/blog.Top-20-Entrepreneurial-Quotes.html</guid></item><item><title>Messaging, Error messages, table names and more</title><link>http://www.qrimp.com/blog/blog.Messaging-Error-messages-table-names-and-more.html</link><description>We updated the messaging functionality, improved the appearance of error messages and improved table name validation.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;While Qrimp has always had messaging functionality built in, it required specially configured tables for Contacts and Interactions. If these tables were not present, messaging wouldn't work when attempting to send external emails.  Today, we updated the messaging functionality to allow sending of external emails even if these tables aren't in your Qrimp App.  We also created a module that will allow us to add messaging to your Qrimp App very easily.  If you would like to add messaging to your app, send a request to support at qrimp.com.&lt;br /&gt;&lt;br /&gt;We also improved the appearance of the error messages by adding an icon to the left to help errors stand out. We also improved the error message that was displayed when entering text into a field that requires integers (numbers without decimals).&lt;br /&gt;&lt;br /&gt;We performed more stringent validation on table names when creating new tables.&lt;br /&gt;&lt;br /&gt;Finally, we improved the login page redirection so that it doesn't repeatedly add the redirect target if the user enters an invalid username and/or password.&lt;br /&gt;&lt;br /&gt;Thanks to Bill for alerting us to these issues.</description><category>Releases</category><pubDate>14-Dec-2007</pubDate><guid>http://www.qrimp.com/blog/blog.Messaging-Error-messages-table-names-and-more.html</guid></item><item><title>Add a table builds menus automatically</title><link>http://www.qrimp.com/blog/blog.Add-a-table-builds-menus-automatically.html</link><description>This new release adds menus for new tables automatically&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Now, when you add a new table to your Qrimp App, you'll see the menus for that table built automatically.  Once your table is created, you'll see a new menu tab with the same name as the table and a few sub menus including: Grid View, Calendar View (if there is a date field), Add New..., Form Field Layout, and Table Management (so you can modify the field names, change data types, or add a new columns easily.&lt;br /&gt;&lt;br /&gt;</description><category>Releases</category><pubDate>13-Dec-2007</pubDate><guid>http://www.qrimp.com/blog/blog.Add-a-table-builds-menus-automatically.html</guid></item><item><title>Official Website Launch and Beta</title><link>http://www.qrimp.com/blog/blog.Official-Website-Launch-and-Beta.html</link><description>We launch the website!&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;While y'all were eating your turkey and stuffin', we were hard at work getting our external website ready for you so we can show off the Platform. We hope you like it. Let us know what you think. More posts soon.</description><category>Qrimp</category><pubDate>24-Nov-2007</pubDate><guid>http://www.qrimp.com/blog/blog.Official-Website-Launch-and-Beta.html</guid></item><item><title>Beta Daze</title><link>http://www.qrimp.com/blog/blog.Beta-Daze.html</link><description>Poetic waxing about our Official Serious Beta Release&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;The website is up, the Beta version is ready and we're telling the world about Qrimp. It's exciting! It's like when you're sitting in the plane on the runway and you know that at any moment, you'll be okay'ed for take-off. We've hustled and bustled to get everything ready, setting up our &lt;a href=&quot;http://demo.qrimp.com&quot; title=&quot;Qrimp demo site&quot;&gt;demo site&lt;/a&gt;, streamlining the process of database transfer to the servers, and working out a few technical details.&lt;br /&gt;&lt;br /&gt;Over the next few weeks, we're really looking forward to seeing what people create with their Beta accounts. What types of applications will they build? We're also excited about getting some feedback. Will the world love it as much as we do? &lt;br /&gt;&lt;br /&gt;This Beta release is our opportunity to see how the community responds to Qrimp. Let us know what you like, what you don't like and what you would like to see in the next release. We've set up forums and help files at the &lt;a href=&quot;http://developer.qrimp.com&quot;&gt;Qrimp developer community&lt;/a&gt;. Give us some feedback! We'd really love to hear your thoughts!&lt;br /&gt;&lt;br /&gt;Thanks to all of you and look forward to seeing you in the forums!&lt;br /&gt;&lt;br /&gt;p.s. If you build something cool with your Qrimp app and you'd like to share it with the world, let us know and we'll add it to the &lt;a href=&quot;http://developer.qrimp.com&quot;&gt;Qrimp developer community&lt;/a&gt; and maybe even mention it in the blog!*</description><category>Qrimp</category><pubDate>30-Nov-2007</pubDate><guid>http://www.qrimp.com/blog/blog.Beta-Daze.html</guid></item><item><title>Fix - Single Table Search Error</title><link>http://www.qrimp.com/blog/blog.Fix---Single-Table-Search-Error.html</link><description>Fixed a bug which was the result of complicated single table search queries&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Tonight around 12 AM CST all sites will be updated to fix a bug that pops up if a particular combination of searches is performed on the same table using the search form light box.  This same bug also caused problems when using the Add menu here... option to save a search result. &lt;br /&gt;&lt;br /&gt;Now the results when performing multiple searches will repeatedly filter the result list. For example, if you first limit a result list by state, then perform another filter by city, the result will be only cities in the formerly selected state.  If you'd like to filter the full list of items, click the &lt;img src=&quot;http://www.qrimp.com/icons/crystal_project/32x32/actions/view_text.png&quot;&gt; icon, then filter again.&lt;br /&gt;&lt;br /&gt;</description><category>Releases</category><pubDate>12-Dec-2007</pubDate><guid>http://www.qrimp.com/blog/blog.Fix---Single-Table-Search-Error.html</guid></item><item><title>Hosted Solutions vs. Download and Install</title><link>http://www.qrimp.com/blog/blog.Hosted-Solutions-vs.-Download-and-Install.html</link><description>One of the key decisions to make as a software company is how to sell your product. Hosted or installed?&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Joel on Software, in &lt;a href=&quot;http://www.joelonsoftware.com/items/2007/12/06.html&quot;&gt;Where there's muck, there's brass&lt;/a&gt; writes:&lt;br&gt;&lt;br /&gt;&lt;p style=&quot;margin-left:1em&quot;&gt;&lt;EM&gt;We offer both kinds of FogBugz--hosted and installable--and our customers opt 4 to 1 to install it at their own site. For us, the installable option gives us five times the sales.  ... we've got racks and racks of nice, well-managed Dell servers with plenty of capacity and our tech support costs for the hosted version are zero. Life would be much easier. But we'd be making so much less money we'd be out of business.&lt;/em&gt;&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;How to sell Qrimp is a decision I have had to think about a lot.  On the one hand, I believe &lt;a href=&quot;http://www.itnews.com.au/News/NewsStory.aspx?story=46780&quot;&gt;SaaS is the future&lt;/a&gt;, but it's not the future yet.  There are still customers who want their information locked up tightly behind a rugged firewall -- and I don't blame them.  I'll attempt to justify their concerns, they are my concerns too, and I'll try to help you decide which to offer yourself.&lt;br /&gt;&lt;br /&gt;&lt;h5&gt;Hosting is easier for the solution provider&lt;/h5&gt;&lt;br /&gt;Hosting is a much easier solution.  The provider controls the environment, there's no need to fly out to the customer site to debug installations, you can concentrate on making the system good and powerful and avoid concentrating on the installation routine.  That last one is only partly true -- every time someone asks for an account, we have to perform a little bit of work to copy files and create a database, but still, I can control all that from my laptop anywhere in the world.&lt;br /&gt;&lt;br /&gt;For some systems, creating binary installables doesn't make a lot of sense. Can you imagine a locally installed version of Twitter or Youtube?  Of course not.  What about SalesForce? or Wikipedia?  In some cases it makes sense, in others not.  You'll have to look at your own product to determine, but in our case, both scenarios are viable.  Due to Joel's post, I'm going to continue down the road we started and offer both a hosted solution and an installable version.&lt;br /&gt;&lt;br /&gt;&lt;h5&gt;Belly Up?&lt;/h5&gt;&lt;br /&gt;A big part of my complaint with existing SaaS providers is that they are only available from the vendor's website.  If all my data is on that vendor's computers and the vendor goes belly up, what are my options?  If I can install the application on my own servers, I have less fear of using the service. If it's locked up in a proprietary database written in language I've never heard of or can't be installed on less than a $40,000 server cluster, I'd be cautious putting my business critical information on it.&lt;br /&gt;&lt;br /&gt;&lt;h5&gt;Privacy&lt;/h5&gt;&lt;br /&gt;What if, at some point I grow to love the service and I'm at the point I want to host super sensitive information in the application?  I won't be too comfortable knowing that some Database Administrator there could be sifting through it &lt;a href=&quot;http://valleywag.com/tech/your-privacy-is-an-illusion/gun-owner-says-facebook-gave-employer-access-to-her-private-profile-323882.php&quot;&gt;like they do over at FaceBook&lt;/a&gt;.  What if it's my source code?  What if it's the minutes to my Board of Director's meeting?  What if it's my patent library?  Who would put trade secrets in a hosted SaaS?&lt;br /&gt;&lt;br /&gt;I'm a real proponent of privacy -- especially my own -- so I think it is important to produce a product I would want to use myself.&lt;br /&gt;&lt;br /&gt;This is why SaaS is the &lt;em&gt;future&lt;/em&gt; and not the now.&lt;br /&gt;&lt;br /&gt;&lt;h5&gt;Scalability and Availability&lt;/h5&gt;&lt;br /&gt;The final issue I'll talk about today is scalability and the availability of Hosted solutions.  One complaint a lot of SaaS customers have is latency -- especially at the end of the month. We're all procrastinators and we all rush in at the same time -- the last minute.  If hundreds of thousands of people are hitting your servers all at once, scalability &lt;i&gt;will&lt;/i&gt; be a concern.  Of course we all use the best caching algorithms money can buy and unbelievably massive clustered environments to help us respond to the load, but what happens when the &lt;a href=&quot;http://www.networkworld.com/news/2007/051507-millions-disconnected-by-ntt-broadband.html&quot;&gt;internet goes down&lt;/a&gt;? &lt;a href=&quot;http://www.thewhir.com/marketwatch/bla081803.cfm&quot;&gt;Power outages&lt;/a&gt;? &lt;a href=&quot;http://www.engadget.com/2006/12/27/quake-hits-asia-with-huge-internet-blackouts/&quot;&gt;Earthquakes&lt;/a&gt;?&lt;br /&gt;&lt;a href=&quot;http://www.news.com/2100-1001-251427.html&quot;&gt;Technicians&lt;/a&gt;!?&lt;br /&gt;&lt;br /&gt;&lt;h5&gt;The best of both worlds&lt;/h5&gt;&lt;br /&gt;So, what we decided here at Qrimp is to offer both.  We're fortunate to have an architecture that supports it and an installation routine that isn't too painful.  I do all the development on a MacBook Pro running Windows XP, so I had to keep the system lightweight and easy to move around.  We require IIS 6.0 and SQL Server 2005 and the .NET CLR.  The best part about this is that it allows us to work off-line, so if the Internet goes down, we don't lose access to all of our data, just the stuff we've added since the last synchronize.</description><category>Start-up</category><pubDate>10-Dec-2007</pubDate><guid>http://www.qrimp.com/blog/blog.Hosted-Solutions-vs.-Download-and-Install.html</guid></item><item><title>Starting Up and Down and UP and down...</title><link>http://www.qrimp.com/blog/blog.Starting-Up-and-Down-and-UP-and-down....html</link><description>Starting a company isn't always roses, sometimes it's really hard. Sometimes you'll want to give up.  Don't.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Today I read, &quot;&lt;a href=&quot;http://blog.guykawasaki.com/2007/08/on-the-other-ha.html&quot;&gt;On the Other Hand: The Flip Side of Entrepreneurship by Glenn Kelman&lt;/a&gt;,&quot; and it made me feel a bit more normal.</description><category>Start-up</category><pubDate>11-Dec-2007</pubDate><guid>http://www.qrimp.com/blog/blog.Starting-Up-and-Down-and-UP-and-down....html</guid></item><item><title>The Story of Qrimp</title><link>http://www.qrimp.com/blog/blog.The-Story-of-Qrimp.html</link><description>A little bit about the history of Qrimp and what it has taken to get us here.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Qrimp was born out of the frustration involved in creating custom web applications. It is designed for those businesses and individuals who need an information management solution for which there is no existing packaged solution or who need a very customized solution to a particular business need.&lt;br /&gt;&lt;br /&gt;The web has been around for quite some time, but it is still very difficult to build web applications.  You have to know how to program. You have to know how to manage databases, hosting providers, test in multiple browsers, download and install IDE's, compilers, and understand security.&lt;br /&gt;&lt;br /&gt;Once you master all that, you have to reinvent the wheel every time you want to build a new system.  Login pages, sortable tables, search forms, navigation...  the biggest part of the development effort is mundane and boring.  &lt;br /&gt;&lt;br /&gt;Qrimp was designed to be the shortest path between your information and managing it on the web. Behind Qrimp is a team with years of experience building enterprise class web applications the hard way.  We have lots of ideas and lots of web applications we want to build, but it takes so much time, we'd never get to all of them.  That's why we built Qrimp.  With Qrimp, we can build a new website everyday if we want and adding to those sites, making them better, changing the look and feel and the information managed in them is very easy.&lt;br /&gt;&lt;br /&gt;The world is changing faster every day.  The amount of information we have to manage is increasing: projects, employees, inventory, customers, accounts receivable, accounts payable, real estate, ... the list is endless.  Our mission is to make it easy to build systems to help us manage the ever growing quantity of data out there and make it easy to get data into the system and out.&lt;br /&gt;&lt;br /&gt;This is just the beginning. We believe web based application development is the future. We are excited about this great opportunity.  If you'd like to join us in our mission to make information technology easier for everyone, &lt;a href=&quot;/signup.html&quot;&gt;create a beta account&lt;/a&gt; or a &lt;a href=&quot;http://demo.qrimp.com/createaccount.aspx&quot;&gt;demo account&lt;/a&gt; and send us your feedback.&lt;br /&gt;&lt;br /&gt;Enjoy!</description><category>Qrimp</category><pubDate>09-Dec-2007</pubDate><guid>http://www.qrimp.com/blog/blog.The-Story-of-Qrimp.html</guid></item></channel></rss>