<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Red27 Consulting</title>
  <id>http://127.0.0.1</id>
  <updated>2010-03-21</updated>
  <author>
    <name></name>
  </author>
  <entry>
    <title>Xtrn.me and Visutext added to Portfolio</title>
    <link rel="alternate" href="http://127.0.0.1/2012/03/23/xtrnme-and-visutext-added-to-portfolio/"/>
    <id>http://127.0.0.1/2012/03/23/xtrnme-and-visutext-added-to-portfolio/</id>
    <published>2012-03-23</published>
    <updated>2012-03-23</updated>
    <author>
      <name></name>
    </author>
    <summary type="html">&lt;p&gt;&lt;img src="/images/2012/home_visutext_xtrn.png" alt="Visutext &amp;amp; Xtrn.me" /&gt;&lt;/p&gt;

&lt;p&gt;Added Visutext and Xtrn.me to the &lt;a href="/portfolio"&gt;portfolio&lt;/a&gt;, check'em out!&lt;/p&gt;
</summary>
    <content type="html">&lt;p&gt;&lt;img src="/images/2012/home_visutext_xtrn.png" alt="Visutext &amp;amp; Xtrn.me" /&gt;&lt;/p&gt;

&lt;p&gt;Added Visutext and Xtrn.me to the &lt;a href="/portfolio"&gt;portfolio&lt;/a&gt;, check'em out!&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Hacks/Hackers Learn Ruby Wrap-up</title>
    <link rel="alternate" href="http://127.0.0.1/2011/10/18/hackshackers-learn-ruby-wrap-up/"/>
    <id>http://127.0.0.1/2011/10/18/hackshackers-learn-ruby-wrap-up/</id>
    <published>2011-10-18</published>
    <updated>2011-10-18</updated>
    <author>
      <name></name>
    </author>
    <summary type="html">&lt;h2&gt;Learn Ruby the Hard Way&lt;/h2&gt;

&lt;p&gt;Last Saturday, October 15th, I facilitated a Learn Ruby class at Boulder Digital Arts. We used the
&lt;a href="http://ruby.learncodethehardway.org/book/"&gt;Learn Ruby the Hard Way book&lt;/a&gt;. It was a
great group of people and a great facility. I hope people got something out of the class&amp;hellip;&lt;/p&gt;
</summary>
    <content type="html">&lt;h2&gt;Learn Ruby the Hard Way&lt;/h2&gt;

&lt;p&gt;Last Saturday, October 15th, I facilitated a Learn Ruby class at Boulder Digital Arts. We used the
&lt;a href="http://ruby.learncodethehardway.org/book/"&gt;Learn Ruby the Hard Way book&lt;/a&gt;. It was a
great group of people and a great facility. I hope people got something out of the class.
&lt;a href="http://www.google.com/url?sa=t&amp;amp;source=web&amp;amp;cd=1&amp;amp;sqi=2&amp;amp;ved=0CB0QFjAA&amp;amp;url=http%3A%2F%2Fwww.meetup.com%2Fhackshackersco%2F&amp;amp;ei=3pidTrSHCZOGiQKgzM2NCg&amp;amp;usg=AFQjCNEtvden0RzN_FuS-NzmPmHOH6H2bg&amp;amp;sig2=IgqMB27rs0R_dCc_mddspA"&gt;Hacks/Hackers CO&lt;/a&gt;
is planing more events like this, signup there if you want to join the next event.&lt;/p&gt;

&lt;h3&gt;Thanks to these Developers&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://twitter.com/seeflanigan"&gt;Cory&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://twitter.com/jasonnoble"&gt;Jason Noble&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://twitter.com/danielstutzman"&gt;Daniel Stutzman&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Anthony Pearson&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;Resources&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://ruby.learncodethehardway.org/book/"&gt;Learn Ruby the Hard Way&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://rubykoans.com/"&gt;Ruby Koans&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://ruby-doc.org/"&gt;Ruby API Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://ruby.railstutorial.org/"&gt;Rails Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://api.rubyonrails.org/"&gt;Rails Documentation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;Sponsors&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.boulderdigitalarts.com/"&gt;Boulder Digital Arts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.tekhne.co/"&gt;Tekhne CO&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</content>
  </entry>
  <entry>
    <title>Hacks/Hackers CO - April 27!</title>
    <link rel="alternate" href="http://127.0.0.1/2011/04/12/hackshackers-co-april-27/"/>
    <id>http://127.0.0.1/2011/04/12/hackshackers-co-april-27/</id>
    <published>2011-04-12</published>
    <updated>2011-04-12</updated>
    <author>
      <name></name>
    </author>
    <summary type="html">&lt;p&gt;&lt;img class="aligncenter" title="colorado_side" src="/images/2011/04/colorado_side.gif" alt="" width="150" height="100" /&gt;&lt;/p&gt;

&lt;p&gt;I&amp;rsquo;m helping co-organize the &lt;a href="http://www.meetup.com/hackshackersco/events/17272583/"&gt;Hacks/Hackers Colorado&lt;/a&gt;&lt;span&gt; chapter. We&amp;rsquo;re bringing Hacks and Hackers together to help spur innovation in Colorado and build community. If you have any interest in seeing what we&amp;rsquo;re about or helping decide the future direction, &lt;/span&gt;&lt;a href="http://www.meetup.com/hackshackersco/events/17272583/"&gt;come out April 27th, 6:30p&lt;/a&gt;.&lt;/p&gt;
</summary>
    <content type="html">&lt;p&gt;&lt;img class="aligncenter" title="colorado_side" src="/images/2011/04/colorado_side.gif" alt="" width="150" height="100" /&gt;&lt;/p&gt;

&lt;p&gt;I&amp;rsquo;m helping co-organize the &lt;a href="http://www.meetup.com/hackshackersco/events/17272583/"&gt;Hacks/Hackers Colorado&lt;/a&gt;&lt;span&gt; chapter. We&amp;rsquo;re bringing Hacks and Hackers together to help spur innovation in Colorado and build community. If you have any interest in seeing what we&amp;rsquo;re about or helping decide the future direction, &lt;/span&gt;&lt;a href="http://www.meetup.com/hackshackersco/events/17272583/"&gt;come out April 27th, 6:30p&lt;/a&gt;.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Released: Fluid Meeting Spaces!</title>
    <link rel="alternate" href="http://127.0.0.1/2011/03/21/released-fluid-meeting-spaces/"/>
    <id>http://127.0.0.1/2011/03/21/released-fluid-meeting-spaces/</id>
    <published>2011-03-21</published>
    <updated>2011-03-21</updated>
    <author>
      <name></name>
    </author>
    <summary type="html">&lt;p style="text-align: left;"&gt;Working with &lt;a href="http://herodesignstudio.com/"&gt;Hero Design Studio&lt;/a&gt; and &lt;a href="http://www.fluidcoffeebar.com/"&gt;Fluid Coffee Bar&lt;/a&gt;, &lt;a href=""&gt;Red27&lt;/a&gt; developed the &lt;a href="http://fluidmeetingspaces.com"&gt;Fluid Meeting Spaces&lt;/a&gt; site. We integrated the &lt;a href="http://www.supersaas.com"&gt;SuperSaas&lt;/a&gt; calendaring system into the site to allow Fluid Meeting Spaces users to display, reserve, and share meeting details. Working on a short deadline and budget we were able to provide a huge amount of functionality and customization very quickly.&lt;/p&gt;

</summary>
    <content type="html">&lt;p style="text-align: left;"&gt;Working with &lt;a href="http://herodesignstudio.com/"&gt;Hero Design Studio&lt;/a&gt; and &lt;a href="http://www.fluidcoffeebar.com/"&gt;Fluid Coffee Bar&lt;/a&gt;, &lt;a href=""&gt;Red27&lt;/a&gt; developed the &lt;a href="http://fluidmeetingspaces.com"&gt;Fluid Meeting Spaces&lt;/a&gt; site. We integrated the &lt;a href="http://www.supersaas.com"&gt;SuperSaas&lt;/a&gt; calendaring system into the site to allow Fluid Meeting Spaces users to display, reserve, and share meeting details. Working on a short deadline and budget we were able to provide a huge amount of functionality and customization very quickly.&lt;/p&gt;


&lt;p&gt;&lt;img class="size-medium wp-image-241 aligncenter" title="FMS_Screen" src="/images/2011/03/FMS_Screen-300x201.png" alt="" width="300" height="201" /&gt;&lt;/p&gt;

&lt;p&gt;The site was built using Ruby on Rails with deep API integration with SuperSaas for the calendar. Members don&amp;rsquo;t need to login to two different system as is sometimes the case when integrating with other sites. Also, members can easily share the event details with their friends using Twitter, Facebook, and Email. The site is built on the Refinery CMS allowing Fluid Coffee Bar and Hero to edit the page content, add blog posts, and view members of the site. Some additional promotional features are also built in. Lastly, the site is in a good position to add more features as the needs of the users increase.&lt;/p&gt;

&lt;p&gt;Checkout the site and &lt;a href="http://fluidmeetingspaces.com"&gt;reserve a meeting space&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;More info:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.thedenveregotist.com/news/local/2011/march/21/introducing-fluid-meeting-spaces"&gt;Introducing Fluid Meeting Spaces&lt;/a&gt; by the Denver Egotist&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blog.herodesignstudio.com/better-logos-dont-make-better-coffee-or-a-better-place-to-gather/"&gt;Better logos don&amp;rsquo;t make better coffee or a better place to gather&lt;/a&gt; by Hero&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Node.JS and Twilio Guest Post at Twilio</title>
    <link rel="alternate" href="http://127.0.0.1/2011/02/16/node-js-and-twilio-guest-post-at-twilio/"/>
    <id>http://127.0.0.1/2011/02/16/node-js-and-twilio-guest-post-at-twilio/</id>
    <published>2011-02-16</published>
    <updated>2011-02-16</updated>
    <author>
      <name></name>
    </author>
    <summary type="html">&lt;p&gt;&lt;img class="aligncenter" title="nodejs" src="/images/2011/02/nodejs.jpg" alt="" width="240" height="63" /&gt;&lt;/p&gt;

&lt;p&gt;I recently did a guest post about using Twilio with Node.js.&lt;/p&gt;

&lt;blockquote&gt;Recently while working on a Functional Mockup for SMSBet.info, we decided to use &lt;a href="http://nodejs.org/"&gt;Node.js&lt;/a&gt; and Twilio. Combining these two technologies makes building SMS and  telephony apps really easy. Node.js is a super fast, event-based, async  server-side JavaScript engine. While the project is relatively young it  has a very committed and growing community behind it&amp;hellip;

</summary>
    <content type="html">&lt;p&gt;&lt;img class="aligncenter" title="nodejs" src="/images/2011/02/nodejs.jpg" alt="" width="240" height="63" /&gt;&lt;/p&gt;

&lt;p&gt;I recently did a guest post about using Twilio with Node.js.&lt;/p&gt;

&lt;blockquote&gt;Recently while working on a Functional Mockup for SMSBet.info, we decided to use &lt;a href="http://nodejs.org/"&gt;Node.js&lt;/a&gt; and Twilio. Combining these two technologies makes building SMS and  telephony apps really easy. Node.js is a super fast, event-based, async  server-side JavaScript engine. While the project is relatively young it  has a very committed and growing community behind it.

Node.js on  its own provides simple evented IO. The first step to building a Twilio  app was to find a web framework to help handle the basics of HTTP and  View rendering. &lt;a href="http://expressjs.com/"&gt;Express&lt;/a&gt; is a popular  framework that will work well for our needs. Using Express is enough to  be able to receive an SMS message, get it’s content, and respond.  That’s what I’m going to demonstrate here.&lt;/blockquote&gt;


&lt;p&gt;Read the whole post; &lt;a href="http://blog.twilio.com/2011/02/using-twilio-with-nodejs-by-dusty-candland-of-red27-consulting.html"&gt;Using Twilio with Node.js by Dusty Candland of Red27 Consulting.&lt;/a&gt;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Case Study: SMSBet built with Functional Mockups</title>
    <link rel="alternate" href="http://127.0.0.1/2011/02/11/case-study-smsbet-built-with-functional-mockups/"/>
    <id>http://127.0.0.1/2011/02/11/case-study-smsbet-built-with-functional-mockups/</id>
    <published>2011-02-11</published>
    <updated>2011-02-11</updated>
    <author>
      <name></name>
    </author>
    <summary type="html">&lt;p&gt;&lt;img class="aligncenter" title="SMSBet-Screen shots" src="/images/2011/02/SMSBet-Screen-shots.png" alt="" width="400" height="300" /&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://smsbet.info"&gt;Smsbet.info&lt;/a&gt; was the result of two development spikes, or &lt;a href="/functional-mockups/"&gt;functional mockups&lt;/a&gt;, to create a SMS based sports odds lookup service. We used &lt;a href="http://nodejs.org"&gt;NodeJS&lt;/a&gt; and &lt;a href="http://www.twilio.com"&gt;Twilio&lt;/a&gt; as the base platform and had a functional version after the first development spike. NodeJS was chosen for it&amp;rsquo;s high capacity event-based architecture to enable the service to handle high loads that might crop up before events. That version could receive and parse text messages, parse an XML document with sporting event odds, and return the results via text messaging, using &lt;a href="http://www.twilio.com"&gt;Twilio&lt;/a&gt;&amp;hellip;&lt;/p&gt;
</summary>
    <content type="html">&lt;p&gt;&lt;img class="aligncenter" title="SMSBet-Screen shots" src="/images/2011/02/SMSBet-Screen-shots.png" alt="" width="400" height="300" /&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://smsbet.info"&gt;Smsbet.info&lt;/a&gt; was the result of two development spikes, or &lt;a href="/functional-mockups/"&gt;functional mockups&lt;/a&gt;, to create a SMS based sports odds lookup service. We used &lt;a href="http://nodejs.org"&gt;NodeJS&lt;/a&gt; and &lt;a href="http://www.twilio.com"&gt;Twilio&lt;/a&gt; as the base platform and had a functional version after the first development spike. NodeJS was chosen for it&amp;rsquo;s high capacity event-based architecture to enable the service to handle high loads that might crop up before events. That version could receive and parse text messages, parse an XML document with sporting event odds, and return the results via text messaging, using &lt;a href="http://www.twilio.com"&gt;Twilio&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The second spike was mostly refinements and hosting. First we attempted &lt;a href="http://nodester.com"&gt;Nodester&lt;/a&gt;, which is in early alpha stages and had a few bugs that have since been ironed out. As a result we switched to &lt;a href="http://aws.amazon.com/ec2/"&gt;Amazons EC2&lt;/a&gt; micro instances, you can see more about those details in my post, . We also learned that the first XML feed wasn&amp;rsquo;t going to cut it and switched to a new provider. We also skinned the website for mobile viewing using &lt;a href="http://jquerymobile.com/"&gt;jQuery&amp;rsquo;s Mobile&lt;/a&gt; framework.&lt;/p&gt;

&lt;p&gt;In summary, the total time from beginning to working prototype was about 10 days, two development spikes. The cost, $7000. We learned that hosting on EC2 is a viable option, parsing the XML and caching the results works well, and NodeJS is a solid platform to build on and handle load. Of course, we knew Twilio was a solid provider for the SMS functionality. In addition, we found a solid API provider for odds and one not so solid provider. And lastly, built a mobile web interface to access the service from smart phones.&lt;/p&gt;

&lt;p&gt;If you have an idea for a web application, but have a lot of unknowns about how it might work, our &lt;a href="/functional-mockups/"&gt;functional mockups&lt;/a&gt; are made for you! &lt;a href="/contact/"&gt;Contact us&lt;/a&gt; to learn more.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Top 5 Web Application Languages</title>
    <link rel="alternate" href="http://127.0.0.1/2011/01/26/top-5-web-application-languages/"/>
    <id>http://127.0.0.1/2011/01/26/top-5-web-application-languages/</id>
    <published>2011-01-26</published>
    <updated>2011-01-26</updated>
    <author>
      <name></name>
    </author>
    <summary type="html">&lt;p&gt;There are many programming languages, and each has pluses and minuses. The frameworks, platforms and communities of an online enterprise are also important to consider when determining what language you want to use to support them. Make sure that whatever you choose is testable, supported in multiple environments, easily managed and easily used to build web applications&amp;hellip;&lt;/p&gt;
</summary>
    <content type="html">&lt;p&gt;There are many programming languages, and each has pluses and minuses. The frameworks, platforms and communities of an online enterprise are also important to consider when determining what language you want to use to support them. Make sure that whatever you choose is testable, supported in multiple environments, easily managed and easily used to build web applications.&lt;/p&gt;

&lt;p&gt;So, here&amp;rsquo;s a quick overview of languages used to create the server side of web applications:&lt;/p&gt;

&lt;p&gt;&lt;img class="aligncenter" title="code-flowchart" src="/images/2011/01/code-flowchart.jpg" alt="" width="400" height="300" /&gt;&lt;/p&gt;

&lt;h3&gt;Dynamic Languages&lt;/h3&gt;

&lt;p&gt;PHP might be the most used server-side programming language. A lot of platforms are built on &lt;a href="http://www.php.net/"&gt;PHP&lt;/a&gt;, including &lt;a href="http://drupal.org/"&gt;Drupal&lt;/a&gt;, &lt;a href="http://wordpress.org/"&gt;WordPress&lt;/a&gt;, &lt;a href="http://joomala.org/"&gt;Joomala&lt;/a&gt; and &lt;a href="http://www.magentocommerce.com/"&gt;Magento&lt;/a&gt;. With its recent version, PHP becoming much more object-oriented, which improves the ease with with the applications built on it can be maintained. Another plus for using PHP is that there are a lot of programmers who are proficient at using it. The language is fairly simple, dynamic and easy to understand. Among the negatives of using PHP that we have encountered is the high cost of maintenance due to a lack of automated tests and to recent inclusion of object-oriented constructs of the language. However, if you want to get feedback quickly from target markets, build a prototype or construct an application on an existing platforms, PHP might be a good choice.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.python.org/"&gt;Python&lt;/a&gt; is another popular language and is one of the supported languages on the &lt;a href="http://code.google.com/appengine/"&gt;Google App Engine&lt;/a&gt; platform. &lt;a href="http://www.djangoproject.com/"&gt;Django&lt;/a&gt; is a popular Python programming framework for building web applications. It’s a dynamic, object-oriented language and has a pretty strong community of users supporting it. Building on Django wouldn’t be a bad choice for getting an application built quickly. However, because of the highly dynamic nature of Python, the learning curve is higher than with PHP.&lt;/p&gt;

&lt;p&gt;Along the same lines as Python, there is &lt;a href="http://www.ruby-lang.org/en/"&gt;Ruby&lt;/a&gt;. Ruby is mostly known for its framework, &lt;a href="http://rubyonrails.org/"&gt;Ruby on Rails&lt;/a&gt;. There are other Ruby frameworks gaining popularity, such as &lt;a href="http://www.sinatrarb.com/"&gt;Sinatra&lt;/a&gt;. Ruby is similar to Python because it is highly dynamic and object-oriented. Ruby is very good for creating Domain Specific Languages, which means that Ruby is a very extensible language that can be &amp;ldquo;extended&amp;rdquo; to do all kinds of things. It is also very powerful. Red27 uses Ruby on Rails to build both Web applications and functional mockups. Ruby on Rails has much prebuilt functionality for web applications &amp;mdash; as well as built-in testing, data management and environment management. All of those things make it much easier to get an idea off the ground quickly. One chief downside to Ruby is that its highly dynamic, object-oriented nature adds to the learning curve required to use it proficiently.&lt;/p&gt;

&lt;h3&gt;Compiled Languages&lt;/h3&gt;

&lt;p&gt;The previous languages are all dynamic, which means that they are not compiled before running. The following are all compiled languages. Compiled languages have a bit of safety in the compilation, and also they generally perform much better.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.java.com/en/"&gt;Java&lt;/a&gt;, not to be confused with &lt;a href="http://en.wikipedia.org/wiki/JavaScript"&gt;JavaScript&lt;/a&gt;, is a compiled object-oriented, &lt;a href="http://www.cplusplus.com/doc/tutorial/"&gt;c++&lt;/a&gt; derivative language. Though its use has stagnated lately, Java has some widely used and supported frameworks. One of the newer and more innovative is the &lt;a href="http://www.playframework.org/"&gt;Play! Framework&lt;/a&gt;. It provides a lot of functionality for building Web applications, including testing, environments and data management. If you’re going to use Java, we highly recommend using the Play Framework. There are many Java developers, and the code is fairly easy to maintain. Java also generally scales better than dynamic languages.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/vcsharp/default"&gt;C#&lt;/a&gt; and &lt;a href="http://msdn.microsoft.com/en-us/vbasic/default"&gt;VB.Net&lt;/a&gt; are part of the &lt;a href="http://www.microsoft.com/net/"&gt;Microsoft .Net Framework&lt;/a&gt;, which is a general programming framework that also has support for web application in the ASP.NET part of the framework. We recommend using the &lt;a href="http://www.asp.net/mvc"&gt;Microsoft MVC&lt;/a&gt; framework or the &lt;a href="http://castleproject.org/"&gt;Castle Project&lt;/a&gt;. While these don’t yet have the level of support that Rails and Play Framework have, they are getting closer. .Net is a compiled language. However, it is becoming increasingly dynamic and makes for a compelling programming environment. There are many .Net developers and a growing community around open-source and innovative Web development. On the learning curve, we think these languages fall somewhere between PHP and Ruby.&lt;/p&gt;

&lt;p&gt;All of these languages are free or open-source and will run on either the Linux or Windows operating systems. Some things in .Net might not work on Linux, but most of the Web application features should work fine thanks to the &lt;a href="http://www.mono-project.com/Main_Page"&gt;Mono project&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;What should you use?&lt;/h3&gt;

&lt;p&gt;As with just about everything, it depends. If you’re learning from scratch, PHP will get you results the fastest. If you have programming experience in one of the languages profiled here, just use that or the one that is most similar to what you know. If you’re going to hire a developer, we recommend that he or she be familiar with Rails, Microsoft MVC, Play Framework, Django or a similar Web application-building framework. This will help you see results quickly and, assuming that your developer writes tests, have applications that are reliable and easy to maintain. Another advantage to these frameworks is the growing number of cloud-based hosting options that support them.&lt;/p&gt;

&lt;p&gt;There are, of course, other languages and frameworks that are equally qualified or better to serve your needs. &lt;a href="/app/contact"&gt;Contact Red27&lt;/a&gt; to determine which programming language is best for your project.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Hosting Your Web Application</title>
    <link rel="alternate" href="http://127.0.0.1/2011/01/13/hosting-your-web-application/"/>
    <id>http://127.0.0.1/2011/01/13/hosting-your-web-application/</id>
    <published>2011-01-13</published>
    <updated>2011-01-13</updated>
    <author>
      <name></name>
    </author>
    <summary type="html">&lt;p&gt;You will need to have your application &amp;ldquo;hosted&amp;rdquo; on the Internet so that people can find it. That service is called &lt;a href="http://en.wikipedia.org/wiki/Web_hosting_service"&gt;hosting&lt;/a&gt;. There are four main categories of hosting:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;shared hosting&lt;/li&gt;
&lt;li&gt;virtual private servers&lt;/li&gt;
&lt;/ul&gt;

</summary>
    <content type="html">&lt;p&gt;You will need to have your application &amp;ldquo;hosted&amp;rdquo; on the Internet so that people can find it. That service is called &lt;a href="http://en.wikipedia.org/wiki/Web_hosting_service"&gt;hosting&lt;/a&gt;. There are four main categories of hosting:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;shared hosting&lt;/li&gt;
&lt;li&gt;virtual private servers&lt;/li&gt;
&lt;li&gt;managed and non-managed servers&lt;/li&gt;
&lt;li&gt;cloud services.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;With &lt;strong&gt;shared hosting&lt;/strong&gt;, your website will share space with many others on the same server. This is good for small, relatively simple sites that don&amp;rsquo;t get much traffic. Shared hosting is also fine for blogging and simple interaction with customers. It&amp;rsquo;s also the cheapest option available. However, we don&amp;rsquo;t recommend shared hosting services for web applications, when 24/7 reliability is often mission-critical. Your shared hosting service will maintain the server, operating system, security patches and software updates. All you have to manage is your website or blog. Shared hosting usually has shared database hosting included or as an add-on and will be needed my most blogging options. I recommend &lt;a href="/hosting"&gt;Bluehost&lt;/a&gt; for shared hosting.&lt;/p&gt;

&lt;p&gt;&lt;img src="/images/2011/01/ComputerParts.jpg" width="423" height="284" alt="ComputerParts.jpg" style="float:left;" /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Virtual private servers&lt;/strong&gt; are the next level of shared hosting. The chief structural difference is that they work by allowing virtual machines to share one physical server. A virtual machine is a fully installed operating system that thinks it&amp;rsquo;s running directly on physical hardware when it&amp;rsquo;s really running in another program. The benefits of this configuration include the ability to completely isolate your operations from other users on the server and to relocate your operations if you require more resources. We recommend virtual private servers and cloud hosting for most Web applications. One service we use and recommend that others check out is &lt;a href="/vps"&gt;Linode&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Managed and non-managed servers&lt;/strong&gt; are sometimes called co-lo or co-location servers. These are typically used by enterprise companies and companies that require their own servers for any number of reasons. &amp;ldquo;Managed&amp;rdquo; means that as part of the service, the servers are managed, software is appropriately updated, data backups are managed, and tech problems and failures are repaired. &amp;ldquo;Non-managed&amp;rdquo; means that a service just provides power and Internet. That means the hardware, backups &amp;mdash; and everything else &amp;mdash; is up to you to manage. This is the most expensive option for hosting and shouldn&amp;rsquo;t be required for most Web applications.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cloud hosting&lt;/strong&gt; options include &lt;a href="http://www.heroku.com/"&gt;Heroku&lt;/a&gt;, &lt;a href="http://aws.amazon.com/ec2/"&gt;Amazons EC2&lt;/a&gt;, and &lt;a href="http://www.microsoft.com/windowsazure/"&gt;Microsoft Azure&lt;/a&gt;. These are highly scalable, virtual machines, where you can add new virtual data on demand. These options are good for applications that can require high capacity &amp;mdash; but not all of the time. Cloud options are fast becoming our favorite option because services like Heroku do most of the management and allow us and our customers to focus on Web application development and access to huge scaling options.&lt;/p&gt;

&lt;p&gt;&lt;a href="/app/contact"&gt;Contact Red27&lt;/a&gt; when you&amp;rsquo;re trying to determine which hosting and tech-support services are best for your company and specific projects.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title> Web and Database Servers for Web Applications</title>
    <link rel="alternate" href="http://127.0.0.1/2010/12/28/web-and-database-servers-for-web-applications/"/>
    <id>http://127.0.0.1/2010/12/28/web-and-database-servers-for-web-applications/</id>
    <published>2010-12-28</published>
    <updated>2010-12-28</updated>
    <author>
      <name></name>
    </author>
    <summary type="html">&lt;p&gt;&lt;img src="/images/2010/12/Datacenter_XSmall.jpg" width="425" height="282" alt="Datacenter_XSmall.jpg" style="float:right; margin-top:0px; margin-right:0px; margin-bottom:5px; margin-left:5px;" /&gt;
OK, let&amp;rsquo;s talk servers &amp;mdash; those big computers that run and &amp;ldquo;serve&amp;rdquo; Web applications to the world&amp;hellip;&lt;/p&gt;
</summary>
    <content type="html">&lt;p&gt;&lt;img src="/images/2010/12/Datacenter_XSmall.jpg" width="425" height="282" alt="Datacenter_XSmall.jpg" style="float:right; margin-top:0px; margin-right:0px; margin-bottom:5px; margin-left:5px;" /&gt;
OK, let&amp;rsquo;s talk servers &amp;mdash; those big computers that run and &amp;ldquo;serve&amp;rdquo; Web applications to the world.&lt;/p&gt;

&lt;p&gt;There are two major Web servers to choose from: &lt;a href="http://www.iis.net/"&gt;Microsoft IIS&lt;/a&gt; and &lt;a href="http://www.apache.org/"&gt;Apache&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Microsoft&amp;rsquo;s server is called Internet Information Services (IIS) and at version 7.0, it is a stable and reliable Web server. It can run all the common server programming languages and has advanced, built-in features, including caching and compression. However, it does come with the licensing requirements of Microsoft software. This means that you&amp;rsquo;ll have to pay for the latest version of Windows Server every few years. That licensing fee does include a level of support and assistance from Microsoft, so, in some cases, the expense might be worth it. If you&amp;rsquo;re developing a Web application in .Net, C# or VB.Net, IIS is most likely going to be your server. Most hosting companies are going to charge more to run IIS to cover the Microsoft license.&lt;/p&gt;

&lt;p&gt;The second option is Apache. Linux is usually the operating system for Apache. Thanks to the &lt;a href="http://www.mono-project.com/Main_Page"&gt;Mono Project&lt;/a&gt;, Apache also can run all the major programming languages. Linux is open-source and doesn&amp;rsquo;t include any licensing fees. It also doesn&amp;rsquo;t include any support &amp;mdash; although many companies provide Linux support for a fee. Linux hosting is almost always cheaper than Windows. Linux is a good option regardless of your programming choice, but if you&amp;rsquo;re using PHP, Python, Ruby or Java, then Linux is likely your best option.&lt;/p&gt;

&lt;p&gt;Many Web applications will need to store data in a database. These days, there are many database options and hosted options to consider. There are a lot of databases to explore, too, but we&amp;rsquo;re simply going to explain them in three broad categories: relational enterprise, relational and No SQL.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Relational enterprise databases&lt;/strong&gt; are the larger and more expensive options, such as &lt;a href="http://www.oracle.com/us/products/database/index.html"&gt;Oracle&lt;/a&gt; and &lt;a href="http://www.microsoft.com/sqlserver/en/us/default.aspx"&gt;Microsoft SQL Server&lt;/a&gt; &amp;mdash; both of which have licensing expenses with some level of included support. They typically will scale up very well and support huge numbers of transactions. Many companies provide Microsoft SQL Server shared hosting options. Microsoft&amp;rsquo;s SQL Server has to be hosted on Window Server, while many of the other options will run on both Windows and Linux.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Relational databases&lt;/strong&gt; are considered &lt;a href="http://www.mysql.com/"&gt;MySql&lt;/a&gt; and &lt;a href="http://www.postgresql.org/"&gt;Postgresql&lt;/a&gt;. These are similar in functionality to relational enterprise databases, but they are open-source. As a result, they don&amp;rsquo;t have any licensing requirements (or fees!) and are perfectly capable for most Web applications and even many enterprise applications. Many hosting companies include MySql shared databases, and an array of well known Web applications use MySql as their default database, including WordPress and Drupal.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="http://en.wikipedia.org/wiki/NoSQL"&gt;No Sql&lt;/a&gt; options&lt;/strong&gt; are gaining popularity because of their use by Facebook and other large social networking sites. No Sql is a misnomer, but for the sake of this, they can just be considered non-relational databases. They usually have specific use cases and allow for very high data storage and retrieval. Most Web applications will not need to use No Sql options. However, there are some hosted No Sql options that are beginning to rise in popularity and availability. Amazon&amp;rsquo;s Simple DB and Google&amp;rsquo;s Big Table are two of the most popular examples. Web applications built to be hosted on these solutions might want to take advantage of those options.&lt;/p&gt;

&lt;p&gt;Selecting your server and database architecture can be largely decided by your programming choices or your programming team. However, if there are some extreme aspects of your Web application, it&amp;rsquo;s important to understand what those are, how they would and wouldn&amp;rsquo;t work within your chosen structure, and what it&amp;rsquo;s going to cost to construct and maintain what you develop. As a rule of thumb, &amp;ldquo;scale-out&amp;rdquo; solutions (meaning that you&amp;rsquo;re adding capacity by adding more cheap servers) will be better served by license-free options and potentially by the No Sql options. And &amp;ldquo;scale-up&amp;rdquo; solutions (meaning that you&amp;rsquo;re getting bigger servers and relying on &lt;a href="http://en.wikipedia.org/wiki/Moore%27s_law"&gt;Moore&amp;rsquo;s Law&lt;/a&gt;, to add capacity) usually will be better served by the enterprise databases and, depending on the language, Windows servers.&lt;/p&gt;

&lt;p&gt;&lt;a href="/app/contact"&gt;Contact Red27&lt;/a&gt; for help determining the servers, databases and technology configurations that are best for your company and specific projects.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>What makes web applications work?</title>
    <link rel="alternate" href="http://127.0.0.1/2010/12/15/what-makes-web-applications-work/"/>
    <id>http://127.0.0.1/2010/12/15/what-makes-web-applications-work/</id>
    <published>2010-12-15</published>
    <updated>2010-12-15</updated>
    <author>
      <name></name>
    </author>
    <summary type="html">&lt;p&gt;Web applications are a client/server-based model.&lt;/p&gt;

&lt;p&gt;&amp;ldquo;Huh?&amp;rdquo; you ask.&lt;/p&gt;

&lt;p&gt;The client is your Web browser &amp;mdash; think Safari, Firefox or Internet Explorer &amp;mdash; and the server is the computer that allows you to see, or &amp;ldquo;serves,&amp;rdquo; the Web application.
There are many technologies that make Web applications work, but there are a few primary ones that we&amp;rsquo;ll mention here. The basic technologies are &lt;a href="http://en.wikipedia.org/wiki/HTML"&gt;Hyper Text Markup Language (HTML)&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Css"&gt;Cascading Style Sheets (CSS)&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Javascript"&gt;JavaScript (JS)&lt;/a&gt;. These make up the majority of the websites on the Internet. Some secondary technologies are Flash and Silverlight, which mostly are used for video, animation and games. On the backend, there are programming languages, such as &lt;a href="http://en.wikipedia.org/wiki/Ruby_(programming_language"&gt;Ruby&lt;/a&gt;), &lt;a href="http://en.wikipedia.org/wiki/Python_(programming_language"&gt;Python&lt;/a&gt;), &lt;a href="http://en.wikipedia.org/wiki/Php"&gt;PHP&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Java"&gt;Java&lt;/a&gt;, and &lt;a href="http://en.wikipedia.org/wiki/.NET_Framework"&gt;.Net&lt;/a&gt;&amp;hellip;&lt;/p&gt;
</summary>
    <content type="html">&lt;p&gt;Web applications are a client/server-based model.&lt;/p&gt;

&lt;p&gt;&amp;ldquo;Huh?&amp;rdquo; you ask.&lt;/p&gt;

&lt;p&gt;The client is your Web browser &amp;mdash; think Safari, Firefox or Internet Explorer &amp;mdash; and the server is the computer that allows you to see, or &amp;ldquo;serves,&amp;rdquo; the Web application.
There are many technologies that make Web applications work, but there are a few primary ones that we&amp;rsquo;ll mention here. The basic technologies are &lt;a href="http://en.wikipedia.org/wiki/HTML"&gt;Hyper Text Markup Language (HTML)&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Css"&gt;Cascading Style Sheets (CSS)&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Javascript"&gt;JavaScript (JS)&lt;/a&gt;. These make up the majority of the websites on the Internet. Some secondary technologies are Flash and Silverlight, which mostly are used for video, animation and games. On the backend, there are programming languages, such as &lt;a href="http://en.wikipedia.org/wiki/Ruby_(programming_language"&gt;Ruby&lt;/a&gt;), &lt;a href="http://en.wikipedia.org/wiki/Python_(programming_language"&gt;Python&lt;/a&gt;), &lt;a href="http://en.wikipedia.org/wiki/Php"&gt;PHP&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Java"&gt;Java&lt;/a&gt;, and &lt;a href="http://en.wikipedia.org/wiki/.NET_Framework"&gt;.Net&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Let&amp;rsquo;s look at how these things work together.&lt;/p&gt;

&lt;p&gt;&lt;img src="/images/2010/12/client-server-diagram.png" width="480" height="243" alt="client-server-diagram.png" class="center" /&gt;&lt;/p&gt;

&lt;p&gt;When you request &amp;mdash; or want to visit &amp;mdash; a Web page, an HTML document or file is sent from that page&amp;rsquo;s server down to your computer. Many times, that HTML document or file is going to be produced when you requested it thanks to a programming language on the server.&lt;/p&gt;

&lt;p&gt;That HTML is probably going to contain CSS, which is used to make the Web page you want to visit look nice. CSS makes it easier to change the look of the HTML document for tasks such as printing and mobile phone display.&lt;/p&gt;

&lt;p&gt;JavaScript will also mostly likely be a part of that HTML document. JavaScript is a programming language that runs in your Web browser and interacts with the HTML page. It can change, animate and interact with any part of the HTML document without going back to the server. It can also call back to the server to get more data or call other functions onto the server. This is called AJAX, and it is used on a growing number of sites. If you use a Web-based email client, it&amp;rsquo;s probably using AJAX. AJAX makes for a better user experience by allowing faster, behind-the-scenes interactions with the server.&lt;/p&gt;

&lt;p&gt;When you click a button or fill out a form on the Web page you&amp;rsquo;ve visited, the data you&amp;rsquo;ve provided are sent back to the server and complete some interaction with the Web application.&lt;/p&gt;

&lt;p&gt;One key thing to know about Web applications is that they are stateless &amp;mdash; meaning they don&amp;rsquo;t know one user from the next. What allows Web applications to identify individual users are known as &lt;a href="http://en.wikipedia.org/wiki/HTTP_cookie"&gt;cookies&lt;/a&gt;, which are bits of data that your browser sends to a server every time you request to visit a Web page. Cookies are limited by the domain name of the Web application, so cookies for Google.com are not sent to anyone other than Google.com. Without cookies, Web applications would not effectively be able to know you from anyone else accessing the application. Your click or form data are then processed on the server by one the programming languages, which, in turn, updates data in a database.&lt;/p&gt;

&lt;p&gt;Now that you have an idea about how web applications work, you&amp;rsquo;ll need to give some thought to the technologies you use to have your application built. Some are chosen for you &amp;mdash; and you can count on HTML, CSS and JavaScript being a part of your application no matter what. However, other technologies &amp;mdash; including the server, the programming language and the database you choose &amp;mdash; can have a large effect on your web application. &lt;a href="/app/contact"&gt;Contact Red27&lt;/a&gt; for help selecting what is right for your company or specific project.&lt;/p&gt;
</content>
 
