-
-
Save ktpm489/b7990d80feff1833ec2bd0ffc926c8e2 to your computer and use it in GitHub Desktop.
Revisions
-
dideler revised this gist
Nov 1, 2014 . 1 changed file with 47 additions and 3 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,4 +1,4 @@ Lecture 1 (wk 1) ========= Sam Altman @@ -73,10 +73,54 @@ Being a founder is incredibly stressful. --- Lecture 2 (wk 1) ========= Sam Altman ---------- - Choose cofounder extremely carefully (more careful than first hire) - School and innovative tech companies are good places to find them - 2-3 cofounders works well - Be like James Bond: calm, decisive, relentless, resourceful, always know what to do - Do not hire (wait very long until you hire) - A single mediocre hire in the first 5 will kill a startup - Best source for hires is personal network (you or cofounders) - Experience usually doesn't matter too much, more about attitude - They may not scale, but a good person can always find another place in company - Must be smart, get things done, do you want to spend a lot of time around them? - If you do interview, ask about past experience (e.g. projects) and call references (e.g. In your top 5? Would you hire again?) . Do not ask brainteasers. - Must be a good communicator and should like a little bit of risk. Should be able to enjoy spending time with them socially and must enjoy reporting to them if roles reversed. - "Beast" test: each of your team members should be a beast at something they do - Be generous with equity to employees, very stingy with investors (unfortunately way too common to see the reverse) - Cofounders should decide on cofounder equity early on, and should be mostly equal - **Employees should be happy and feel valued** otherwise they will leave - Give team credit for anything good - Take responsibility for anything bad - Learn a bit of management skills; will go a long way - Do 1-on-1s and give clear feedback - Firing people is one of the worst parts of running a company - Fire fast when not working out - Fire if - bad at job - creates office politics - always negative - Don't start with remote cofounders - Communication and speed is vital which you get from working in the same room CEO has five jobs 1. set the vision 2. raise money 3. evangelize 4. hire and manage 5. make sure the entire company executes **Focus** is super important. - Ask a cofounder what they're spending their time and money on - Maintain growth and momentum - Work together in person --- Lecture 3 (wk 2) ========= -
dideler revised this gist
Sep 30, 2014 . 1 changed file with 9 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -61,7 +61,15 @@ Don't hire sales and support people right away - you need to do this yourself fi Dustin (FB) ----------- Being a founder is incredibly stressful. - Fair of failure when an entrepreneur is enormous. You don't want to fail yourself, your employees, investors, etc. - Always on call - Fundraising - You're committed, can't leave easily - You're a role model - You have to report to everyone - There's always work to be done --- -
dideler revised this gist
Sep 30, 2014 . 1 changed file with 74 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,74 @@ Lecture 1 ========= Sam Altman ---------- Ingredients of a startup: 1. idea 2. product 3. team 4. execution 5. luck A bad idea is still a bad idea. The idea doesn't matter as much as the execution, but is still a big factor. Pivot to find the right idea quicker. Long term planning is a real advantage, as many startups don't think about it. A good idea is also a business that's difficult to replicate. If you have several ideas, work on the one you think most about when not working. To get through the pain of a startup, the **company** should feel like an important **mission**. Good ideas often look bad at the beginning. If they sound too good, too many people are already working on it. You want to find a **small market** to quickly **create a monopoly**, and then expand. You've found it when **people depend on it** even when it's still a crappy incomplete product. Reply to criticism: "I know it sounds like a bad idea, but it's not. Here's why..." Sounds like a bad idea, but is a good idea. Find a market that's going to be big in 10 years. Investors are obsessed with current market. Why now? Why is now the right time for this idea? If it takes **more than a sentence** to explain, it's almost certainly a **bad idea**. Niche clone companies usually fail. More important than starting a startup, is **finding potential cofounders**. Great Idea -> Great Product -> Great Company 1. Talk to users 2. Sleep 3. Stay healthy **Make something people love**, then focus on user growth. You'll know people love it when you see **organic growth** (e.g. word of mouth). If you're waiting on something like a partnership, your product isn't loved and you're wasting time. **Users love simple**. You can always make something with a smaller subset than you thought possible. Worry about making it better later. **Recruit users by hand**, not adwords. E.g. go to coffeeshops and ask to try product, set homepage in Apple stores, etc. Ask them what they like and don't like. Ask them what they'd pay for. Ask if they'd be bummed if the company went away. Ask if they would recommend to their friends. Keep a **tight feedback loop**, super important in early days! Don't hire sales and support people right away - you need to do this yourself first. Dustin (FB) ----------- ... --- Lecture 2 ========= --- Lecture 3 ========= -
dideler renamed this gist
Apr 2, 2014 . 1 changed file with 0 additions and 0 deletions.There are no files selected for viewing
File renamed without changes. -
dideler revised this gist
Aug 23, 2013 . 1 changed file with 2 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,3 +1,5 @@ **Note: I'm currently taking a break from this course to focus on my studies so I can finally graduate** Table of Contents ----------------- 1. [Overview](#overview) -
dideler revised this gist
Aug 8, 2013 . 1 changed file with 36 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -40,4 +40,39 @@ Notes from Paul Graham's essays - Any strategy that omits the effort—whether it's expecting a big launch to get you users, or a big partner—won't work. - TL;DR recruit users manually and give them an overwhelmingly good experience, and founders need to work hard [How to Convince Investors](http://paulgraham.com/convince.html) ========================== - Convince investors with your startup, _not_ your pitch. - Be formidable founders. A formidable person is one who seems like they'll get what they want, regardless of whatever obstacles are in the way. Formidable is close to confident, except that someone could be confident and mistaken. Formidable is roughly justifiably confident. - To seem most formidable as an inexperienced founder is to stick to the truth. Convince yourself that your startup is worth investing in (not that it'll succeed), and then when you explain this to investors they'll believe you. And by convince yourself, I don't mean play mind games with yourself to boost your confidence. I mean truly evaluate whether your startup is worth investing in. If it isn't, don't try to raise money and change what you're doing. - Know everything about your market. To evaluate whether your startup is worth investing in, you have to be a domain expert. If you're not a domain expert, you can be as convinced as you like about your idea, and it will seem to investors no more than an instance of the Dunning-Kruger effect. - The time to raise money is not when you need it, or when you reach some artificial deadline like a Demo Day. It's when you can convince investors, and not before. Work on your startup up until a week before your pitch before switching focus. - Founders think of startups as ideas, but investors think of them as markets. If there are x number of customers who'd pay an average of $y per year for what you're making, then the **total addressable market** (TAM) of your company is $xy. Investors don't expect you to collect all that money, but it's an upper bound on how big you can get. - Your target market has to be big (eventually), and it also has to be capturable by you. - Identify some specific trend you'll benefit from. Usually you can find this by asking "why now?" If this is such a great idea, why hasn't someone else already done it? Ideally the answer is that it only recently became a good idea, because something changed, and no one else has noticed yet. - The best investors rarely care who else is investing, but mediocre investors almost all do. So you can use the question "Who else is investing?" as a test of investor quality. The best solution is to tackle the problem head-on, and to explain why investors have turned you down (make it clear when you ask that you're not trying to dispute their decision—just that if there is some weakness in your plans, you need to know about it) and why they're mistaken. The most common lie is that while no investors have committed yet, several are about to. - Don't use vague, grandiose marketing-speak in your pitch. It not only doesn't work on them, but seems a mark of incompetence. Be clear and concise, use the words that convinced yourself. - **Recipe for impressing investors:** 1. Make something worth investing in. 2. Understand why it's worth investing in. 3. Explain that clearly to investors. -
dideler revised this gist
Jul 24, 2013 . 2 changed files with 5 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -15,7 +15,10 @@ Table of Contents This course bridges the gap between academic computer science and production software engineering. These notes are a combination of - the good parts of the lecture notes & assignments - outside resources (e.g. suggested readings not covered in lecture) - my own notes - [Coursera's enrolment page](https://www.coursera.org/course/startup) - [Stanford's enrolment page](http://startup.stanford.edu/) - for Stanford students but some course material is publicly available This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -54,7 +54,7 @@ High-level principles: Use <a href="https://twitter.com/oraclehardware/status/211789839526408192/photo/1">Oracle style marketing</a>: less is more, hammering one point above the fold (i.e. above the scroll line) and keeping the rest in the secondary copy. Alternatively, use a <a href="http://twitter.github.io/bootstrap/examples/carousel.html#myCarousel">carousel</a> to neatly hammer out multiple points above the fold (but <a href="http://conversionxl.com/dont-use-automatic-image-sliders-or-carousels-ignore-the-fad/">be careful</a>). Check out <a href="https://www.dropbox.com">Dropbox's minimalist landing page</a>.</dd> <dt>Call to action</dt> -
dideler revised this gist
Jul 23, 2013 . 1 changed file with 24 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -38,5 +38,28 @@ setting CSS styles). 15. The browser renders the page on the screen according to the DOM tree and the final style information for each node. 16. You see the webpage and can interact with it by clicking on buttons or submitting forms. Every link you click or form you submit sends another HTTP request to a server, and the process repeats! Separation of concerns ----------------------- Any web app will include HTML, CSS, and JS files in addition to server-side code. One of the advantages of node.js is that the server-side code is also in JS. You should separate your HTML, CSS, and JS, such that you can change any of the three (or more) files that specify a webpage without worrying about the other two. In practice, you will need to develop all files (.html, .css. and .js) at the same time as significant changes to the structure of a page will often remove id attributes or CSS styles that your JS code depends upon. When in doubt, err on the side of separation of concerns: use HTML for structure, CSS for appearance, and JS for behaviour. Tools ----- The single most important thing to learn are the Chrome Developer Tools. With these tools, you can do the following: 1. Edit the styles and DOM nodes live on a page. 2. Click an element on a page to find it in the markup, or vice versa. 3. Watch network connections and inspect HTTP requests and responses. 4. Execute Javascript to alter the page. 5. Mimic mobile browsers with the [User Agent Switcher](https://chrome.google.com/webstore/detail/user-agent-switcher-for-c/djflhoibgkdhkhhcedjiklpkjnoahfmg?hl=en-US).   Also familiarize yourself with [jsfiddle](http://jsfiddle.net/) (very useful for sharing examples) and reloading tools like [Live Reload](http://livereload.com/) ([alternatives](http://feedback.livereload.com/knowledgebase/articles/86189-i-don-t-like-livereload-can-you-recommend-somethi)) or [Codekit](http://incident57.com/codekit/). -
dideler revised this gist
Jul 23, 2013 . 1 changed file with 37 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,5 +1,42 @@ [Intro to HTML, CSS, JS](https://docs.google.com/file/d/1tEnwxdIzMJeTEtjuNhiBWflaXVfngg7bnIGU2UUz-ZUz18lsTGc7sfd_zofW/edit?usp=sharing) ==================== From HTTP Request to Rendered Page ---------------------------------- 1. You begin by typing a URL into address bar in your preferred browser or clicking a link. 2. The browser parses the URL to find the protocol, host, port, and path. 3. If HTTP was specified, it forms a HTTP request. 4. To reach the host, it first needs to translate the human readable host into an IP address, and it does this by doing a DNS lookup on the host. 5. Then a socket needs to be opened from the user’s computer to that IP address, on the port specified (usually port 80 for HTTP). 6. When a network connection is open, the HTTP request is sent to the host. The details of this connection are specified in the 7-layer OSI model. 7. The host forwards the request to the server software (most often Apache) configured to listen on the specified port. 8. The server inspects the request (most often only the path), and the subsequent behaviour depends on the type of site. • For static content: – The HTTP response does not change as a function of the user, time of day, geographic location, or other parameters (such as HTTP Request headers). – In this case a fast static web server like nginx can rapidly serve up the same HTML/CSS/JS and binary files (jpg, mp4, etc.) to each visitor. – Academic webpages like http://startup.stanford.edu are good examples of static content: the experience is the same for each user and there is no login. • For dynamic content: – The HTTP response does change as a function of the user, time of day, geographical location, or the like. – In this case you will usually forward dynamic requests from a web-server like nginx (or Apache) to a constantly running server-side daemon (like mod_wsgi hosting Django or node.js behind nginx), with the static requests intercepted and returned by nginx (or even before via caching layers). – The server-side web framework you use (such as Python / Django, Ruby / Rails, or node.js / Express) gets access to the full request, and starts to prepare a HTTP response. **A web framework is a collection of related libraries for working with HTTP responses and requests** (and other things). – To construct the HTTP response a relational database is often accessed. – While sometimes raw SQL is used to access the database, modern web frameworks allow engineers to access data via so-called Object-Relational Mappers (ORMs), such as sequelize.js (for node.js) or the Django ORM (for Python). The ORM provides a high-level way of manipulating data within your language after defining some models. – The specific data for the current HTTP request is often obtained via a database search using the ORM, based on parameters in the path (or data) of the request. – The objects created via the ORM are then used to template an HTML page (server-side templating), to directly return JSON (for usage in APIs or client-side templating), or to otherwise populate the body of the HTTP Response. This body is then conceptually put in an envelope with HTTP Response headers as metadata labeling that envelope. – The web framework then returns the HTTP response back to the browser. 9. The browser receives the response. Assuming for now that the web framework used server-side templating and returned HTML, this HTML is parsed. Importantly, the browser must be robust to handle broken or misformatted HTML. 10. A Document Object Model (DOM) tree is built out of the HTML. The DOM is a tree structure representation of a webpage. Think of a webpage as composed of chapter headings, subsections, and subsubsections. 11. All browsers provide a standard programmatic Javascript API for interacting with the DOM, though today most engineers manipulate the DOM through the cross-browser JQuery library or higher-level frameworks like Backbone. 12. New requests are made to the server for each new resource that is found in the HTML source (typically images, style sheets, and JavaScript files). Go back to step 3 and repeat for each resource. 13. CSS is parsed, and used to annotate each node in the DOM tree with style information on how it should render. 14. Javascript is parsed and executed, and DOM nodes are moved and style information is updated accordingly. That is, Javascript controls behavior, and the Javascript executed on page load can be used to move nodes around or change appearance (by updating or setting CSS styles). 15. The browser renders the page on the screen according to the DOM tree and the final style information for each node. 16. You see the webpage and can interact with it by clicking on buttons or submitting forms. Every link you click or form you submit sends another HTTP request to a server, and the process repeats!   -
dideler revised this gist
Jul 23, 2013 . 1 changed file with 2 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,4 +1,5 @@ [Intro to HTML, CSS, JS](https://docs.google.com/file/d/1tEnwxdIzMJeTEtjuNhiBWflaXVfngg7bnIGU2UUz-ZUz18lsTGc7sfd_zofW/edit?usp=sharing) ====================   -
dideler revised this gist
Jul 23, 2013 . 1 changed file with 3 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,2 +1,4 @@ [Intro to HTML, CSS, JS](https://docs.google.com/file/d/1tEnwxdIzMJeTEtjuNhiBWflaXVfngg7bnIGU2UUz-ZUz18lsTGc7sfd_zofW/edit?usp=sharing) ==================== Use the [Responsive Web Design Testing Tool](http://mattkersley.com/responsive/) to see how your site looks on phone screens. -
dideler revised this gist
Jul 23, 2013 . 1 changed file with 4 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -39,6 +39,10 @@ Note that you can also create a new instance with the new security group.  Don't forget to add the UDP rule for mosh to work. Set your web app to run on port 8080 (e.g. in `web.js` for a node project). Run your web app (e.g. `node web.js`). Open your browser and view your site. E.g. ec2-54-218-72-128.us-west-2.compute.amazonaws.com:8080 #### Quick commands You can run a command with ssh and exit right away, e.g. -
dideler revised this gist
Jul 23, 2013 . 1 changed file with 2 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -14,12 +14,12 @@ Setting up your instance   You may also choose 13.04+, which ships with mosh.  #### Billing Alerts Go to *My Account > Billing Alerts* and follow the instructions. If you're taking advantage of the free tier, you'll want to set the alert threshold to $0. -
dideler revised this gist
Jul 23, 2013 . 1 changed file with 23 additions and 10 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -7,17 +7,38 @@ Amazon AWS is useful for having a centralized development environment that's accessible from anywhere and is easily clonable. There exist alternatives for cloning configurations, e.g. Puppet, Vagrant, Chef. Setting up your instance ------------------------ #### Create an EC2 instance with the quick launch wizard   You may also choose 13.04+, which ship with mosh.  #### Billing Alerts Go to "My Account" > "Billing Alerts" and follow the instructions. If you're taking advantage of the free tier, you'll want to set the alert threshold to $0. #### Set up an EC2 Instance which allows instant previews Set up an EC2 instance which allows HTTP connections on ports 80 and 8080. This will allow you to debug your webpages while previewing in a browser, rather than copying it locally or pushing to Heroku. Go to the EC2 Dashboard to set up a new security group. Apply the new security group to an existing instance. *Instances >* select your instance *> Actions > Change Security Group >* select the new security group Note that you can also create a new instance with the new security group.      Don't forget to add the UDP rule for mosh to work. #### Quick commands You can run a command with ssh and exit right away, e.g. @@ -68,14 +89,6 @@ IdentityFile "~/.ssh/identity.pem" `man ssh_config` for more info. #### Install tools -
dideler revised this gist
Jul 23, 2013 . 1 changed file with 15 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -12,6 +12,12 @@ We created an EC2 instance with the quick launch wizard. Setting up your instance ------------------------ #### Billing Alerts Go to "My Account" > "Billing Alerts" and follow the instructions. If you're taking advantage of the free tier, you'll want to set the alert threshold to $0. #### Quick commands You can run a command with ssh and exit right away, e.g. @@ -62,6 +68,15 @@ IdentityFile "~/.ssh/identity.pem" `man ssh_config` for more info. #### Set up an EC2 Instance which allows instant previews Set up an EC2 instance which allows HTTP connections on ports 80 and 8080. This will allow you to debug your webpages while previewing in a browser, rather than copying it locally or pushing to Heroku. Go to the EC2 Dashboard to set up a new security group. Apply the new security group to an existing instance. *Instances >* select your instance *> Actions > Change Security Group >* select the new security group Note that you can also create a new instance with the new security group. #### Install tools You'll have to install all your core dev tools, such as npm and node. -
dideler revised this gist
Jul 23, 2013 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -11,7 +11,7 @@ Idea, Execution, and Market > A product is not a business > And a business is not profits It’s useful to actually keep a single [Google Spreadsheet](https://docs.google.com/spreadsheet/ccc?key=0AsKSMAVGQMrtdFJKM040aTRMRTB2RURPbkstOEpHSlE&usp=sharing) with all your ideas, organized by stage in this manner. Expect most to stay at the idea stage!  -
dideler revised this gist
Jul 22, 2013 . 1 changed file with 22 additions and 8 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -92,12 +92,26 @@ High-level principles: A good strategy is to look at the examples, create your design without thinking too much about them, and then re-apply them over the design at the end.</dd> <dt><a href="https://gist.github.com/dideler/1718200#fonts">Fonts</a> and <a href="https://gist.github.com/dideler/1718200#icons">Icons</a></dt> <dd>In terms of getting something reasonably nice together quickly, you should make heavy use of fonts and icons. Because fonts are vector graphics specified by mathematical equations, they are infinitely manipulable with CSS transforms built into every browser. The FontAwesome library also gives scalable vector icons, which are often useful for quick mockups when enlarged in size. Also consider using Unicode characters for icons.</dd> <dt><a href="https://gist.github.com/dideler/1718200#photos-free-to-use-unless-otherwise-stated">Photos</a>, Videos, Animations</dt> <dd>Often the key to a good presentation or webpage is to put an abstract concept into visual form. Stock photographers have actually thought about these issues. Don’t use stock photos in which people are looking at the camera! That’s what makes a stock photo look cheap. A good signal of a lower quality site is that it has inconsistent padding, doesn’t use https properly for checkout, and/or uses stock photos of this kind. You might also consider reshooting a stock photo with your product so that it looks custom.</dd> <dt>Use <a href="https://gist.github.com/dideler/1718200#website-foundations">Bootstrap</a>, Themeforest, 99Designs, Dribbble</dt> <dd>When it comes to turning your wireframes into HTML/CSS/JS, don’t reinvent the wheel. Design is information and is becoming commoditized. Use Bootstrap + Jetstrap. Themeforest is a set of slightly more expensive ($9-12) templates. 99Designs is a few hundred to a few thousand bucks for a logo or webpage revision. Dribbble is an excellent resource for finding a contract or full time designer.</dd> </dl> -
dideler revised this gist
Jul 22, 2013 . 1 changed file with 16 additions and 9 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -79,18 +79,25 @@ Wireframe goals: High-level principles: <dl> <dt>Vector and Raster Graphics</dt> <dd>Understand the distinction between vector (dynamic resolution) and raster (fixed resolution) graphics. Whenever possible, work with vector images as they will scale well and are amenable to later manipulation. Raster images are unavoidable if you truly need photos on your site, but strive to minimize them for your MVP.</dd> <dt><a href="http://www.vanseodesign.com/web-design/design-basics-contrast/">Contrast</a>, <a href="http://www.vanseodesign.com/web-design/design-basics-repetition/">Repetition</a>, <a href="http://www.vanseodesign.com/web-design/design-basics-alignment/">Alignment</a>, <a href="http://www.vanseodesign.com/web-design/design-basics-proximity-to-know-what-belongs-with-what/">Proximity</a></dt> <dd>Become familiar with the four principles, <a href="http://www.nurelm.com/themanual/2009/07/07/designing-for-the-non-designer-part-i-the-basics/">CRAP</a>, as mentioned in the <a href="http://www.amazon.com/The-Non-Designers-Design-Book-Typographic/dp/1566091594">Non-Designer’s Design Book</a>. A good strategy is to look at the examples, create your design without thinking too much about them, and then re-apply them over the design at the end.</dd> <dt>Fonts and Icons</dt> <dd></dd> <dt>Stock Photos, Videos, Animations</dt> <dd></dd> <dt>Use Bootstrap, Themeforest, 99Designs, Dribbble</dt> <dd></dd> </dl> -
dideler revised this gist
Jul 22, 2013 . 1 changed file with 28 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -63,7 +63,34 @@ High-level principles: Make the call to action button cartoonishly large and in a different font.</dd> </dl> Take a look at the landing pages of some of the current top startups for inspiration (for both what and what not to do). Design ------ Wireframe goals: 1. Functionality and semantic meaning: what does the product do? 2. Marketing copy: how do we explain what the product does in words? Consider [using comics](http://www.flickr.com/photos/rosenfeldmedia/sets/72157631874695422/)! 3. Design: how do we make the site and product look beautiful and function beautifully? High-level principles: <dl> <dt></dt> <dd></dd> <dt></dt> <dd></dd> <dt></dt> <dd></dd> <dt></dt> <dd></dd> <dt></dt> <dd></dd> </dl> -
dideler revised this gist
Jul 22, 2013 . 1 changed file with 8 additions and 8 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -39,31 +39,31 @@ High-level principles: <dd>People feel more at ease when they see other real people and companies using the product and recommending it.</dd> <dt>Work backwards from the press release</dt> <dd>Amazon writes the <a href="http://aws.amazon.com/about-aws/whats-new/">press release</a> before they build the product. Doing this, you will find yourself figuring out what features are news and which ones are noise.</dd> <dt>Someone is wrong on the internet</dt> <dd>Get a friend to pull up as many competitor webpages as possible. Write down your immediate gut reaction as to why those companies are terrible and your company and product is different. Put this into a <a href="http://en.wikipedia.org/wiki/Comparison_of_relational_database_management_systems#Fundamental_features">feature matrix</a> and then determine whether your new features really differentiate your product substantially.</dd> <dt>Simple and factual</dt> <dd>Do your best to turn vague features (“PageRank provides better search quality”) into concrete facts and statistics (“85% of searchers who used both Blekko and Google preferred Blekko. Find out why.”). Use <a href="https://twitter.com/oraclehardware/status/211789839526408192/photo/1">Oracle style marketing</a>: less is more, hammering one point above the fold (i.e. above the scroll line) and keeping the rest in the secondary copy. Alternatively, use a <a href="http://twitter.github.io/bootstrap/examples/carousel.html#myCarousel">carousel</a> to neatly hammer out multiple points above the fold (but not too many). Check out <a href="https://www.dropbox.com">Dropbox's minimalist landing page</a>.</dd> <dt>Call to action</dt> <dd>You want someone to do something when they come to your page, like buy something or sign up on an email form. Make sure you reiterate this “call to action” many times (at least at the top and bottom of page). Make the call to action button cartoonishly large and in a different font.</dd> </dl> Take a look at the landing pages of some of the current top startups for inspiration (but don't just flat out copy them). Design ------ -
dideler revised this gist
Jul 22, 2013 . 1 changed file with 16 additions and 5 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -31,7 +31,6 @@ High-level principles: <dt>Homepage message</dt> <dd>Don’t expect visitors to figure out what the product is about on the third page in; your enemy is the back button. Go to a cafe and test your homepage message on people with the 5-10 sec rule. Only spend energy on the homepage if it’s a significant source of customers. If it isn’t (e.g. if your sales come through a salesforce), you can leave the homepage alone for a surprisingly long time.</dd> @@ -40,16 +39,28 @@ High-level principles: <dd>People feel more at ease when they see other real people and companies using the product and recommending it.</dd> <dt>Work backwards from the press release</dt> <dd>Amazon writes the [press release](http://aws.amazon.com/about-aws/whats-new/) before they build the product. Doing this, you will find yourself figuring out what features are news and which ones are noise.</dd> <dt>Someone is wrong on the internet</dt> <dd>Get a friend to pull up as many competitor webpages as possible. Write down your immediate gut reaction as to why those companies are terrible and your company and product is different. Put this into a [feature matrix](http://en.wikipedia.org/wiki/Comparison_of_relational_database_management_systems#Fundamental_features) and then determine whether your new features really differentiate your product substantially.</dd> <dt>Simple and factual</dt> <dd>Do your best to turn vague features (“PageRank provides better search quality”) into concrete facts and statistics (“85% of searchers who used both Blekko and Google preferred Blekko. Find out why.”). Use [Oracle style marketing](https://twitter.com/oraclehardware/status/211789839526408192/photo/1): less is more, hammering one point above the fold (i.e. above the scroll line) and keeping the rest in the secondary copy. Alternatively, use a [carousel](http://twitter.github.io/bootstrap/examples/carousel.html#myCarousel) to neatly hammer out multiple points above the fold (but not too many). Take a look at [Dropbox's minimalist landing page](https://www.dropbox.com/).</dd> <dt>Call to action</dt> <dd>You want someone to do something when they come to your page, like buy something or sign up on an email form. Make sure you reiterate this “call to action” many times (at least at the top and bottom of page). Make the call to action button cartoonishly large and in a different font.</dd> </dl> Take a look at the landing pages of some of the current top startups for inspiration (of course, don't just flat out copy them). -
dideler revised this gist
Jul 22, 2013 . 1 changed file with 29 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -25,5 +25,34 @@ And it looks like this (not the final product of course). Copywriting ----------- High-level principles: <dl> <dt>Homepage message</dt> <dd>Don’t expect visitors to figure out what the product is about on the third page in; your enemy is the back button. Go to a cafe and test your homepage message on people with the 5-10 sec rule. Put the message above the fold (i.e. above the scroll line). Only spend energy on the homepage if it’s a significant source of customers. If it isn’t (e.g. if your sales come through a salesforce), you can leave the homepage alone for a surprisingly long time.</dd> <dt>Testimonials and customers</dt> <dd>People feel more at ease when they see other real people and companies using the product and recommending it.</dd> <dt>Work backwards from the press release</dt> <dd></dd> <dt>Someone is wrong on the internet</dt> <dd></dd> <dt>Simple and factual</dt> <dd></dd> <dt>Call to action</dt> <dd></dd> </dl> Take a look at the landing pages of some of the current top startups for inspiration (of course, don't just flat out copy them). Design ------ -
dideler revised this gist
Jul 22, 2013 . 1 changed file with 17 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,14 +1,29 @@ [Wireframing, Copywriting, Design](https://docs.google.com/file/d/0B8KSMAVGQMrtU0p1Nm5iN0ZnTFk/edit?usp=sharing) ================================ Wireframing ----------- Once you feel that you have a market, you should design a mockup of your product’s website, also known as a wireframe. **Your main goal is to produce sitemaps and detailed user flows.**  Here's an example of wireframing a crowdfunding page. Our crowdfunding site will use this basic layout.  Which can be made with the following HTML (which uses Bootstrap).  And it looks like this (not the final product of course).  Copywriting ----------- Design ------ -
dideler revised this gist
Jul 22, 2013 . 1 changed file with 20 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -143,6 +143,26 @@ Tip: Stats Canada is a good source for market sizing. [US sources](http://www.br [A full market sizing example for board games.](http://www.brekiri.com/blog/193/a-full-market-sizing-example/) #### Time to market Time to market (i.e. how long until shipping) is everything in startup land, due to the compounding effect. This is a second and crucial consideration in addition to sheer market size. VC's will often use the following formula to help deciding on investing: ((QMP) / (SNT))^(1 / T) Where: - Q: probability of success, or one minus risk - M: market size (in dollars) - P: percent of the market attained in the first year - S: average salary per person (in dollars per year) - N: headcount - T: time to market (in years) This can be thought of as the amount of money returned divided by the cost of generating that money. It measures a company's growth factor (because compounding is everything for investors). More accurately, it's the measure of first-year-revenue divided by cost to get to first-year-revenue, renormalized for time to market. Market Research --------------- -
dideler revised this gist
Jul 22, 2013 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -227,7 +227,7 @@ A big mistake software companies make is charging too little, but the biggest mi You're not trying to maximize units sold (i.e. sales), you're trying to maximize profits. When calculating profits, disregard the initial/upfront costs, those are [sunk costs](http://en.wikipedia.org/wiki/Sunk_costs). Instead, consider the incremental/recurring cost of selling each additional unit (i.e. marginal cost), which may include S&H, support, etc. Your actual profit is `units_sold * (price_per_unit - marginal_cost)`. Plot your profits for different price points to figure out how to price your product. You'll want to capture the consumer surplus from consumers who would spend more than your decided price point and sell to them for a higher price. You'll also want to email/call back and beg those consumers who were willing to spend at most some price under your asking price and offer them the product for cheaper. -
dideler revised this gist
Jul 22, 2013 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -137,7 +137,7 @@ Bottom-up analysis is generally more reliable, but you have to be careful not to Every market sizing approach involves a good bit of uncertainty. Time and data permitting, you should triangulate among a top-down analysis, a roll-up of individual customer spending, and a roll-up of competitor revenue. In an ideal world, these numbers should all be in the same ballpark, but if there is a discrepancy, you can troubleshoot your analysis or do a weighted average of the estimates based on your most reliable information. The resulting number won’t be perfect, but you’ll have a good analysis to walk clients or investors through to get their buy-in. Tip: If data is really scarce, you can do some very rough market sizing by [estimating company revenue based on employee numbers](http://www.brekiri.com/blog/206/another-market-sizing-trick-employees/) (which is typically easy to find, e.g. LinkedIn, Wikipedia, company's team/about page, Google Finance). This approach doesn't work well for early stage or small (< 100 employees) companies. Tip: Stats Canada is a good source for market sizing. [US sources](http://www.brekiri.com/blog/189/information-sources-for-market-sizing/). -
dideler revised this gist
Jul 22, 2013 . 2 changed files with 3 additions and 3 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -15,6 +15,8 @@ Table of Contents This course bridges the gap between academic computer science and production software engineering. These notes are a combination of the good parts of the lecture notes and outside resources (e.g. suggested readings not covered in lecture). - [Coursera's enrolment page](https://www.coursera.org/course/startup) - [Stanford's enrolment page](http://startup.stanford.edu/) - for Stanford students but some course material is publicly available - [Course homepage](https://class.coursera.org/startup-001/class/index) This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -241,6 +241,4 @@ Different ways to segment: **Be careful**, segmenting pisses people off, they want to pay a fair price. It creates no loyalty. It's also difficult to pull off properly. Don't use segmented pricing if you want to avoid headaches. **The only way to determine how much someone will pay for something is to put it up for sale, and see how many people actually buy it.** Seriously consider spending about $250 for a [demographically targeted survey](http://www.google.com/insights/consumersurveys/pricing) with 500 responses. If you genuinely can’t afford this, ask 10-20 of your friends how much they’d pay for different version of your product, or run a poll on Facebook. Any feedback on pricing and features, even biased, is better than none. -
dideler revised this gist
Jul 22, 2013 . 1 changed file with 8 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -162,7 +162,8 @@ Market Research 3. Further validate this market with some modern tools, including [Google’s Keyword Planner](http://adwords.google.com/ko/KeywordPlanner) and [Facebook’s Advertiser Tools](http://facebook.com/advertising). 4. **If** that proves fruitful, develop a simple landing page by using a service like [Launchrock](http://launchrock.co/), with some photos and icons. Use [ConvertKit](https://convertkit.com/) to improve conversion rates. For more resources on photos, icons, etc, check out my [bootstrapping gist](https://gist.github.com/dideler/1718200). You may also want to do some [basic SEO](http://moz.com/beginners-guide-to-seo). Tip: [how to measure success of your launch page](http://answers.onstartups.com/questions/44163/lean-startup-landing-page-test-how-do-i-measure-success/44165#44165) 5. Allocate a small Google Adwords or Facebook Ads budget to test out the market, and see how many conversions you get. @@ -217,9 +218,12 @@ features. You won’t be able to sample all 7 billion, but you can sample a few hundred (e.g. with [Google Consumer Research Surveys](http://www.google.com/insights/consumersurveys/home) or Launchrock landing pages), and this gives you a conceptual framework for how to set up your product tiers In particular, you want to confirm that you will make enough money on version 1 to pay for version 2. If this is not the case, you should rearrange the order of features until it is true, at least on paper. The vast majority of people will pay $0 no matter how many features you add (or remove). A big mistake software companies make is charging too little, but the biggest mistake is charging too much, so they don't get enough customers. People tend to believe that you get what you pay for. **When you're setting a price, you're sending a signal.** Price below your competition and people think it's crap, price significantly above and it's outstanding. You're not trying to maximize units sold (i.e. sales), you're trying to maximize profits. @@ -237,4 +241,6 @@ Different ways to segment: **Be careful**, segmenting pisses people off, they want to pay a fair price. It creates no loyalty. It's also difficult to pull off properly. Don't use segmented pricing if you want to avoid headaches. **The only way to determine how much someone will pay for something is to put it up for sale, and see how many people actually buy it.** Seriously consider spending about $250 for a [demographically targeted survey](http://www.google.com/insights/consumersurveys/pricing) with 500 responses. If you genuinely can’t afford this, ask 10-20 of your friends how much they’d pay for different version of your product, or run a poll on Facebook. Any feedback on pricing and features, even biased, is better than none. http://answers.onstartups.com/a/44165/27092 -
dideler revised this gist
Jul 21, 2013 . 1 changed file with 8 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -229,4 +229,12 @@ You'll want to capture the consumer surplus from consumers who would spend more Separating your customers into different groups according to how much they are willing to pay, and extracting the maximal consumer surplus from each customer is called **segmented pricing**. Different ways to segment: - promotions - coupons - discounted people/times/days (e.g. student or senior discounts, matinee movies, ladies night) - different brands (e.g. Old Navy, Gap, Banana Republic. For software: "Home" vs "Professional" edition) **Be careful**, segmenting pisses people off, they want to pay a fair price. It creates no loyalty. It's also difficult to pull off properly. Don't use segmented pricing if you want to avoid headaches. http://answers.onstartups.com/a/44165/27092 -
dideler revised this gist
Jul 21, 2013 . 1 changed file with 23 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -207,4 +207,26 @@ Pricing tiers depend on what you're offering. On KickStarter, common *high-gross Use these steps to aid with selecting product tiers and prioritizing features/versions.  The basic idea is that the ultimate market research is a table with 7 billion rows (one for each person), N columns on their attributes (e.g. location, profession) and K columns (one for each product version), with each entry giving the amount that person will pay for those features. You won’t be able to sample all 7 billion, but you can sample a few hundred (e.g. with [Google Consumer Research Surveys](http://www.google.com/insights/consumersurveys/home) or Launchrock landing pages), and this gives you a conceptual framework for how to set up your product tiers The vast majority of people will pay $0 no matter how many features you add (or remove). A big mistake software companies make is charging too little, but the biggest mistake is charging too much, so they don't get enough customers. You're not trying to maximize units sold (i.e. sales), you're trying to maximize profits. When calculating profits, disregard the initial costs, those are sunk costs. Instead, consider the incremental cost of selling each additional unit (i.e. marginal cost), which may include S&H, support, etc. Your actual profit is `units_sold * (price_per_unit - marginal_cost)`. Plot your profits for different price points to figure out how to price your product. You'll want to capture the consumer surplus from consumers who would spend more than your decided price point and sell to them for a higher price. You'll also want to email/call back and beg those consumers who were willing to spend at most some price under your asking price and offer them the product for cheaper. Separating your customers into different groups according to how much they are willing to pay, and extracting the maximal consumer surplus from each customer is called **segmented pricing**. http://answers.onstartups.com/a/44165/27092
NewerOlder