Auto

Audi A4 Engine & Transmission

Audi A4 Overview

The success of Audi cars in India has seen the launch of new sedans meeting the customer desires of luxury and power at amazing costs. The Audi A4 series has been a tremendous success among the lot. The latest edition of Audi A4 is loaded with superior technology equipment, and the interior luxury and comfort have been taken to the next level. The innovative architecture of the interiors with high quality material, spacious and comfortable seating, and sharp featured body design and equipment highlight the luxury and dynamic stance. Audi A4 price range in India is between 39,31,238/-to 44,58,308/-,  check for detail pricing of A4 in Carzprice

For information on contact details of Audi car dealers in Hyderabad

Audi A4 Design

Immediately recognizable as an A4, the new sedan is slightly larger than its predecessor, a sign that Audi redesigned it using the same successful recipe we’ve come to know for decades. The shape hasn’t changed and the styling is familiar, albeit with sharper lines. This comes as no surprised given the new 2016 Audi Q7 and the 2016 Audi R8 received similar treatment. The model is more aerodynamic than its forerunner, and according to Audi, it’s also the most aerodynamic in its class, with a drag coefficient of only 0.23.

“The shape hasn’t changed and the styling is familiar, albeit with sharper lines.” While the front apron got only minor changes in the foglamp/intake area, the grille and the headlamps are as fresh as they get. Both feature sharper design cues, while the headlamps have a new pattern and extend less toward the fenders. There’s also a slightly reshaped hood. Together, these new features make the A4 look significantly more aggressive. The rear sports similar styling. The new bumper, the slightly shorter trunk lid and the slimmer, redesigned taillights give it a fresh and bold appearance. By contrast, the profile hasn’t changed much, even though Audi meddled with the side skirts and the quarter-windows.

As far as dimensions go, the new sedan is 1 inch longer and 0.55 inch wider, and its wheelbase has gained 0.6 inch. The car’s height has remained essentially unchanged. The big news regarding the A4’s revised body is that it’s 33.1 pounds lighter than its predecessor’s, contributing to an overall weight that has been decreased by up to 264 pounds, depending on trim and engine.

Alongside the sedan, Audi also unveiled the A4 Avant, which features the same styling updates and a sportier roof. The wagon is less aerodynamic than the sedan, with a drag coefficient of 0.26. Both models can be had with optional LED and matrix LED headlamps.

Audi A4 Cabin

The new Q7 had set a new benchmark for interiors. The same design has flown into the 2017 Audi A4 as well. The air-con vents extend from the centre console to the co-driver’s door. A large screen is placed above and simple AC controls underneath it. There is a gear knob too, which resembles the Q7. The cabin feels plush and spacious. Then there is the MMI system with its bells and whistles. The quality is at par with other Audi products.

New Audi A4 screenNow, the space? The front row was never a problem. It has always had good knee room and head room even for tall passengers. However, the increase in length of the 2017 Audi A4 means there is more room at the back. Now, tall people can sit comfortably even at the back. The space for the rear passengers isn’t just good but even the seats are highly supportive. They are hard and have a good recline, making it comfortable for long distance trips. Only two people can sit at the back, as the central tunnel intrudes into the space. This is just want Mercedes-Benz has done to the C-Class. The boot space too is larger than before on the 2017 Audi A4.

Audi A4 Engine

The 2017 Audi A4 diesel comes fitted with a 2.0-litre, four-cylinder TDI diesel engine. The power it generates is 190bhp and it has a torque of 400Nm. This engine is mated to a seven-speed S-Tronic automatic transmission. It takes about 7.7 seconds to reach 0-100 km/h from 0. The A4 diesel is a very torquey unit. I experienced a lot of torque steer as well, when pushed hard. The NVH levels are excellent and at par with what one would expect from a car of this class. The A4 gets the Audi Drive Select which has four modes. These are Comfort, Auto, Dynamic and Individual.

New Audi A4 Diesel EngineThe 2017 Audi A4 is also offered with a 1.4-litre TFSI petrol engine. This engine churns out about 150bhp of power and is offered with a seven-speed S-Tronic transmission. The A3 is offered with a 1.8-litre despite a smaller body. But, with a reduction of weight by about 95 kilograms, this much power is sufficient. Especially for those who are chauffeur driven. Audi has played its weight reduction card very well. The smaller engine doesn’t affect the performance that much. Also, now there is the DSG on the 2017 Audi A4 instead of CVT on the previous sedan. This also makes up way for it.

Audi A4 Driving

Audi never had any issues with ride and handling. With the new platform of the 2017 Audi A4, things have enhanced further. The ride of the 2017 Audi A4 hasn’t changed much, it is still somewhat similar. Due to longer wheelbase, the suspension has been softened. The handling of the 2017 Audi A4 is crisp. The steering wheel doesn’t feel slack at any point and has good feedback. The alacrity of the chassis is at par with the other new Audis.

The A4 is designed to offer more comfort that outright handling finesse. However,it balances both these aspects well. Braking is right up there too. What impressed us most was the hight speed stability. The car feels relaxed even at 150km/h and keeping one oblivious of the speed outside.

Audi A4 Safety

New generation safety equipments have been installed in the latest model of Audi A4. The car comes with Electronic Stability Program, with traction control and Antilock Braking System, to ensure that the driver acquires full control over the vehicle during emergencies. Apart from this, the car features dual stage front airbags, side and curtain airbags, to protect the passengers from the impact of collision in the event of accidents. Contributing to its amazing safety is the Servotronic speed-sensitive power assisted steering wheel.

Audi A4 Price

Audi A4 Ex-Showroom Price in India ranges from 39,31,238/- (A4 30 TFSI Premium Plus) to 44,58,308/- (A4 35 TDI Technology). Get best offers for Audi A4 from Audi Dealers in India

Audi A4 Verdict

The New Audi A4 was launched at Rs. 31,74,000 (ex-showroom Mumbai). At the time of its launch, Mr. Joe King, Head, Audi India said “The Audi A4 has been Audi’s longest and best selling sedan for close to 40 years now. With its progressive design, efficient driving dynamics and class defining interiors, the Audi A4 enjoys a very wide customer base. The powerful new 177 hp Audi A4 with the Audi Drive Select offers 27% more power and offers 3% more fuel efficiency than it’s predecessor. This car packs a powerful punch with its on-road performance which will appeal to both our discerning customers as well as the enthusiast,”The A4 strikes the perfect balance between a dynamic and comfort sedan. It does not excel in one particular section but then at the same time the A4 makes sure you get the “good” of all worlds

Auto

Maruti Suzuki Swift Engine & Gearbox

Maruti Suzuki Swift Overview

Maruti Suzuki Swift is one of the most easily spotted cars running on Indian roads. Launched in 2005, Swift has been here for more than ten years. Like most of the Maruti cars, Swift price is positioned competitively with entry level variant priced at Rs 5.96 lakh and the top-of-the-line variant available at Rs 6.3 lakh. Clearly the most contemporary looking hatch in MSI’s clan until Baleno came Swift has had an easy run amid rivals topping the popularity chart. During its product cycle, Swift has undergone one comprehensive facelift in 2011 followed by a couple of mild overhauls and various limited editions. Prepping to take a leap into the next generation, the new 2017 Maruti Suzuki Swift will receive vital changes to the exterior and interior. Dimensionally, it will be 50mm longer implicating more space inside the cabin. The new Maruti Suzuki Swift will underpin the new global platform used in Baleno and Ignis, implying lighter body as compared to the 3rd gen-model. Launched first in 2005, Maruti Suzuki Swift was a runaway success and its popularity continues in B segment. Maruti Suzuki Swift price range in India is between 5,31,454/- to 8,29,262/-, check for detail pricing of Swift in Carzprice

Check for Maruti car dealers in India

Maruti Suzuki Swift Design

If we talk about styling definitely the new generation Swift has changed a lot. It looks more aggressive, the car still carries over the same sporty design. The hatchback retains the same overall silhouette. What has changed though is the way it looks. The new Swift hatchback looks even sportier with the redesigned front headlamps which now get projector units (on the top variant), a completely new single piece grille and a huge fog lamp enclosure towards the lower lip. Like the front profile the side profile of the hatchback gets newly designed alloy wheels. Both the A and B pillars are finished in Black which has actually left a floating roof like illusion similar to the ones found in the new Vitara Brezza SUV. The rear profile of the new Swift looks little slimmer and also gets broader LED taillamps. It also gets a neat looking spoiler interated into the roof which completes the overall styling of the new hatchback.

The new Swift hatchback shares many of its parts with the Baleno hatchback however if we talk about overall dimension then the new hatchback is actually slightly shorter than the Baleno but has a longer wheelbase. The car is also lighter than the previous generation hatchback the lightest Swift hatchback only weighs 890 kilograms thanks to the new platform. This will definitely be useful and will help improve its overall performance.

Maruti Suzuki Swift Cabin

Get inside the car, and you will notice rich upholstery and all-black interiors. With an extended cabin area, there is a good knee space for rear passengers to make long drives enjoyable. However, the boot space remains unchanged and may bother you if you are looking for more luggage area. The black styling gives it a stylish and sophisticated visual appeal.

The elegant silver-painted door garnish, door trim fabric and door opener add more to the car’s appeal. The other features include digital display trip meter, rich dashboard with integrated cup holder and waterfall console, chromed door handles, LCD display, speedometer cluster, automatic climate control, single touch lane indicator, sun visor, anti-glare inside rear view mirror, and more. You can enjoy your favorite tracks while driving the car with a six-speaker audio system, which also supports USB. The new Maruti Swift comes with an improved NVH level, which has made it an even more fun-to-drive car.

The integrated stereo system with six high-quality speakers, steering mounted audio controls and three-level volume controls give pleasure while driving the all-new Maruti Suzuki Swift. Its audio controls illuminate during night to provide you better visibility. You will find many other features, like electrically-adjustable ORMVs. However, all these features come with the top-of-the-line trim only.

Maruti Suzuki Swift Performance

Maruti Suzuki has come under a lot of pressure as newer cars in the segment were boasting of more mileage, thus both the engines had to be re-tuned for improved efficiency. The 1.2-litre K-Series mill now produces 2.7 PS less power, thus is outputs 84.3 PS at 6000 RPM while the torque has increased by 1 Nm to 115 Nm at 4000 RPM. This has been achieved by increasing the compression ratio from 10.0:1 to 11.0:1, the vehicle now returns an ARAI mileage of 20.4 km/l against the old car’s 18.5 km/l. The petrol mill has good mid and top-end performance and loves the redline, the changes made to the powertrain aren’t very apparent when you drive the car as it still moves with the same punchiness as before.

Coming to the famous diesel engine of the Maruti Suzuki Swift, the 1.3-litre Fiat motor, it hasn’t been tuned, thus it generates the same 75 PS at 4000 RPM and 190 Nm at 2000 RPM as before. The company has made tweaks to the ECU while also reducing friction to improve the mileage which is now rated at a stellar 25.2 km/l (the old car was claimed to return 22.9 km/l). The oil burner is fun to drive on the open road but there is considerable low-end lag which makes it difficult to drive the vehicle in stop-go city conditions. But once the turbo spools in full flow, the mid-range punch is extremely satisfying, still not as good as the last generation Swift which gave a kick in the pants feel like no other. Both the petrol and diesel engines are married to a 5-speed manual gearbox and there is still no automatic on offer, not even on the petrol model. Want an automatic only, get the DZire or so is what Maruti feels.

Maruti Suzuki Swift Driving

Another aspect that hasn’t changed, and for a good reason too, is the drive dynamics. The new Swift comes fitted with what MSIL calls RBSS, basically a rally based suspension set up. With learnings from JWRC and our very own Indian rallies such as Desert Storm and Raid de Himalaya, the suspension system has been designed to be robust yet offer a rather decent ride quality. Push the car around a tight corner and she holds her line extremely well. No doubt the larger tyres have a role to play here, but there is more to the story than meets the eye. Despite an increase in size, the new MSIL Swift is 30 kilograms (petrol version) lighter than its predecessor and the diesel manages to be 15 kilograms lighter. A better stance and a lighter body also contribute to the Swift’s engaging driving dynamics.

Maruti Suzuki Swift Safety

Standard safety provisions across line-up include 3-point ELR front seat belts, rear seat belts, rear door child locks, front head restraint, dual horn, high mounted stop lamp, side door impact beams and iCats. Eminent safety equipment available exclusively on the top-spec variant are reverse parking sensor, new generation anti-lock-braking system with electronic brakeforce distribution, brake assist, airbags in front for driver and co-passenger. Of these features, ABS with EBD and brake assist is available exquisitely on the VDi trims while giving a miss to the petrol variants.

Electrically adjustable outside rear view mirrors are standard on mid and high end trims save for the base variant which gets manually adjustable ORVMs. Similarly, side turn indicators are missing in the base trim. Front windshield gets two-speed intermittent wipers. Cabin features sporty wraparound door trims highlighted by a hint of chrome. Other features like day and night inside rear view mirror, three-spoke steering wheel, high volume glove-box, parcel shelf, inside chrome door handles etc are stuffed in the cabin. The instrument panel features tachometer, reminder is provided for driver’s seat/light off/key-off and warning for door closure/low fuel. There is a multi-information display, digital clock and odometer among others

Maruti Suzuki Swift Price

Maruti Suzuki Swift Ex-Showroom Price in Pune ranges from 5,31,454/- (Swift LXI) to 8,29,262/- (Swift ZDI Plus). Get best offers for Maruti Suzuki Swift from Maruti Suzuki Dealers in India

Maruti Suzuki Swift Conclussion

Overall the newL Swift takes the evolution of the Swift brand to a new level. Everything about the car is more crisp and essentially you get a feeling of being offered a lot more car than before and that is a boon considering the changing market dynamics. In 2005 when MSIL rolled out the Swift it set a benchmark for the premium hatchback segment. Now with competition having grown so much, the Swift was definitely getting old in the tooth, but it possessed immense brand value and had a strong fan following. The new Swift retains those values yet manages to take the game more than just a notch higher.From the looks of it, the new Swift is here to reset the benchmark and the competition might as well start planning their arsenal. With the ability to rule the roost, the only factor that will seal the new Swift’s fate as kingpin of the premium hatchback segment is its pricing. Maruti has been known to price its small cars extremely aggressively and we hope to see that with this car as well.

Uncategorized

Native Mobile Apps are the New Flash

I’m not that old, but I remember a past when Flash was on top. Before HTML5 was the hottest tech buzzword. Before CSS gradients were even a distant dream. Before jQuery was a household name. Before Steve Jobs hung Flash to a cross.

Back then, the web simply wasn’t advanced enough to create the experiences users wanted. Developers turned to Flash to fill in the gaps, while the open web evolved and eventually surpassed Flash’s capabilities. Flash was a great stopgap measure. But it outlived its usefulness and has been reduced to niche status. For Web development company visit Vivid Designs

Today, we’re seeing the nearly exact same scenario with native apps on mobile devices.

The vast majority of web apps no longer need a native counterpart. Native mobile apps are a temporary solution. We’re just over 4 years into the Appstore era and this has already become apparent. Open web technologies are catching up to the point that the vast majority of web apps no longer need a native counterpart.

Don’t try to tell me native apps are faster or allude to them having a “better experience.” That simply is no longer true. Sencha proved this last year. For a more detailed look just how far mobile web capabilities have come, see Benjamin De Cock’s excellent “Building iOS Web Apps in 2013.”

Most of today’s mobile apps add little more than a homescreen button. As it stands now, there is little reason most mobile apps to exist. Content-based sites do not need downloadable apps. I’m talking about NYTimes, WSJ, Wikipedia, Buzzfeed, TMZ, etc. These native apps add literally nothing of value to their web-based user experience. Even many more complex apps do not need native functionality. Many RSS readers, GTD apps, eCommerce apps and search apps add little more than a homescreen button. For Web development services in Bangalore visit Vivid Designs

In many cases, native apps are a considerable step backward from their web counterparts. As Thomas Baekdal points out, mobile apps are stuck in 2004. Much of the functionality that has become standard on the web — automatic updates, social sharing, scrolling — has been completely stripped out and ignored.

Today, there are only two pieces of functionality that necessitate a native app: camera access and push notifications. And the web is quickly working on filling both of these gaps.

Once people begin realize this, native mobile apps will be the same as Flash. Useful for games, but not much else.

Edit: Many have said that I’ve “missed the point about app stores facilitating monetization and distribution.” Let me be clear: I am not saying the app store business model is going anywhere. Web app stores exist and are growing rapidly. Thanks for reading! I’m Jim Silverman, the product designer behind MeetMidway. You can follow me on Medium, Twitter, or Dribbble.

Credit

Uncategorized

The Two Perspectives on XML

Silicon Publishing

I have been working with XML since it was a glimmer in the eye of Jon Bosak. In fact, before XML was conceived, there was SGML; this evolution of SGML represented a streamlining for the web, but at its core there was not much functional difference; in fact the new invention was defined as a mere SGML subset. The key concept of semantic markup is central to the core value of SGML as well as its “streamlined for mass consumption” child.

The two main perspectives I have seen are Document-centric and Data-centric. SGML initially appeared in support of document-centric work: managing all the technical documents or contracts of IBM or Boeing, for example. Charles Goldfarb has maintained that “SGML literally makes the infrastructure of modern society possible” and I think he’s right — hmm, should we blame him for the lengths to which humans have gone to destroy the earth? If you are looking for Website development services check Vivid Designs

The gentle document-centric world The document-centric world is really a direct continuation of SGML. When XML came out as a standard in 1998, those of us working with document-centric use cases became giddy with excitement, anticipating that the standards being proposed at the time (notably XML itself, XLink, XML Schema, RDF, XSL and pre-cursors to SVG) would finally facilitate tools that made publishing work for organizations that weren’t quite as big as IBM or the Department of Defense. The vision of a semantic web and ubiquitous multi-channel publishing, seemed to be growing a foundation in theories gaining critical mass, with apparent support of software companies. It appeared these vendors might actually adopt the standards of the committees they were sitting on. “Throw away Xyvision!” I told my boss at Bertelsmann, “this XSL-FO will completely revolutionize database publishing!”

We were sorely disappointed over the next five years. In the years before 1998 W3C standards seemed magical; concepts from the standards were implemented relatively quickly, without perfection but with steady progress: browser updates would reflect CSS and HTML advances; even Microsoft was shamed into some level of compliance. But the monopolistic tendencies of those on the standards committees, coupled with the academic approach of some of the standards committees, managed to make it less and less likely that a given standard would find a functional implementation.

Data-centric newbies crash the party And there was that other perspective — the data-centric side of things. For many reasons, XML was at the right place at the right time in terms of data management and information exchange. In fact, the very year that it became a standard, it also became the dominant way that machines (servers) talked to each other around the world. Highly convenient for exchanging info, as firewalls would tend to block anything but text over http, while the semantic markup would allow any sort of specification for data structures, and validation tools would ensure no info was lost. If you are looking for Best web design company in Bangalore check Vivid Designs

In 1998, when you asked a programming candidate “what do you know about XML?” only the document-centric people would know anything. By 2000, everyone doing any serious programming “knew” about the acronym. Trouble was, they typically knew about it only in the much easier-to-use, barely-relevant-to-publishing, sense.

And the standards now had to accommodate two crowds. The work of the W3C XML Schema Working Group, in particular, showed the disconnect. Should a schema be easily human readable? What was the primary purpose of Schema? Goals were not shared by the document- and data-centric sides, and data-centric won out, as they have tended to dominate the standards space around structure ever since that time. RELAX NG came about as an alternative, and if you contrast RELAX NG with W3C Schema, you will see the contrast between the power of a few brilliant individuals aligned in purity of purpose and the impotence of a committee with questionable motives and conflicting goals. Concurrent with a decline in the altruism of committee participants was the huge advance of data-centric XML and the disproportionate representation of that perspective.

XML tooling solves mainly the trivial data-centric challenges Ten years later, we find in the document-centric world that toolsets related to XML in a data sense — parsing, transforming, exchanging info — have made great leaps forward, but we are in many ways still stuck in the 1990s in terms of core authoring and publishing technologies. It is telling that descendants of the three great SGML authoring tools as of 1995 — FrameMaker+SGML, Arbortext Epic, and SoftQuad’s Author/Editor, are, lo and behold, the leading three XML authoring tools in 2009.

There have been some slow-paced advances in document-centric XML standards and tool chains as well, especially the single bright light out there for us, Darwin Information Typing Architecture (DITA) which came out of IBM like XML itself. Yet standards for rendition, XSL-FO and SVG especially, have not advanced along with core proprietary rendition technologies such as InDesign, Flash, or Silverlight, though all of these enjoy nicely copied underpinnings pillaged from the standards. More important, nothing has stepped in to replace the three core authoring tools: the “XML support” of Microsoft Word and Adobe InDesign, for example, do not approach the capabilities of a true structured authoring application. There are a proliferation of XML “editors” but most of the new ones are appropriate for editing a WSDL file or a SOAP message (data-centric forms of XML), not a full-fledged document.

Meanwhile, on the data-centric front, XML has simply permeated every aspect of computing. There are XML data types in database systems, XML features in most programming languages, XML configuration files at the heart of most applications, and XML-based Web Services available in countless flavors. With the advent of JSON at the turn of the 21st century, the torch was passed on to an even more streamlined and “web-convenient” approach for managing semantic content, and while JSON is finding its way into ever-richer content, it is used first and foremost in a data-centric way.

Document-centric XML is simply a deep challenge that will take more time (and probably more of a commercial incentive) to tackle. For the time being, structured authoring managed the XML way is still implemented mainly by very large organizations: such an approach has “trickled down” from organizations the size of IBM to organizations the size of Adobe (which does, in fact, use DITA now), but there are not tool chains yet available that will bring it down much further. The consequences of the failure of the W3C XML Schema Working Group to provide a functional specification supporting document-centric XML can hardly be underestimated.

As long as content is not easily authored in a semantically rich, structured fashion, the vision of the semantic web will remain an illusion. Should document-centric XML get more attention from standards bodies and software vendors, human communications might become far more efficient and effective. Yet the challenges are substantial, the short-term gain not so obvious, it appears that semantic depth will not commonly be available in such a controlled and intentional fashion, but instead will be deduced after the fact through analysis of “unstructured” and pseudo-structured content.

Uncategorized

Web Developer Monthly 💻🚀 — July 2018

Being a web developer is a fantastic career option. You have many job opportunities, you can work around the world, and you get to solve hard problems. One thing that is hard, however, is staying up to date with the constantly evolving ecosystem. You want to be a top performing web developer, coder, programer, software developer, but you don’t have time to select from hundreds of articles, videos and podcasts each day.

This monthly newsletter is going to be focused on keeping up to date with the industry, keeping your skills sharp, without wasting your valuable time. I will be sharing the most important articles, podcasts and videos of the month. Think Tim Ferriss and the Pareto Principle (80/20 rule) meeting the Software Development world. What’s the 20% that will get you 80% of the results? For web design company visit Vivid Designs

Welcome to the first issue. If you want to be notified of the next issue with industry news and tips, subscribe below:

This month as a web developer… 1. HTTPS + Google Google Chrome will officially no longer be nice if you don’t use HTTPS on your website: https://twitter.com/ChromiumDev/status/1021806746283651072

So you better learn what HTTPS is and start using it with something like Let’s Encrypt.

2. Developer Roadmaps More and more developer roadmaps are being created. Here are some good ones that show you what you need to learn for a specific career in 2018: – Front End Developer – Back End Developer – DevOps – React Developer

3. ES2018 + ES2019 Features If you haven’t taken a look already, get ready for ES2018 features, and some of the features that may be coming in ES2019. Dr. Axel Rauschmayer gives you a great writeup here: http://exploringjs.com/es2018-es2019/

4. Modern Architecture Big picture vision is important to get an idea of the current architecture landscape. This article is one of the best on the subject of how some big companies are handling their software architecture: https://engineering.videoblocks.com/web-architecture-101-a3224e126947

5. NPM Security Issue On July 12, 2018, the popular package manager, NPM, had a bit of a security issue… https://blog.npmjs.org/post/175824896885/incident-report-npm-inc-operations-incident-of, and this is one of the ways they are solving this: https://blog.npmjs.org/post/175861857230/two-factor-authentication-protection-for-packages

6. jQuery 💔Github Github no longer uses jQuery on their front end. Why? Well because they can do without it: https://twitter.com/mislav/status/1022058279000842240. Yes, I know the broken heart in the title is a little bit dramatic…

Best Article of the Month My favourite article this month… ok this is not from July but it’s the first issue (give me a break), so I’m picking one from a few months back because it is so good. It is a must read for all developers: https://medium.freecodecamp.org/how-to-think-like-a-programmer-lessons-in-problem-solving-d1d8bf1de7d2

Code Trick of the Month

Remove all node_module folders recursively to clean up your computer: https://coderwall.com/p/guqrca/remove-all-node_module-folders-recursively. For website design company in New delhi visit Vivid Designs

Thank you for reading this far. If you enjoyed this post, please share, comment, and press/hold that 👏 a few times (up to 50 times). . . I will keep doing these if there is enough interest!

Follow me on Twitter and Subscribe to the newsletter above. Format may change as I get more feedback. By the way, my full time job is to teach people to code in the most efficient way possible. You can see my two courses below:

1. The Complete Web Developer in 2018

2. Complete Junior to Senior Web Developer Roadmap

Source

Uncategorized

How to write a good software design doc

As a software engineer, I spend a lot of time reading and writing design documents. After having gone through hundreds of these docs, I’ve seen first hand a strong correlation between good design docs and the ultimate success of the project.

This article is my attempt at describing what makes a design document great.

The article is split into 4 sections:

Why write a design document What to include in a design document How to write it The process around it Why write a design document? A design doc — also known as a technical spec — is a description of how you plan to solve a problem.

There are lots of writings already on why it’s important to write a design doc before diving into coding. So all I’ll say here is:

A design doc is the most useful tool for making sure the right work gets done.

The main goal of a design doc is to make you more effective by forcing you to think through the design and gather feedback from others. People often think the point of a design doc is to to teach others about some system or serve as documentation later on. While those can be beneficial side effects, they are not the goal in and of themselves.

As a general rule of thumb, if you are working on a project that might take 1 engineer-month or more, you should write a design doc. But don’t stop there — a lot of smaller projects could benefit from a mini design doc too.

Great! If you are still reading, you believe in the importance of design docs. However, different engineering teams, and even engineers within the same team, often write design docs very differently. So let’s talk about the content, style, and process of a good design doc.

What to include in a design doc? A design doc describes the solution to a problem. Since the nature of each problem is different, naturally you’d want to structure your design doc differently.

To start, the following is a list of sections that you should at least consider including in your next design doc:

Title and People The title of your design doc, the author(s) (should be the same as the list of people planning to work on this project), the reviewer(s) of the doc (we’ll talk more about that in the Process section below), and the date this document was last updated. If you are looking for website design for your company check Vivid Designs 

Overview A high level summary that every engineer at the company should understand and use to decide if it’s useful for them to read the rest of the doc. It should be 3 paragraphs max.

Context A description of the problem at hand, why this project is necessary, what people need to know to assess this project, and how it fits into the technical strategy, product strategy, or the team’s quarterly goals.

Goals and Non-Goals The Goals section should:

describe the user-driven impact of your project — where your user might be another engineering team or even another technical system specify how to measure success using metrics — bonus points if you can link to a dashboard that tracks those metrics Non-Goals are equally important to describe which problems you won’t be fixing so everyone is on the same page.

Milestones A list of measurable checkpoints, so your PM and your manager’s manager can skim it and know roughly when different parts of the project will be done. I encourage you to break the project down into major user-facing milestones if the project is more than 1 month long.

Use calendar dates so you take into account unrelated delays, vacations, meetings, and so on. It should look something like this:

Start Date: June 7, 2018 Milestone 1 — New system MVP running in dark-mode: June 28, 2018 Milestone 2 – Retire old system: July 4th, 2018 End Date: Add feature X, Y, Z to new system: July 14th, 2018

Add an [Update] subsection here if the ETA of some of these milestone changes, so the stakeholders can easily see the most up-to-date estimates.

Current Solution In addition to describing the current implementation, you should also walk through a high level example flow to illustrate how users interact with this system and/or how data flow through it.

A user story is a great way to frame this. Keep in mind that your system might have different types of users with different use cases.

Proposed Solution Some people call this the Technical Architecture section. Again, try to walk through a user story to concretize this. Feel free to include many sub-sections and diagrams.

Provide a big picture first, then fill in lots of details. Aim for a world where you can write this, then take a vacation on some deserted island, and another engineer on the team can just read it and implement the solution as you described.

Alternative Solutions What else did you consider when coming up with the solution above? What are the pros and cons of the alternatives? Have you considered buying a 3rd-party solution — or using an open source one — that solves this problem as opposed to building your own?

Monitoring and Alerting I like including this section, because people often treat this as an afterthought or skip it all together, and it almost always comes back to bite them later when things break and they have no idea how or why.

Cross-Team Impact How will this increase on call and dev-ops burden? How much money will it cost? Does it cause any latency regression to the system? Does it expose any security vulnerabilities? What are some negative consequences and side effects? How might the support team communicate this to the customers?

Discussion Any open issues that you aren’t sure about, contentious decisions that you’d like readers to weigh in on, suggested future work, and so on.

Detailed Scoping and Timeline This section is mostly going to be read only by the engineers working on this project, their tech leads, and their managers. Hence this section is at the end of the doc.

Essentially, this is the breakdown of how and when you plan on executing each part of the project. There’s a lot that goes into scoping accurately, so you can read this post to learn more about scoping.

I tend to also treat this section of the design doc as an ongoing project task tracker, so I update this whenever my scoping estimate changes. But that’s more of a personal preference.

How to write it Now that we’ve talked about what goes into a good design doc, let’s talk about the style of writing. I promise this is different than your high school English class.

Write as simply as possible Don’t try to write like the academic papers you’ve read. They are written to impress journal reviewers. Your doc is written to describe your solution and get feedback from your teammates. You can achieve clarity by using:

Simple words Short sentences Bulleted lists and/or numbered lists Concrete examples, like “User Alice connects her bank account, then …” Add lots of charts and diagrams Charts can often be useful to compare several potential options, and diagrams are generally easier to parse than text. I’ve had good luck with Google Drawing for creating diagrams. If you are looking for website development in Mumbai for your company visit Vivid Designs

Pro Tip: remember to add a link to the editable version of the diagram under the screenshot, so you can easily update it later when things inevitably change.

Include numbers The scale of the problem often determines the solution. To help reviewers get a sense of the state of the world, include real numbers like # of DB rows, # of user errors, latency — and how these scale with usage (remember your Big-O notations?).

Try to be funny A spec is not an academic paper. Also, people like reading funny things, so this is a good way to keep the reader engaged. Don’t overdo this to the point of taking away from the core idea though.

If you, like me, have trouble being funny, Joel Spolsky (obviously known for his comedic talents…) has this tip:

One of the easiest ways to be funny is to be specific when it’s not called for [… Example:] Instead of saying “special interests,” say “left-handed avacado farmers.” Do the Skeptic Test Before sending your design doc to others to review, take a pass at it pretending to be the reviewer. What questions and doubts might you have about this design? Then address them preemptively.

Do the Vacation Test If you go on a long vacation now with no internet access, can someone on your team read the doc and implement it as you intended?

The main goal of a design doc is not knowledge sharing, but this is a good way to evaluate for clarity so that others can actually give you useful feedback.

Process Ah yes, the dreaded P-word. Design docs help you get feedback before you waste a bunch of time implementing the wrong solution or the solution to the wrong problem. There’s a lot of art to getting good feedback, but that’s for a later article. For now, let’s just talk specifically about how to write the design doc and get feedback for it.

First of all, everyone working on the project should be a part of the design process. It’s okay if the tech lead ends up driving a lot of the decisions, but everyone should be involved in the discussion and buy into the design. So the “you” throughout this article is a really plural “you” that includes all the people on the project.

Secondly, the design process doesn’t mean you staring at the whiteboard theorizing ideas. Feel free to get your hands dirty and prototype potential solutions. This is not the same as starting to write production code for the project before writing a design doc. Don’t do that. But you absolutely should feel free to write some hacky throwaway code to validate an idea. To ensure that you only write exploratory code, make it a rule that none of this prototype code gets merged to master.

After that, as you start to have some idea of how to go about your project, do the following:

Ask an experienced engineer or tech lead on your team to be your reviewer. Ideally this would be someone who’s well respected and/or familiar with the edge cases of the problem. Bribe them with boba if necessary. Go into a conference room with a whiteboard. Describe the problem that you are tackling to this engineer (this is a very important step, don’t skip it!). Then explain the implementation you have in mind, and convince them this is the right thing to build. Doing all of this before you even start writing your design doc lets you get feedback as soon as possible, before you invest more time and get attached to any specific solution. Often, even if the implementation stays the same, your reviewer is able to point out corner cases you need to cover, indicate any potential areas of confusion, and anticipate difficulties you might encounter later on.

Then, after you’ve written a rough draft of your design doc, get the same reviewer to read through it again, and rubber stamp it by adding their name as the reviewer in the Title and People section of the design doc. This creates additional incentive and accountability for the reviewer.

On that note, consider adding specialized reviewers (such as SREs and security engineers) for specific aspects of the design.

Once you and the reviewer(s) sign off, feel free to send the design doc to your team for additional feedback and knowledge sharing. I suggest time-bounding this feedback gathering process to about 1 week to avoid extended delays. Commit to addressing all questions and comments people leave within that week. Leaving comments hanging = bad karma.

Lastly, if there’s a lot of contention between you, your reviewer, and other engineers reading the doc, I strongly recommend consolidating all the points of contention in the Discussion section of your doc. Then, set up a meeting with the different parties to talk about these disagreements in person.

Whenever a discussion thread is more than 5 comments long, moving to an in-person discussion tends to be far more efficient. Keep in mind that you are still responsible for making the final call, even if everyone can’t come to a consensus.

In talking to Shrey Banga recently about this, I learned that Quip has a similar process, except in addition to having an experienced engineer or tech lead on your team as a reviewer, they also suggest having an engineer on a different team review the doc. I haven’t tried this, but I can certainly see this helping get feedback from people with different perspectives and improve the general readability of the doc.

Once you’ve done all the above, time to get going on the implementation! For extra brownie points, treat this design doc as a living document as you implement the design. Update the doc every time you learn something that leads to you making changes to the original solution or update your scoping. You’ll thank me later when you don’t have to explain things over and over again to all your stakeholders.

Finally, let’s get really meta for a second: How do we evaluate the success of a design doc?

My coworker Kent Rakip has a good answer to this: A design doc is successful if the right ROI of work is done. That means a successful design doc might actually lead to an outcome like this:

You spend 5 days writing the design doc, this forces you to think through different parts of the technical architecture You get feedback from reviewers that X is the riskiest part of the proposed architecture You decide to implement X first to de-risk the project 3 days later, you figure out that X is either not possible, or far more difficult than you originally intended You decide to stop working on this project and prioritize other work instead At the beginning of this article, we said the goal of a design doc is to make sure the right work gets done. In the example above, thanks to this design doc, instead of wasting potentially months only to abort this project later, you’ve only spent 8 days. Seems like a pretty successful outcome to me.

Please leave a comment below if you have any questions or feedback! I’d also love to hear about how you do design docs differently in your team.

Giving credit where credit is due, I learned a lot of the above by working alongside some incredible engineers at Plaid (we are hiring! Come design and build some sweet technical systems with us) and Quora.

Source