Posts Tagged:programming

rfp-robotRFP ROBOT: Website Request for Proposal Generator

The time has come for a new website (or website redesign), which means you need to write a website request for proposal or web RFP. A Google search produces a few examples, but they vary wildly and don’t seem to speak really to your goals for developing or redesigning a new website. You need to write a website RFP that will clearly articulate your needs and generate responses from the best website designers and developers out there. But how?

Have no fear, RFP Robot is here. He will walk you through a step-by-step process to help you work through the details of your project and create a PDF formatted website design RFP that will provide the information vendors need to write an accurate bid. RFP Robot will tell you what info you should include, point out pitfalls, and give examples.

Ghosts and Machines

There is a phenomena that all software programmers are aware of and have experienced which is the unexplainable behavior of software. In other words, a ghost in the machine is something that we will say when we simply can’t explain a malfunction (or even something working properly!) related to something that we’ve created or something that someone else has written. It’s frustrating because it happens more often than I’d like to admit. When I first started programming I thought the craft of software engineering was nothing short of magical… this idea that you could, with just a combination of words, create fantastic worlds, was mind-boggling. The sense of awe and wonder and the magical properties of software still hold me strongly today. I think that what we get to do is so cool and I’ve been so blessed to be able to do it for so long. But that darn ghost is everywhere…

Read More →

Revisiting our Fantasy Football Exploration

In 2015 Viget launched one of our most popular explorations around the future of fantasy football. As avid fans and players, we were interested in exploring the intersection of three of our biggest passions: technology, experience design, and sports. Our goal was to consider improvements to the fantasy football interfaces as well as concepts to push the fantasy experience beyond the screen. Through our research we specifically focused on designs for a more immersive draft experience, enhanced league communications, and better access to more statistical analysis. Two years has passed and the fantasy landscape is still booming with no signs of slowing down. As we start our 6th season of fantasy football at Viget we decided to dust off the ole exploration from the trophy shelf and see whether or not our ideas still hold water—or gatorade—or, well, you get the point. Looking back, what began as a “wouldn’t it…

Read More →

Hybrid development is how we give our teams of three superpowers

We just launched a major revamp of the schedule in Basecamp 3. New calendar grid, new day drill-down, new navigation across months. It’s a big change, and we rolled it out simultaneously across five platforms: Web, Windows Desktop, OS X Desktop, iOS, and Android.Three people did the work in less than six weeks.Not because they worked 120 hour weeks. Not because they’re polymath geniuses. Not because they outsourced the work to offshore programming farms.Three people launched a major new feature across five platforms in six weeks because of their hybrid-development superpowers. Powers derived from using basic web technologies, Rails, Turbolinks, and the Majestic Monolith.These six weeks included all sorts of experimentation, back-and-forth, and trade-offs. It was both research and development. A flexible, fluid spec that we honed as we went along.Can you even imagine trying to do coordinate five different native teams covering all those platforms simultaneously? Or how many people it would…

Read More →

Strongly Held Opinions, Gone Away

I received a really wonderful question from Bryan Braun the other day during a workshop I was giving at Sparkbox. He asked if, over the years, if there were opinions about web design and development I strongly held that I don’t anymore. I really didn’t have a great answer at the time, even though surely if I could rewind my brain there would be some embarrassing ones in there. At the risk of some heavy self-back-patting, this is exactly the reason I try and be pretty open-minded. If you aren’t, you end up eating crow. And for what? When you crap on an idea, you sound like a jerk at the time, and likely cause more harm than good. If you end up right, you were still a jerk. If you end up wrong, you were a jerk and a fool. I like the sentiment the web is a big…

Read More →

A Guide to Better Conversations with Developers

As an intern at Viget this summer, one of my required tasks was working with a team of other interns from other disciplines to complete a digital product. The experience was fantastic and I am very proud of the end result (check it out here). Surprisingly, however, the largest learning curve wasn’t developing in a new language or using unfamiliar libraries and frameworks or even programming within a new set of standards. It was team communication. Working with a group of other interns, fresh to the concept of working on a single project and with completely varying educational backgrounds, exacerbated typical professional communication difficulties. Although most of these difficulties were overcome throughout the project, one type of communication breakdown I observed on this project I have seen mirrored in other interactions throughout my time in school, in other internships, and in ongoing professional projects at Viget and other workplaces. A…

Read More →

​The #1 Website for Coding Challenges

Coderbyte is a web application built to help you practice programming and improve your algorithm skills. We offer a collection of coding challenges and web development courses that can help you prepare for an upcoming job interview or general technical assessment. All of our coding challenges can be completed directly in our online editor, and if you need help along the way you can view thousands of user-submitted code solutions as well. View all Coding Challenges Direct Link to Article — Permalink ​The #1 Website for Coding Challenges is a post from CSS-Tricks Source: CssTricks

The Best Way to Implement a “Wrapper” in CSS

Sometimes the first bit of HTML we write in a new document is an element that wraps everything else on the page. The term wrapper is common for that. We give it a class, and that class is responsible for encapsulating all visual elements on the page. I’ve always struggled to with the best way to implement it. I found a related thread on StackOverflow that has more than 250,000 views, so obviously I’m not the only one wondering! I’ll sum up my latest thoughts in this article. Before we dive into it, let’s first examine the difference between the “wrapper” and the “container”. “Wrapper” vs “Container” I believe there is a difference between wrapper and container elements. In programming languages, the word container is generally used for structures that can contain more than one element. A wrapper, on the other hand, is something that wraps around a single object…

Read More →

Creating Photorealistic 3D Graphics on the Web

Before becoming a web developer, I worked in the visual effects industry, creating award-winning, high-end 3D effects for movies and TV Shows such as Tron, The Thing, Resident Evil, and Vikings. To be able to create these effects, we would need to use highly sophisticated animation software such as Maya, 3Ds Max or Houdini and do long hours of offline rendering on Render Farms that consisted of hundreds of machines. It’s because I worked with these tools for so long that I am now amazed by the state of the current web technology. We can now create and display high-quality 3D content right inside the web browser, in real time, using WebGL and Three.js. Here is an example of a project that is built using these technologies. You can find more projects that use three.js on their website. Some projects using three.js As the examples on the three.js website demonstrate,…

Read More →

Designing Between Ranges

CSS is written slowly, line by line, and with each passing moment, we limit the space of what’s possible for our design system. Take this example: body { font-family: ‘Proxima-Nova’, sans-serif; color: #333; } With just a couple of lines of CSS we’ve set the defaults for our entire codebase. Most elements (like paragraphs, lists and plain ol’ divs) will inherit these instructions. But what we rarely think about when we write CSS is that from here on out we’ll have to continuously override these rules if we want another typeface or color. And it’s those overrides that cause a lot of issues in terms of maintenance and scalability. And it’s those issues that cost us heartbreak, time and money. In the example above that’s probably not an issue but I think in general we don’t recognize the true strength and dangers of the cascade and what it means to our…

Read More →

How we pay people at Basecamp

It’s just better business to pay people fairlyThere are no negotiated salaries or raises at Basecamp. Everyone in the same role at the same level is paid the same. Equal work, equal pay.We assess new hires on a scale that goes from junior programmer, to programmer, to senior programmer, to lead programmer, to principal programmer (or designer or customer support or ops…) We use the same scale to assess when someone is in line for a promotion.Raises happen automatically, once per year, when we review market rates. Our target is to pay everyone at the company in the 95th percentile, or top 5%, of the market, regardless of their role. So whether you work in customer support or ops or programming or design, you’ll be paid in the top 5% for that position.If someone is below that target, they get a raise large enough to match the target. If someone is already…

Read More →

New Class: How to Use LESS

CSS stylesheets can become hard to manage on large projects. LESS is a solution that developers use to make their CSS much more efficient. As many designers know, stylesheets can become complex on big sites. It can become a headache to manage hundreds or thousands of styles.  LESS allows you to use plain CSS, but also add programming features such as variables, mixins, and functions. LESS is an extension to CSS, so it works perfectly with normal CSS, and the extra features it adds use existing CSS syntax. This makes learning LESS a very popular choice for coders, including those who build popular design frameworks, themes and templates. This week’s new class is called “How to Use LESS”. You’ll learn about all the key features available in LESS. [[ This is a content summary only. Visit for full links, other content, and more! ]] Source:

Drupal is Good?

Before joining Viget I built websites on Drupal for Congressmen and Fortune 500 companies. Those websites were good, and they’re visited by millions of people. I’ve been to Drupal Cons, I’ve been to Drupal meet-ups, and I’ve given presentations on Drupal topics. I wouldn’t have a career as a developer without Drupal, but I wouldn’t recommend Drupal. “So if not Drupal, then what?” It depends. Anyone who says they know the solution before they know the problem is lying, wrong, or guessing. At Viget, we can figure out what the best solution is to a problem. That solution may be a static website, a solution with Contentful, a Craft site, a custom-built CMS, or something we haven’t thought of yet. It depends on the project. We’ve written about this before. We have come up with reasons to go off-the-shelf or to go custom-built. We have compared off-the-shelf CMS’s and we…

Read More →

Did CSS get more complicated since the late nineties?

Hidde de Vries gathers some of the early thinking about CSS: There is quite a bit of information on the web about how CSS was designed. Keeping it simple was a core principle. It continued to be — from the early days and the first implementations in the late nineties until current developments now. The four main design principles listed are fascinating: Authors can specify as much or little as they want It is not a programming language by design They are agnostic as to which medium they are used for It is stream-based So… did it? I think lots has changed since the early nineties, but not really things that touch on how we apply CSS to structured markup. Direct Link to Article — Permalink Did CSS get more complicated since the late nineties? is a post from CSS-Tricks Source: CssTricks

7 Multi-screen Benefits For Web Designers

Website designers often prefer using two or three screens during programming. Of course one can work but working with multiple screens is a lot better. After experiencing multi-screen benefits, most designers will tell you that they feel strange or incomplete when they have to work with one screen. Why use multi-screen When we’re talking about multi-screen, it means having two or more physical monitors connected to one operating system. However, it could also mean having multiple devices such as a smartphone, tablet, laptop or desktop. In most cases, the use of phones and other portable devices allows designers to make quick notes or quickly look up something while still coding on their laptops or PCs. When using multiple screens running from different operating systems, it’s usually for the purpose of testing. The use of multiple screens isn’t limited to the web design industry. It is widely used in several sectors. One…

Read More →

Let’s Talk About Speech CSS

Boston, like many large cities, has a subway system. Commuters on it are accustomed to hearing regular public address announcements. Riders simply tune out some announcements, such as the pre-recorded station stop names repeated over and over. Or public service announcements from local politicians and celebrities—again, kind of repetitive and not worth paying attention to after the first time. Most important are service alerts, which typically deliver direct and immediate information riders need to take action on. An informal priority A regular rider’s ear gets trained to listen for important announcements, passively, while fiddling around on a phone or zoning out after a hard day of work. It’s not a perfect system—occasionally I’ll find myself trapped on a train that’s been pressed into express service. But we shouldn’t remove lower priority announcements. It’s unclear what kind of information will be important to whom: tourists, new residents, or visiting friends and…

Read More →

Programming languages aren’t a zero sum game

Stop me if you’ve heard these before when people get to talking about programming languages…“These features are copied this from <superior language>.”“Nothing new here. <superior language> has done this for years.”“This language has nothing on <superior language>, but nobody realizes it.”“<superior language> does the same thing, but better.”I bring it up because I’ve been reading and writing a lot about Kotlin lately. And invariably someone posts a snarky comment like one those above, carrying with it a clear innuendo: my preferred programming language is better than yours.And every time I see those I leave with the same reaction. Who gives a shit?Now I’m not talking about people who are having constructive conversations or even just poking fun. Hell, I may have been known to take a jab at Java every once in a while. 👊I’m talking about a subset of programmers who treat languages like it’s a zero sum game — that for one language to succeed, another (or all…

Read More →

The Structure of an Elm Application

Most languages when they are in their infancy, tend to be considered “toy languages” and are only used for trivial or small projects. But this is not the case with Elm, where its true power shines in complex and large applications. It is not only possible to build some parts of an application in Elm and integrate those components into a larger JS application, but it is also possible to build the entire application without touching any other language making it an excellent alternative to JS frameworks like React. In this article, we will explore the structure of an Elm application using a simple site to manage plain-text documents as an example. Article Series: Why Elm? (And How To Get Started With It) Introduction to The Elm Architecture and How to Build our First Application The Structure of an Elm Application (You are here!) Some of the topics covered in…

Read More →

15 Useful JavaScript Libraries to Enhance Your Site

Inspired Magazine Inspired Magazine – creativity & inspiration daily Making a great site requires a lot of skills, but you don’t always have to develop everything completely from scratch. To use any of the JavaScript libraries presented in this article, you will need to have at least some existing JavaScript skills, but you also don’t necessarily need to be an expert. What you do need to be expert with is working out how to blend the libraries into a site to get the most benefit from them. This isn’t really something that can be taught. It’s a skill you can only learn by doing. Once you have mastered the concepts, however, there is no limit to your creativity and what you can achieve with it. Collected here is our list of the most useful JavaScript libraries available to programmers for site enhancement. You may not see your favorite listed here,…

Read More →

Enter the dot matrix

Illustration by Nate OttoTroy Henikoff was a college student in 1984 when he wrote his first program, a piece of software to help his grandfather’s steel warehouse manage their inventory. That summer project led Troy to start his own software consulting business a couple years later. This is an atypical Distance story about beginnings, endings and unexpected legacies. Troy Henikoff describes himself as an unintentional entrepreneur. Today he’s a well-known figure in Chicago’s tech scene, but when he began dabbling in computer programming and setting up his own business, there was no established startup culture for him to absorb. No networking events, no hoodies, no cliches about hustle or crushing it or changing the world. Troy’s story starts in 1984, at his grandfather’s steel warehouse on Chicago’s south side. He had just finished his sophomore year of college.TROY HENIKOFF: So that summer when I got to Chicago, I was given a bunch…

Read More →

Back to Top