<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[Nathan Jeffery - Black Plunger]]></title><description><![CDATA[Outlandish thoughts and random ramblings.]]></description><link>https://blackplunger.com/</link><image><url>https://blackplunger.com/favicon.png</url><title>Nathan Jeffery - Black Plunger</title><link>https://blackplunger.com/</link></image><generator>Ghost 4.48</generator><lastBuildDate>Fri, 05 Dec 2025 13:13:19 GMT</lastBuildDate><atom:link href="https://blackplunger.com/author/nathan/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[Vodacom and MTN are trying to regulate (break) the Internet]]></title><description><![CDATA[<!--kg-card-begin: markdown--><p>As you might have seen, the networks are at it again, on a drive to get the government to regulate web services, which these network operators like to call <a href="https://en.wikipedia.org/wiki/Over-the-top_content">OTT Providers</a>.</p>
<p>Regulating Internet services will have a huge ripple effect through our economy. I don&apos;t even want to</p>]]></description><link>https://blackplunger.com/2016/01/15/vodacom-and-mtn-are-trying-to-regulate-break-the-internet/</link><guid isPermaLink="false">5c116f0492fca71ca0245f6a</guid><category><![CDATA[Technology]]></category><dc:creator><![CDATA[Nathan Jeffery]]></dc:creator><pubDate>Fri, 15 Jan 2016 20:26:00 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><p>As you might have seen, the networks are at it again, on a drive to get the government to regulate web services, which these network operators like to call <a href="https://en.wikipedia.org/wiki/Over-the-top_content">OTT Providers</a>.</p>
<p>Regulating Internet services will have a huge ripple effect through our economy. I don&apos;t even want to start thinking about how badly this could be implemented. Just look at how difficult it is to do basic admin these days.</p>
<p>How on earth would this even be managed? Can you imagine Facebook opening offices in every city or appointing officials in small towns to do RICA just so South Africans can talk to each other via their network?</p>
<p>I don&apos;t see this happening, it is counterintuitive and anti-Internet to add such labour intensive processes to the sign up process. If Vodacom and MTN have their way and companies like Facebook and Google are somehow forced to add complex and unnecessary red tape, to the sign up and account creation process, all that will happen is they will pull out of the country.</p>
<h3 id="fightingforregulationinsteadofinnovation">Fighting for regulation instead of innovation</h3>
<p>While organisations like <a href="http://www.digitalvillage.co.za/">Digital Village</a>, <a href="http://projectisizwe.org/">Project Isizwe</a> and the Western Cape government are making an effort to get more people online and bring communication costs down, companies like Vodacom and MTN are publicly making an effort to screw the South African consumer.</p>
<p>These big corporates are pleading poverty while the <a href="http://mybroadband.co.za/news/business/146407-vodacom-ceo-salaries-2008-to-2015.html">CEO of Vodacom was paid R10,933,000 in 2015</a> and the <a href="http://mybroadband.co.za/news/business/146321-mtn-ceo-salaries-from-2002-to-2014.html">CEO of MTN was paid R28,128,000 in 2014</a>. Who are they trying to fool?</p>
<p>They sell bandwidth to consumers and then if you don&apos;t use it within a certain amount of time, you lose it. Imagine buying a hamburger but because you don&apos;t eat it fast enough the restaurant throws it away. There is no way we would accept that from anyone in retail so why on earth is it acceptable from a cellular service provider?</p>
<p>Meanwhile, forward thinking network operator, <a href="http://www.fin24.com/Tech/Mobile/cell-c-regulating-otts-could-hurt-industry-20160114">Cell C is embracing OTTs and says regulating OTT players could hurt the industry</a> - No shit.</p>
<p>I&apos;ve been a Vodacom customer for going on 18 years now and I&apos;ve generally been pretty happy with the overall service even if I haven&apos;t been happy with the pricing. I have however reached the point where I feel we need to start threatening to cancel our contracts and move to operators like Cell C who are embracing the future.</p>
<p>They (networks like MTN and Vodacom) need to realise that they are nothing more than utility companies. The only value they have to offer us in the long term is faster connectivity and wider network coverage. There is, however, nothing stopping them from investing in Internet based startups or creating their own OTTs. Why not rather be productive and contribute to society by incentivising innovation or running their own accelerators or incubators. They could even establish investment vehicles to push our economy forward, in new directions, leveraging their core network and embracing new technologies instead of spending time, effort and money on slowing down progress with legal/regulatory proceedings and attacking companies offering services that benefit the community and economy.</p>
<h3 id="letsdebunksomemyths">Let&apos;s debunk some myths</h3>
<p>Service providers make some blanket claims that indicate they don&apos;t understand how the Internet or hosting business works. Worse, it seems that the CEOs of these companies making the claims don&apos;t understand how the billing systems work at their own companies.</p>
<p>Part of what is so infuriating, about this whole situation and some of the accusations being thrown around, is that both <a href="https://www.vodacombusiness.co.za/corporate/solutions/hosting/virtual-hosting-with-cloud-manager">Vodacom</a> and <a href="https://www.mtnbusiness.co.za/ProductsServices/DataCentreServices/Pages/Overview.aspx">MTN</a> are also commercial ISPs, operating <a href="https://en.wikipedia.org/wiki/Data_center">data centers</a>, home to what they themselves refer to as OTTs; they should know that anyone operating a cloud service(OTT) pays for hosting and bandwidth utilisation as it&apos;s one of their sources of revenue.</p>
<!--To clear things up for everyone, let's debunk some myths.-->
<h4 id="myth1ottoperatorsarefreeriders">Myth 1 - OTT operators are &quot;free riders&quot;</h4>
<p><em>What utter nonsense.</em></p>
<p>Every cat picture and meme you look at on Facebook costs both you and Facebook money to transmit over the Internet. The same goes for watching videos on Youtube and you guessed it, Netflix.</p>
<p>Every website and web service pays to stay online. Companies like Facebook, Twitter, Google, Microsoft and Apple pay enormous amounts of money to run servers in countries around the world.</p>
<p>They either rent data center space or set up their own data centers. They need to pay for connecting to ISPs and either pay for bandwidth used or for dedicated bandwidth/pipe.</p>
<p>Think of it this way. At home you can either have <a href="http://mybroadband.co.za/news/adsl/86003-capped-versus-uncapped-adsl.html">capped or uncapped</a> <a href="https://en.wikipedia.org/wiki/Asymmetric_digital_subscriber_line">ADSL</a>. If you have capped ADSL you pay for data used and if you have uncapped ADSL you pay for the size/speed of your data pipe/connection, in other words the amount of data you can transmit per second. Uncapped connections usually come with a fair usage policy which sets an upper limit on how much bandwidth you may transmit either via upload or download, during a 30 day period, before being throttled to an almost uselessly slow speed. These same concepts apply to the tech giants but on a massively different scale. Instead of needing to worry about <a href="https://en.wikipedia.org/wiki/Megabyte">megabytes</a>, they&apos;re working with <a href="https://en.wikipedia.org/wiki/Terabyte">terabytes</a> and <a href="https://en.wikipedia.org/wiki/Petabyte">petabytes</a>. All of this costs <strong>real</strong> money.</p>
<h4 id="myth2ottservicesarebeingusedforfree">Myth 2 - OTT services are being used for free</h4>
<p>The utter cheek and audacity, of network operators, to complain that accessing OTTs is free is unbelievable.</p>
<p>Users a.k.a. <strong>paying customers</strong> access the Internet either through purchasing data bundles from ISPs/mobile networks or paying for network access in the form of a monthly subscription. Once on the network, users can access hosted websites and services, all of which use bandwidth which they have paid for.</p>
<p>Below I outline some differences between the traditional and modern (Internet) engagement and billing models.</p>
<h5 id="traditionalmodel">Traditional Model</h5>
<p><em>Initiator pays.</em></p>
<p><img src="https://blackplunger.com/content/images/2018/12/traditional_model.jpg" alt="Example diagram of the traditional billing model" loading="lazy"></p>
<p>In the old model, the person initiating the phone call or sending the message is the only one who pays for the communication<sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup>.</p>
<p>Remember the days of the &quot;please call me&quot;?</p>
<p>A &quot;please call me&quot; would allow someone without airtime to send a free message to someone else (presumably with airtime) to call them back. The reason this worked and was viable is because the person who initiates the call pays for it so the person being called, in this case the person who sent the &quot;please call me&quot;, does not need to have any airtime as their participation in the conversation is free. They could both listen and speak without incurring any cost.</p>
<h5 id="internetbasedvoiceandmessages">Internet based voice and messages</h5>
<p><em>Everyone pays.</em></p>
<p><img src="https://blackplunger.com/content/images/2018/12/modern_model.jpg" alt="Example diagram of the modern billing model" loading="lazy"></p>
<p>There is a big difference in how Internet based services work compared to the traditional model<sup class="footnote-ref"><a href="#fn2" id="fnref2">[2]</a></sup>.</p>
<p>In the modern Internet world, the networks being operated by the telecommunications companies, whether it be cellular or fixed line, provide a data conduit/connection through which devices can communicate with each other. All devices on the big inter connected network, also referred to as the Internet, pay to participate and pay for data traffic in both directions.</p>
<p>With this in mind, any OTT operator doing their job properly will be using <a href="https://en.wikipedia.org/wiki/Data_compression">compression</a> and efficient <a href="https://en.wikipedia.org/wiki/Speech_coding">encoding</a> to reduce the bandwidth being used by their service as it costs them money to operate. This leads to less strain on the network and smaller data packages being sent between devices. As a result of this, modern Internet based communication is more efficient and generally uses the least possible amount of data required to get the job done. This is good for everyone, even the traditional ISPs, as it reduces the load on the networks. It might not result in surges in data usage (and revenue) up front but long term it results in faster Internet adoption and more users spending money to get online and do business online.</p>
<p>Due to both directions of traffic being billable, all parties pay to be part of a conversation. Whether it is a <a href="https://en.wikipedia.org/wiki/Voice_over_IP">VoIP</a> call or a group chat via <a href="https://en.wikipedia.org/wiki/Instant_messaging">IM</a> users pay to both send (upload) and receive (download) data. This means the more people participating in a conversation, the more bandwidth is being invoiced, even if only one person is sending the messages or speaking.</p>
<h3 id="regulationwillaffecteveryone">Regulation will affect everyone</h3>
<p>Tell your friends and your family. Help them understand the deep reaching impact, should Vodacom and MTN get their way. This is an issue that will affect us all. The definition of OTT is vague and could eventually be twisted and applied to this very website you&apos;re reading this post on.</p>
<h6 id="furtherreadingandrelatedlinks">Further reading and related links</h6>
<ul>
<li><a href="http://www.techcentral.co.za/mtn-boss-derides-ott-free-riders/51167/">MTN boss derides OTT &apos;free riders&apos; - 22 September 2014</a></li>
<li><a href="http://www.nation.co.ke/lifestyle/smartcompany/Why-telcos-want-Facebook-and-WhatsApp-regulated/-/1226/2761052/-/d16birz/-/index.html">Why telcos want Facebook and WhatsApp regulated - 22 June 2015</a></li>
<li><a href="http://www.techcentral.co.za/vodacom-wants-whatsapp-regulated/61151/">Vodacom wants WhatsApp regulated - 9 November 2015</a></li>
<li><a href="http://extensia-ltd.com/why-whatsapp-must-be-regulated-in-south-africa/">SOUTH AFRICA: WHY WHATSAPP MUST BE REGULATED IN SOUTH AFRICA - 23 November 2015</a></li>
<li><a href="http://www.fin24.com/Tech/News/whatsapp-faces-possible-regulation-in-south-africa-20160113?isapp=true">WhatsApp faces possible regulation in SA - 13 January 2015</a></li>
<li><a href="http://www.htxt.co.za/2016/01/13/parliamentary-committee-to-discuss-regulation-of-whatsapp-and-skype/">PARLIAMENTARY COMMITTEE TO DISCUSS REGULATION OF WHATSAPP AND SKYPE - 13 January 2015</a></li>
<li><a href="http://capetalk.co.za/articles/10799/whatsapp-and-skype-regulation">Could Whatsapp be regulated? - 14 January 2015</a></li>
<li><a href="http://www.fin24.com/Tech/Opinion/hands-off-our-whatsapp-say-fin24-users-20160114">Hands off WhatsApp, say Fin24 users - 14 January 2015</a></li>
<li><a href="http://qz.com/594278/south-africa-wants-to-regulate-whatsapp/">Hot debate in South Africa: How to stop WhatsApp from freeloading off local mobile networks - 14 January 2015</a></li>
<li><a href="http://www.all4women.co.za/616267/news/south-african-news/whatsapp-skype-under-threat-from-govt">WhatsApp, Skype under threat from govt - 14 January 2015</a></li>
</ul>
<hr class="footnotes-sep">
<section class="footnotes">
<ol class="footnotes-list">
<li id="fn1" class="footnote-item"><p>Calls made to networks other than the user&apos;s home network are handled through <a href="https://en.wikipedia.org/wiki/Interconnection">interconnection</a>, which is a complex issue on its own. <a href="#fnref1" class="footnote-backref">&#x21A9;&#xFE0E;</a></p>
</li>
<li id="fn2" class="footnote-item"><p>This only covers the high level concepts; the billing structure is actually more complex. I&apos;m just trying to illustrate that it&apos;s a multi-payer situation now and that same packet of data is being paid for multiple times by different parties. There are other more complex issues such as peering which this <a href="http://arstechnica.com/features/2008/09/peering-and-transit/">Ars Technica article</a> covers quite nicely. <a href="#fnref2" class="footnote-backref">&#x21A9;&#xFE0E;</a></p>
</li>
</ol>
</section>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Dear Apple - Sketch is leaving the App Store]]></title><description><![CDATA[<p>I&apos;m one of those people who has essentially abandoned the Adobe way. I install all of my apps from the App Store and that is the way I like it.</p><p>The news that <a href="http://sketchapp.com/exit">Sketch will no longer be distributing through the App Store</a> is fucking sad.</p><p>Apple, you</p>]]></description><link>https://blackplunger.com/2015/12/02/sketch-is-leaving-the-appstore/</link><guid isPermaLink="false">5c116d1092fca71ca0245f63</guid><category><![CDATA[Technology]]></category><dc:creator><![CDATA[Nathan Jeffery]]></dc:creator><pubDate>Wed, 02 Dec 2015 20:17:00 GMT</pubDate><content:encoded><![CDATA[<p>I&apos;m one of those people who has essentially abandoned the Adobe way. I install all of my apps from the App Store and that is the way I like it.</p><p>The news that <a href="http://sketchapp.com/exit">Sketch will no longer be distributing through the App Store</a> is fucking sad.</p><p>Apple, you need to sort out your shit. This is not the way of the force.</p><p>I don&apos;t want to need to keep track of application purchases in different places and need to worry about stupid license keys. I love being able to buy software and have all of my purchases logged and stored in my Apple account.</p><p>You already <a href="https://panic.com/blog/the-2014-panic-report/">chased away Panic Inc</a>, please get your house in order. It&apos;s not like you do this for free, you take commission so it&apos;s in your interest to keep the popular products distributing through the App Store and it&apos;s better for us users too.</p>]]></content:encoded></item><item><title><![CDATA[How to make your iPhone's battery last as long as your old Nokia]]></title><description><![CDATA[<p>Currently my iPhone&apos;s battery is sitting at 5 percent. It&apos;s been on for more than 7.6 days and it could probably go for a few more hours.</p><figure class="kg-card kg-image-card"><img src="https://blackplunger.com/content/images/2018/12/iphone_battery_life.jpg" class="kg-image" alt loading="lazy"></figure><p>How do I get my phone battery to last so long? I don&apos;t install useless shit</p>]]></description><link>https://blackplunger.com/2015/12/01/how-to-make-your-iphones-battery-last-as-long-as-your-old-nokia/</link><guid isPermaLink="false">5c11131792fca71ca0245f59</guid><category><![CDATA[Technology]]></category><dc:creator><![CDATA[Nathan Jeffery]]></dc:creator><pubDate>Tue, 01 Dec 2015 13:54:00 GMT</pubDate><content:encoded><![CDATA[<p>Currently my iPhone&apos;s battery is sitting at 5 percent. It&apos;s been on for more than 7.6 days and it could probably go for a few more hours.</p><figure class="kg-card kg-image-card"><img src="https://blackplunger.com/content/images/2018/12/iphone_battery_life.jpg" class="kg-image" alt loading="lazy"></figure><p>How do I get my phone battery to last so long? I don&apos;t install useless shit on it.</p><p>When I got my first <em>smart phone</em>, a Google Nexus S, I installed a lot of apps on it and tried out all sorts of software. As time past and I&apos;ve gone through different phones, I&apos;m now an iPhone person, I&apos;ve come to realise that most apps are a waste of time and on top of that a waste of battery life.</p><p>A while back I decided to <a href="https://nathanjeffery.co/2014/12/12/changing-social-habits/">clean up my phone and delete a bunch of social apps</a>. The only apps I have installed on my phone now are IA Writer(I can&apos;t help myself), Evernote(I&apos;m hoping they fix the things that frustrate me), Kindle, Twitter and Instagram. My next phone probably won&apos;t have Instagram installed.</p><p>By keeping the number of apps installed to a bare minimum, I not only save bandwidth and battery from apps constantly polling for updates but also save time as I&apos;m not tempted to open an app just because it&apos;s installed on my phone.</p><p>If I really want to check Facebook or LinkedIn on my phone, I can do it via the browser.</p><p>It&apos;s that simple. Don&apos;t install a bunch of crap on your phone and don&apos;t use your phone for stuff you could be doing on your computer with a much better user experience.</p><p>Mobile is great but it&apos;s also intrusive. By restricting what you use your phone for you&apos;ll notice that you are more <em>present</em> as getting up to go sit at your computer requires a conscious decision to be made and sometimes some effort, this means you&apos;ll be more focused on the people you&apos;re with, when you&apos;re with them and more focused on your computer experiences when you&apos;re at your computer.</p><p>Just because your phone is smart, does not give you an excuse for being dumb or rude.</p><p><em>Credit to <a href="https://twitter.com/noxowe">Laszlo Levente M&#xE1;ri</a> for essentially coming up with the title for this post.</em></p>]]></content:encoded></item><item><title><![CDATA[It's time you become a builder]]></title><description><![CDATA[<!--kg-card-begin: html--><p>So you have an idea but you can&#x2019;t code (yet) and you don&#x2019;t have a budget to hire someone to build it. Perhaps you&#x2019;ve tried to find a developer with a passion for the same ideas/problems as you but you&#x2019;ve found</p>]]></description><link>https://blackplunger.com/2015/10/13/its-time-you-become-a-builder/</link><guid isPermaLink="false">5c10e3d092fca71ca0245f51</guid><category><![CDATA[Development]]></category><category><![CDATA[Entrepreneurship]]></category><dc:creator><![CDATA[Nathan Jeffery]]></dc:creator><pubDate>Tue, 13 Oct 2015 10:36:00 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: html--><p>So you have an idea but you can&#x2019;t code (yet) and you don&#x2019;t have a budget to hire someone to build it. Perhaps you&#x2019;ve tried to find a developer with a passion for the same ideas/problems as you but you&#x2019;ve found it difficult to find someone willing to work for free; let me tell you, you&#x2019;re not alone. The chances that you&#x2019;ll find someone willing to spend time working on your idea for free is highly unlikely, especially if all you have to show for it is a few words or a sketch on a napkin.</p>

<p>If you&apos;re serious about your project and want to make progress, it&apos;s time for you to learn to code.  </p>

<h4>Log and develop your ideas</h4>  

<p>Write down all of your ideas - use a digital service that will sync your ideas between devices, some of my favourites include: <a href="https://ia.net/writer" target="_blank">iA Writer</a>, <a href="http://evernote.com/" target="_blank">Evernote</a>, <a href="https://www.wunderlist.com/" target="_blank">Wunderlist</a> and <a href="https://www.google.com/docs/about/" target="_blank">Google Docs</a>.</p>

<p>Add to and refine your ideas constantly. Every time you think of a new idea or something that might make a specific product or solution work better add it to your notes. Everything should be logged; you never know when you&apos;ll be able to put an idea into production or turn it into a business.  </p>

<h4>Choose your first project</h4>  

<p>It&apos;s important that your first project is achievable, this means it should not be overly complex. The purpose behind coding up your first project is to gain experience and learn the core skills required to build software.</p>

<p>A key principle to remember here is that done is greater than perfect.  </p>

<h4><a href="https://en.wikipedia.org/wiki/Mockup" target="_blank">Mock up</a> your <a href="https://en.wikipedia.org/wiki/User_interface" target="_blank">interface</a></h4>  

<p>The first step towards building your functional software is figuring out how your system is going to look and how it&apos;s going to work from an information flow and user perspective.</p>

<p>Start mapping out the user interface. You could use paper and pen or get a design program, anything to help you visualise your idea better or explain it to someone else. I personally like <a href="https://www.omnigroup.com/omnigraffle" target="_blank">Omnigraffle</a> and <a href="http://www.sketchapp.com/" target="_blank">Sketch</a>. You could also try&#xA0;<a href="https://en.wikipedia.org/wiki/Microsoft_Visio" target="_blank">Visio</a>, <a href="https://inkscape.org/en/" target="_blank">Inkscape</a>, <a href="https://balsamiq.com/products/mockups/" target="_blank">Balsamiq Mockups</a> or any other design program you feel comfortable using.</p>

<p>It&apos;s important to map out how you think the system will work, to help you figure out what fields you need to cater for and what buttons need to go where. Remember it&apos;s all just digital data so it can be changed later and you&apos;ll always have better ideas once you&apos;ve started actually coding and seen it come together.</p>

<p>Spend time learning about <a href="https://en.wikipedia.org/wiki/Responsive_web_design" target="_blank">responsive design</a> and make sure you work through this presentation: <a href="https://mattandrews.info/2013/05/responsive-design-at-the-guardian-port-80.html#/" target="_blank">https://mattandrews.info/2013/05/responsive-design-at-the-guardian-port-80.html#/</a>  </p>

<h4>Get intimate with version control</h4>  

<p>Most people would probably tell you to jump into code, before you do that I&apos;m going to recommend you learn about version control. <a href="https://git-scm.com/" target="_blank">Git</a> and <a href="https://www.mercurial-scm.org/" target="_blank">Mercurial</a>&#xA0;are popular forms of <a href="https://en.wikipedia.org/wiki/Distributed_version_control" target="_blank">DVCS</a>. You can find lots of really cool <a href="https://en.wikipedia.org/wiki/Free_and_open-source_software" target="_blank">open source</a>&#xA0;projects on <a href="https://github.com/" target="_blank">GitHub</a> and <a href="https://bitbucket.org/" target="_blank">BitBucket</a> so make sure to sign up for accounts on both platforms. Once you&apos;ve signed up, it&apos;s time to set up your first repository. I recommend you use <a href="https://bitbucket.org/plans/" target="_blank">BitBucket</a> in the beginning as it offers unlimited private repositories. Make sure to check out <a href="https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow/" target="_blank">Gitflow</a> and <a href="http://ohshitgit.com/" target="_blank">Oh shit, Git!</a>.</p>

<p>You&apos;ll never know everything about programming, so you might as well accept that now, but that is not an excuse for you not to try cram as much knowledge and coding related information into your brain as possible.  </p>

<h4>Start building the interface</h4>  

<p>Spend as much time as you can learning each day, do tutorials, watch tutorial videos while eating breakfast and dinner and practice writing basic code. Build up a library of personal code snippets.</p>

<p>To get started you should go&#xA0;through&#xA0;<a href="https://www.codecademy.com/learn" target="_blank">Codecademy</a>,&#xA0;at bare minimum learn HTML, CSS and Client side JavaScript.</p>

<p>Once you&apos;ve worked through the basics it&apos;s time to start building the screens of your app. Take your mocked up designs and convert them into plain HTML and CSS. Search as you go and learn how to make the static HTML and CSS do what you want it to on a desktop, tablet and mobile. Get friends and family to look at it and give you feedback.  </p>

<h4>Design the database</h4>  

<p>Once you&apos;ve coded up your interface and got it working in a browser it&apos;s time to start designing your database. Use the fields on your screens as a guide to determine what fields you need to cater for. Spend some time learning about <a href="https://en.wikipedia.org/wiki/SQL" target="_blank">SQL</a> and <a href="https://en.wikipedia.org/wiki/NoSQL" target="_blank">NoSQL</a> databases as well as <a href="https://en.wikipedia.org/wiki/Database_engine" target="_blank">database engines</a>. Do some research into MySQL, Postgre, MS SQL, Mongo and CouchDB.</p>

<p>For purpose of your first project I recommend you work with MySQL as it is supported on most major <a href="https://en.wikipedia.org/wiki/Web_hosting_service" target="_blank">hosting platforms</a> so you should be able to pick up a cost effective package for production and/or testing.</p>

<p>Make sure to spend some time learning about <a href="https://en.wikipedia.org/wiki/Database_normalization" target="_blank">normalisation</a> but don&apos;t over architect at this stage, you&apos;re aiming to get something finished, you can always refine it later if you want to.  </p>

<h4>Let&apos;s get functional</h4>  

<p>Now that you&apos;ve got your screens coded up and your database designed it&apos;s time to start converting the static files into functional code. Remember the code can always be changed so the point is not to be perfect but to get functional as quick as possible so you can start iterating and refining the system.</p>

<p>I recommend you start off learning <a href="http://php.net/" target="_blank">PHP</a> and then consider experimenting with <a href="https://nodejs.org/" target="_blank">Node.JS</a> and <a href="http://rubyonrails.org/" target="_blank">Ruby on Rails</a>. <a href="http://php.net/" target="_blank">PHP</a> is a great gateway language to get into coding. You can build some really cool projects with it and there are a lot of really great open source projects running on it.</p>

<p>You&apos;re essentially going to be building a collection of <a href="https://en.wikipedia.org/wiki/Create,_read,_update_and_delete" target="_blank">CRUDs</a>. As you get more comfortable with coding you can start to leverage frameworks, learn about <a href="http://searchsoa.techtarget.com/definition/object-oriented-programming" target="_blank">object orientated programming</a> and <a href="https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller" target="_blank">MVC</a> based methodologies.</p>

<p>You&apos;ll learn a lot through this process. Your two best friends are going to be&#xA0;<a href="https://www.google.com/" target="_blank">Google</a> and <a href="http://stackoverflow.com/" target="_blank">StackOverflow</a>.</p>

<p>Don&apos;t be overwhelmed by what needs to be done. Make a list and start building functionality, one piece of functional code at a time. It probably won&apos;t work at first and that is ok, <a href="http://www.internetslang.com/JFGI-meaning-definition.asp" target="_blank">JFGI</a> and you&apos;ll learn how to fix it. Make no mistake you&apos;ll need to read through a lot of content to find the articles that are relevant to your problem and this is how your general programming knowledge will improve. Through this process you&apos;ll learn more about real life programming than any university will teach you.</p>

<p><a href="https://en.wikipedia.org/wiki/Software_testing" target="_blank">Testing</a> is critical, you need to make a habit of testing your code and making sure it will works across all browsers.  </p>

<h4>Should you be building for production?</h4>  

<p>I don&apos;t personally code on our projects. This has pros and cons. I rely on my team to deliver projects - this is a con because it means I&apos;m dependant on someone else. I can spend my time working on bringing in new work and building the business, which is obviously something I can&apos;t delegate so in this case me not coding is a good thing. Sometimes when we&apos;re under a tight deadline, I really would like to just finish off a feature myself but long term it&apos;s not the solution strategically.</p>

<p>I recommend you learn as much as you can about development, not to become the core developer on your team but to know and understand the limits of technology, even if only broadly. This will help you shape your product&apos;s vision. You&apos;ll be able to detect a bullshitter much easier when you&apos;re on the look out to hire developers or technical staff. Your team will respect you because you&apos;ll be able to talk to them in their language and keep track.</p>

<p>In the beginning, being able to build something yourself really helps a lot as it&apos;s sometimes easier to build a prototype than to explain what you&apos;re thinking in words.</p>

<p>Long term, a partnership might be the way to go but for this to work you need to know what you&apos;re bringing to the table and what you need from the partner.</p>

<p>In some cases it might be better for you to hire a junior developer to work with you and follow your instructions. Your rate of development will not be as fast as it would be if you had a senior team but your costs will be low and you&apos;ll have a lot more control over your company/product in the long term. You could find a university graduate willing to work on projects for a really good rate and as you make money out of the project you can pay them more. The other alternative is to use your prototype as a means of explaining your requirements to an outsourced development agency, like <a href="https://myecommerce.codes/" target="_blank">MyEcommerce</a>. :)  </p>

<h4>Here&apos;s a list of resources to get you started</h4>  

<p><strong>Image production, manipulation or mockups:</strong> (Different strokes for different folks)</p>

<p><a href="https://www.omnigroup.com/omnigraffle" target="_blank">https://www.omnigroup.com/omnigraffle</a> <br>
<a href="http://www.sketchapp.com/" target="_blank">http://www.sketchapp.com</a> <br>
<a href="http://www.pixelmator.com/mac/" target="_blank">http://www.pixelmator.com</a> <br>
<a href="http://www.gimp.org/" target="_blank">http://www.gimp.org</a> <br>
<a href="http://www.inkscape.org/" target="_blank">http://www.inkscape.org</a> <br>
<a href="http://www.blender.org/" target="_blank">http://www.blender.org</a> <br>
<a href="https://balsamiq.com/products/mockups/" target="_blank">https://balsamiq.com/products/mockups</a></p>

<p><strong>Local development environments:</strong> <br>
<a href="http://www.wampserver.com/en/" target="_blank">http://www.wampserver.com/en</a> (for Windows) <br>
<a href="https://www.mamp.info/en/" target="_blank">https://www.mamp.info/en</a> (for Mac) <br>
<a href="https://www.vagrantup.com/" target="_blank">https://www.vagrantup.com</a></p>

<p><a href="https://en.wikipedia.org/wiki/Text_editor" target="_blank"><strong>Text editors:</strong></a> (everyone has different taste) <br>
<a href="https://atom.io/" target="_blank">https://atom.io</a> <br>
<a href="http://sourceforge.net/projects/notepad-plus/" target="_blank">http://sourceforge.net/projects/notepad-plus</a> <br>
<a href="http://www.panic.com/coda/" target="_blank">http://www.panic.com/coda</a> <br>
<a href="http://macromates.com/" target="_blank">http://macromates.com</a> <br>
<a href="http://www.sublimetext.com/" target="_blank">http://www.sublimetext.com</a> <br>
<a href="http://www.apple.com/downloads/macosx/development_tools/" target="_blank">http://www.apple.com/downloads/macosx/development_tools</a> <br>
<a href="https://www.visualstudio.com/" target="_blank">https://www.visualstudio.com</a></p>

<p><a href="https://en.wikipedia.org/wiki/Mobile_application_development" target="_blank"><strong>Mobile development</strong></a><strong> tools:</strong> <br>
<a href="http://www.appcelerator.com/" target="_blank">http://www.appcelerator.com</a> <br>
<a href="http://cordova.apache.org/" target="_blank">http://cordova.apache.org</a> <br>
<a href="http://developer.android.com/tools/studio/index.html" target="_blank">http://developer.android.com/tools/studio/</a></p>

<p><a href="https://en.wikipedia.org/wiki/Server-side_scripting" target="_blank"><strong>Server side</strong></a><strong> Languages:</strong> <br>
<a href="http://www.python.org/" target="_blank">http://www.python.org/</a> (for advanced cross platform programming) <br>
<a href="http://www.php.net/" target="_blank">http://www.php.net/</a> (server side scripting language) <br>
<a href="https://nodejs.org/en/" target="_blank">https://nodejs.org/en/</a> (Event-driven I/O server-side JavaScript environment based on V8)</p>

<p><strong>Database engines:</strong> <br>
<a href="http://www.mysql.com/" target="_blank">http://www.mysql.com</a> <br>
<a href="http://www.postgresql.org/" target="_blank">http://www.postgresql.org</a> <br>
<a href="https://www.mongodb.com/" target="_blank">https://www.mongodb.com</a> <br>
<a href="http://couchdb.apache.org/" target="_blank">http://couchdb.apache.org</a> <br>
<a href="https://mariadb.org/" target="_blank">https://mariadb.org</a></p>

<p><a href="https://en.wikipedia.org/wiki/Web_browser" target="_blank"><strong>Browsers:</strong></a> (it&apos;s good to test locally in as many browsers as possible) <br>
<a href="http://www.mozilla-europe.org/en/firefox/" target="_blank">http://www.mozilla-europe.org/en/firefox</a> (make sure to check out <a href="http://getfirebug.com/" target="_blank">Firebug</a>) <br>
<a href="http://www.google.com/chrome" target="_blank">http://www.google.com/chrome</a> (make sure to check out <a href="https://developers.google.com/web/tools/setup/workspace/setup-devtools" target="_blank">DevTools</a>) <br>
<a href="http://www.opera.com/" target="_blank">http://www.opera.com</a></p>

<p><strong>Learning Resources:</strong> <br>
<a href="http://w3schools.com/" target="_blank">http://w3schools.com</a> <br>
<a href="http://www.tizag.com/" target="_blank">http://www.tizag.com</a> <br>
<a href="http://www.csszengarden.com/" target="_blank">http://www.csszengarden.com</a> (some really cool stuff) <br>
<a href="http://cssreference.io" target="_blank">http://cssreference.io</a> <br>
<a href="http://www.w3.org/" target="_blank">http://www.w3.org</a> (web standards and resources for learning) <br>
<a href="https://www.codecademy.com/" target="_blank">https://www.codecademy.com</a> <br>
<a href="https://teamtreehouse.com/" target="_blank">https://teamtreehouse.com</a> <br>
<a href="http://tutsplus.com/" target="_blank">http://tutsplus.com</a> <br>
<a href="http://www.lynda.com/" target="_blank">http://www.lynda.com</a> <br>
<a href="http://stackoverflow.com/" target="_blank">http://stackoverflow.com</a>
<br>
<a href="https://every-layout.dev/" target="_blank">https://every-layout.dev</a></p>

<p><a href="https://en.wikipedia.org/wiki/Content_management_system" target="_blank"><strong>Content Management Systems:</strong></a> (either use as is, modified or learn from them, they&apos;re opensource) <br>
<a href="http://www.ghost.org/" target="_blank">http://www.ghost.org</a> <br>
<a href="http://www.joomla.org/" target="_blank">http://www.joomla.org</a> <br>
<a href="http://www.magentocommerce.com/" target="_blank">http://www.magentocommerce.com</a> <br>
<a href="http://oscommerce.com/" target="_blank">http://oscommerce.com</a> <br>
<a href="http://wordpress.org/" target="_blank">http://wordpress.org</a> <br>
<a href="https://www.drupal.org/" target="_blank">https://www.drupal.org</a></p>

<p><strong>Server Side </strong><a href="https://en.wikipedia.org/wiki/Software_framework" target="_blank"><strong>Development</strong></a> <a href="https://en.wikipedia.org/wiki/Web_application_framework" target="_blank"><strong>Frameworks</strong></a><strong>:</strong> <br>
<a href="http://zend.com/" target="_blank">http://zend.com</a> <br>
<a href="http://codeigniter.com/" target="_blank">http://codeigniter.com</a> <br>
<a href="http://cakephp.org/" target="_blank">http://cakephp.org</a> <br>
<a href="http://www.yiiframework.com/" target="_blank">http://www.yiiframework.com</a> <br>
<a href="http://symfony.com/" target="_blank">http://symfony.com</a> <br>
<a href="http://laravel.com/" target="_blank">http://laravel.com</a> <br>
<a href="https://www.djangoproject.com/" target="_blank">https://www.djangoproject.com</a></p>

<p><strong>JavaScript, CSS and Icon Frameworks:</strong> <br>
<a href="https://angularjs.org/" target="_blank">https://angularjs.org</a> <br>
<a href="https://jquery.com/" target="_blank">https://jquery.com</a> <br>
<a href="http://getbootstrap.com/" target="_blank">http://getbootstrap.com</a> <br>
<a href="http://fontawesome.io/" target="_blank">http://fontawesome.io</a></p><!--kg-card-end: html-->]]></content:encoded></item></channel></rss>