With the imminent release of Angular 2 and the recent announcements from ng-conf 2016, the World Wide Web is abuzz with news regarding the next big thing. While scepticism was reserved for their initial communication about Angular 2, the team at Google has managed to dispel even the hardest cynic’s concerns. Most of the initial dialog about Angular 2 has revolved around its relationship with TypeScript, and its drastic departure from the Model-View-Controller metaphor, but there is so much more to the reinvented framework than that.
However, only a part of the tooling question is addressed by TypeScript and the Angular 2 team has not been remiss in trying to address the full developer experience. Much effort is being invested in scaffolding and build tooling in the form of the new Angular 2 command line interface. While still in active development, it aims to simplify the access to features currently offered by a variety of disparate tools – such as Grunt, Gulp, and Yeoman. The real value, however, comes in the form of the debugger tool; Augury. Developed by the team that built Batarangle and Angular 1.x visualizer, Augury is a Chrome plugin that provides deep visualisation of component tree, dependency graph, router configuration, scope variables and much more.
One of the biggest criticisms that the team has had to confront is the performance. Angular 1.x is slow, very slow. An acute awareness of performance is at the heart of Angular 2 and it has necessitated a fundamental redesign of their change detection model. The Angular team embraced a flux-like unidirectional propagation of data by separating the event and property binding into 2 separate flows. This means that the propagation of changes through the component hierarchy is much more controlled, isolated and any changes in any component scope won’t result in a full digesting of the page – an unintended side effect of some prevalent patterns in Angular 1.x. All told, the Angular team is reporting a fivefold improvement in rendering performance over Angular 1.x, as well as a reduction in framework payload size from 56kb down to 45kb. Many more features, executing faster with a smaller footprint.
While the performance is greatly improved, it still has the fundamental problem of any single page application (SPA), the time of the initial page impression is awful. Research from Google AdSense indicates that on the open web, a difference of 200ms on a page load can fundamentally alter the user’s perception of and interaction with an entire site. To address this the Angular team has created an isomorphic renderer for Angular 2, allowing it to render Angular templates independently of the browser – on the server. This allows for static html files to be generated at build time and deployed in conjunction with your application, quickly served as a first impression to the browser, while downloading the full application in the background. Angular 2 then has a preboot function that records user interactions, and ‘replays’ the sequence of events internally once the application has fully loaded. While this whole process should ideally all be sub second, leaving the user with the perception of amazing performance.
What does Angular 2 mean for BBD?
• Component based design means that the solutions will scale better with complexity• Great performance means that the framework can scale up to any of our solutions, with fewer performance pitfalls.• TypeScript means that it will be easier for developers with C# and Java skill to bridge the gap to the front end.• TypeScript will allow our applications to be future-proofed to a far greater degree than they are at the moment.• Better tooling means it’s easier and faster to find and fix bugs• Cross platform development with a high degree of code reuse, and without needing a new skill set, all while still running natively• It’s in release candidate at the moment, we should be able to start using it in production later this year.
There is a new language on the block. It’s from one of the most prolific language gurus of our time, Anders Hejlsberg. Yes, the list of languages that many of us have used were created by him, it’s really impressive. Anders is a Danish Computer Software Engineer who started his career by creating a Pascal compiler that eventually became Turbo Pascal. He later joined Borland and was the Chief Architect of the team that developed Delphi. When Borland started to falter he joined Microsoft.
This was at a critical juncture in the history of computer languages. Java was created by James Gosling in 1994. In the late 1990’s, Microsoft wanted to evolve the Java language and after being blocked to influence the language, chose to go their own separate way with C#. This lead to years of comparisons and competition between two fundamentally similar languages C# and Java.
It’s great to see what good solutions are built when giants collaborate rather than compete. What are you waiting for? Go try out the tutorial on Angular 2.0 and learn some TypeScript for yourself.
BBD has embarked on a programme to more formally introduce Scrum into BBD. Scrum is one of the cornerstones of Agile Software Development. This year ATC have formally run the Scrum Master and Product Owner Certification Training Courses and attendance has been good. Numerous BBD staff members have their Scrum qualifications now and well done to those. The feedback we have received is positive, but there are some questions about the adoption of Scrum within BBD such as:
Is BBD now saying that we should do Scrum; how will Scrum work for my project?Is BBD Agile when we don’t use Scrum?
This article aims to answer some of these questions, but let’s start with a couple of statements:
BBD as a business, and its teams, are generally very agile and we have been using various agile principles to a greater or lesser extent since BBD started, even before the term was coined. Your team does not automatically become Agile just because you use Scrum.
In order to explain we need to first understand what Agile actually is. In contrast to popular belief, Agile is not a methodology, framework or even toolset. In fact, Agility is defined as the ability to change direction whilst moving at speed. Agile is a mind-set entrenched in a set of values motivated by people, communication, quality and change. There is value in periodically revisiting the Agile Manifesto (http://www.agilemanifesto.org/) to re-affirm these values. Understanding that the values and associated principles are not rules, but really good guidelines based on practical experiences that are proven to work, and should be treated as such.
There have been many frameworks invented that define a set of processes that teams can follow, that fall under the agile umbrella. These include frameworks such as eXtreme Programming (XP), Kanban, the Dynamic Systems Development Method (DSDM), Disciplined Agile Delivery (DAD), and the list goes on… but it’s the essence of Agile that’s more important than the frameworks or processes being followed.
At BBD we pride ourselves on getting complex software development projects done, and have a great track record of doing this. However, we don’t enforce a single software development method. There are a few frameworks we use, but these are not enforced, we don’t use specific processes, and each unit runs autonomously with very little central control or standardisation.
Given that there is no template for success how do we continue to deliver complex software projects? Popular belief is that the magic ingredient is the people that work at BBD, and this is very true, but what do we look for in our people and what do they value in software development projects? If we dig a little deeper into the Agile Principles, we start to see an alignment with the BBD principles and behaviours. Agile Manifesto has 12 Principles (www.agilemanifesto.org/principles.html) and we have commented on them from a BBD perspective:
Principle 1: Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. At BBD, we are not just coders, we are software engineers that understand the business value of the software we develop, and strive to get it into the client’s production environment as quickly as possible.
Principle 2: We welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.At BBD, we are not slaves to the requirements, but we also understand that requirements should not be ignored. As we understand the solution and the business, we can often change direction quickly and suggest improvements.
Principle 3: We deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.At BBD, working software is what drives us, we aim to demo working software as early as possible to our clients and get feedback.
Principle 4: Business people and developers must work together daily throughout the project.At BBD, we would like the business person on the project, or even better the actual client. Often we are based on our clients’ site or them on ours. If you are not in touch with the business you’re in trouble!
Principle 5: Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.At BBD we start with the people as being the best, then add in the hardware and software needed, and a great environment. We give our teams the autonomy to get the job done, how they see fit, there is no one BBD way.
Principle 6: The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.At BBD, we encourage whiteboard sessions and design meetings, we have an open plan office, and encourage teams to talk shop over great coffee!
Principle 7: Working software is the primary measure of progress.At BBD, this is what we do best, we deliver… but this does not mean you can skip documentation, status reports and even timesheets…:)
Principle 8: Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.At BBD, we work hard, and play harder and look after our staff. Maintaining a sustainable pace is difficult, especially when you near the deadline!
Principle 9: Continuous attention to technical excellence and good design enhances agility.At BBD, you need to keep yourself updated on technology changes, and keep your skills honed, but this doesn’t mean you need to change languages/IDEs every two weeks to be a good developer, or to prove that you are on the cutting edge of technology.
Principle 10: Simplicity - the art of maximizing the amount of work not done, is essential.At BBD, this means write less code, write less specifications and focus on producing what is needed (the essence). It doesn’t mean import every framework you have ever heard of into your project.
Principle 11: The best architectures, requirements, and designs emerge from self-organizing teams.At BBD, we give units the space to self-organise, it’s the way the company is designed (look up holonic organisational structure).
Principle 12: At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behaviour accordingly.At BBD, your team should continuously strive to improve the way they work. Everyone is expected to understand and question the status quo within units.
Teams at BBD relate to these principles, thus the answer to the question “Is BBD Agile?” is YES – right to the core. Does BBD follow specific agile methodologies like Scrum? Sometimes, but it depends on the particular team and client requirements, and when the team thinks and agrees that it will make sense. So, after checking how we align with the Agile Manifesto, it is clear that we don’t have to be a slave to process and practices like Scrum to be Agile, but learning these practices is likely to be helpful, and is another tool in our ever expanding toolbox of ways to build great software.
Worldwide, there are over 900 independent communities focused on Oracle products and technology. The leaders of these groups meet online and face-to-face in sharing ideas about fostering community growth and participation in Oracle user groups around the world. It is also a forum for sharing best practices about leading and managing user groups. Leaders/volunteers from the different regions were invited to participate in a summit that represented all the aspects of user groups including industry, applications, Java, MySQL and technology. A large portion of the summit was devoted to networking breaks, round table talks, and best practice sharing.
At the close of the EMEA (Europe, Middle East and Africa) summit, the user group leaders provided: Plans to support Oracle campaigns in their regions: Identify, share and engage in best practices for managing user groups. A communications plan for engaging new members in their regions.
As the General Manager for JUG-Africa (Java User Group - Africa), I was invited by Oracle to attend the EMEA Oracle User Group Leader Summit 2016. The event was held at the Hilton Hotel in Bucharest over 2 days. JUG-Africa is the umbrella for 20 Africa JUGs to promote communication between JUGs across the continent. JUG-Africa forms part of the EMEA user group community - a Community of 250,000 developers. Collectively in the world there are 950,000 Oracle Community members.
JDK 9 is all about modules. Modularity plays a huge role, but there is a lot more to it – more than 70 JDK Enhancement Proposals have been targeted for the JDK 9 release so far.
The testing effort is leveraging off the accumulated community wisdom to make it easier for new projects to start testing against JDK 9. There is a drive to prepare your code for some of the upcoming changes in JDK 9 and how to join the OpenJDK crowd testing fun with your own open source project to help make JDK 9 better. There are some steps you can take already to make your code ready to benefit from the new features planned for JDK 9, such as analysing your project’s library dependencies for unintentional reliance on JDK-internal APIs:
- Check code for usages of JDK-internal APIs with jdeps
- If you develop tools then check code for a dependency on rt.jar or tools.jar or the runtime- image layout
- Check code for uses of underscore as an identifier
- Test the JDK 9 EA (Easy Access)builds and Project Jigsaw EA builds
A lot of people have a weird reaction to someone telling them you have a man-crush on them and that you are an extreme Fanboy. Well this response was tested with my greeting to the community leaders that I had the honour of meeting. These are people who managed groups of over 500,000 members, print their own magazines, run conferences of 7000 attendees and have staff of 20 people.
I had a brief opportunity to speak at the summit, where I highlighted my plans for Africa:
- Connect with groups like the All India Oracle User Group (500,000 members) and iJUG (Collection of 30 Java User Groups from Germany, Switzerland and Austria)
- A directory of African champions
- Showcase African countries
- Connect with the South African Oracle User Group – SAOUG
- Worldwide the Oracle and Java groups work together and even combine to form 1 group (examples in Germany, Hungary, Croatia and Slovenia)
Software need to cater for new platforms for their applications, but also for a new concept in design
Author: Peter Scheffel | Published in Business Day: 2012/05/02
AS MOBILE computing continues its rapid growth in both the consumer and enterprise environments, software developers are faced with a new challenge. Not only do they need to cater for new platforms for their applications, but also a new concept in design. In the past, engineers would develop software based on the technicalities involved in the back end; the users had little choice in the interface used. Now the interface is fundamental to the mobile software development process.
Users demand an engaging consumer interface for mobile devices that meets their needs and expectations, not what the engineers decide to provide. This is forcing the development industry to tackle an element of design it has never had to deal with before.
Software is no longer simply an engineering project. The look and feel as well as the functionality of the interface is as important as the back end. To capture users’ interest in the final product, the interface must be designed to provide a "sticky" experience. Today’s interface has to "dazzle" from the moment the application starts.
An example of this can be seen in the difference between the interface design of the two most popular mobile interfaces: Apple’s iPad and Google’s Android operating systems. In articles published by Business Insider and Mashable, the authors show Apple’s design is more popular because its focus is on the user’s experience, not technology. The user experience is critical to Apple, while technology and what the data says is important to Google. That is not to say that the technology underpinning either of the systems is better or worse, but users have given usability the thumbs up and this is why Apple seems to command their hearts and minds. While BBD has a long history of developing applications for the enterprise market, to cater for the mobile space, we have retained the services of a dedicated design company tasked with crafting the interface into something users will identify with. Of course, while the interface is paramount, the development standards focusing on security and integrity of the system and data can’t be forgotten.
Two examples of modern design come from Apple and Microsoft. Apple’s mobile design is based on an immersive concept, in which the interface is easy to use because it reflects what users are already used to doing. Microsoft uses a modernist tile system in its new Metro interface. The idea is to keep the process of using the system clear and concise. The ideal interface will allow the user to navigate through the application almost without thinking because it looks and feels like any other application. The challenge is that it is not possible to develop one interface for all mobile devices as one does for a PC, but to optimise the application to bring out the important aspects of each platform. There is no one operating-system winner in the mobile platform space, so we expect this to be a challenge for quite some time.
The simple fact of mobile applications is that "good enough" doesn’t cut it. Applications need to be designed for the platform they are running on as well as to meet the users’ expectations.
Scheffel is chief technology officer at BBD, a software development company.
Software development company BBD recently hosted an International Institute of Business Analysis (IIBA) event in Cape Town. The event was fully subscribed and attended by analysts from various companies and vertical markets.
The IIBA is an independent, non-profit organisation serving professional business analysts worldwide. It promotes the profession of business analysis and supports its analyst members in their daily work.
The topic for the evening was What Should be in a Business Analysis Toolkit. Says William September, executive and business systems analyst at BBD, “A topic of this nature always elicits healthy debates and the participants shared their views and experiences in a group setting. The fact that analysts and project managers from various industries and sectors attended added richness and variety to the opinions expressed.”
The attendees agreed there was no right or wrong toolbox for business analysts. The tools required depend on the business as well as the vertical market you’re serving. In general, however, all attendees said an analyst will always need a flowchart or diagramming tool, a note-taking app like OneNote, as well as mind mapping and wire framing software.
“The most significant outcome of the evening was that everyone agreed that soft skills were far more important that the particular software or hardware you had in your toolbox,” adds September. “We all agreed that the most important attributes of an analyst are communication and diplomacy, as well as the ability to be a facilitator and negotiator. And of course, we all need the ability to think analytically.”
One question that created some debate was whether domain knowledge was a necessity, or whether analysts with the prerequisite attributes could learn “on the job”. September says there were good opinions offered on both sides of the argument with no final consensus.
“Supporting associations like the IIBA is part of BBD’s effort to get South Africa’s business analyst community talking and sharing ideas, with the goal of improving the industry as a whole,” says September. “It’s by sharing knowledge and best practices that we all improve, and by implication, are able to deliver a better service our companies and customers.”
With all the talk about Bring Your Own Device (BYOD), I decided to experiment with the realities of using your own mobile device for work. I’m not talking about my own smartphone or iPad, these devices are capable of doing some work in the corporate environment, but lack the true abilities a full operating system has to execute productive work.
For my BYOD I purchased a Samsung ATIV Windows 8 tablet. My intention was to use this device purely for personal use. However, I quickly realised that by being able to load a full version of Microsoft Outlook onto the tablet made it a totally different experience to an iPad or Android tablet from a corporate work perspective.
No more having to wonder if the spreadsheet you looking at has changed the currencies of a quote you are trying to approve. Word documents can be easily opened and updated. Dropbox files are all on the device without needing any connectivity. The obvious next step was to start using this device for my day-to-day work.
This is where the first issue appeared. I tried connecting to the wireless network at the office and was unable to. It took a full day of a facilities staff member trying to configure my device to finally resolve this issue. BYOD therefore impacted the facilities costs of the company unfavourably.
From there on in all was good. Microsoft continued to improve the Touch Mail client so that it became a real contender as my primary mail interface. All was good until two months ago when the touch function stopped working. There was no support available from the company. It was, after all, not a company machine. I had to find time to return it to the store so that it could be repaired.
This was where the next problem occurred. Since this is a consumer device, the warranty says that it will be repaired in 21 days. This is really where the BYOD approach falls flat. And it gets worse.
After spending a month without the device, I received a phone call that the parts still needed to be ordered and it would take even longer. I realised this was in contravention of the warranty, so the device was replaced. Happy days were ahead. After installing plenty of software and spending days getting the preview release of Windows 8.1 installed on the machine, it was finally going to be ready to start “work” again.
Once again, the device could not connect to the wireless network. This time it didn’t take long for facilities to resolve the issue. That evening I spent more time getting the device ready to be productive at work, and the touch stopped working, again. After a couple of hours on the Internet I found this to be an issue with these devices. The following weekend I returned the device and received a full financial refund, but I will never get the hours invested in it back.
So if you want to BYOD, make sure your device has a same-day or next-day warranty in place. Apple and other tablet devices are also consumer devices and hence their warranties will also only repair the device (slowly) should it break.
If you want to depend on consumer devices for corporate work, best you own a backup device in case of failure. I think that for now I’ll continue using my company machine that is supported by our facilities department and gets priority service from the vendor.
Mobile applications have become quite the fashion statement, with companies and individuals the world over spending time and money developing solutions for every conceivable problem. Even larger corporates and governments have been getting in on the act in the hopes of increased productivity, revenue, efficiency, improved customer service and other presumed benefits of mobile apps.
A problem is that very few businesses do the necessary research to determine whether the apps they think will deliver the goods will actually produce any real business value. Richard Kantor, executive at software development company bbd, says the tide is turning and more CIOs and CFOs are asking what the business return is when considering the development of new apps. “There are two aspects to determining whether an app delivers value,” Kantor says.
“The first is the true return on investment (ROI), as measured in increased revenue or reduced costs. The second is the non-financial returns a company can gain. These can be measured in terms of brand value, maintaining a strong market position in relation to its competitors and so forth.
“Gartner recommends ignoring the hype about apps and focusing on gaining value from your mobile development investment in terms of a combination of these two points, which it terms value of investment (VOI).”
While there will still be tremendous activity in the mobile development space, not all of it will result in measurable returns. However, Kantor believes there is another reason CIOs and decision makers invest in apps. Many view their initial app development as a learning and RandD process to understand the intricacies of mobile development, user interfaces and customer adoption. “However, the point is fast approaching where senior executives will ask what value these apps really provide the company before allocating more budget to development,” Kantor adds. That is not to say all mobile development has been experimental or a failure. Kantor points out that there have been many successes both locally and internationally.
FNB’s mobile app was a significant local milestone in the financial market and has seen tremendous success since its launch. The combination of a well-written app with the support of a well-designed advertising campaign proved to be a winner for the company.
Of course there are older apps that have been used for ages on almost all GSM feature-phones, although they are not apps in the present sense of the word. These are the USSD or SMS apps used successfully in areas such as selling cellular services, data and air time and even mobile banking. Kantor says the key for any app success is to deliver an integrated service.
Users need a combination of a well-written app and a marketing campaign aimed at the customer segment they want to attract. Nevertheless, the rise in app development and the hype surrounding mobile and its importance to business is clear, Gartner expects to see a 4:1 ratio of applications written by the business market for mobile devices versus traditional personal computers for the next three years. Kantor adds that devising ways to measure an apps’ success is also crucial. This is important both from external value perspective, as well as through in-app metrics which are used to ascertain how the users use it as well as which parts of the application are most popular.
“Mobile services and apps are here to stay, but these applications will not add to the bottom line if companies do not do the prerequisite work to ensure their apps deliver value and are launched with a well thought-out marketing plan,” says Kantor.
“BBD advises that for strategic mobile projects, clients evaluate and find proven cases where mobile apps will deliver measurable value and develop their systems accordingly, instead of responding to the hype and creating mobile apps for the sake of developing mobile apps.
“For new entrants into the mobile application space, tactical projects which help organisations to gain a good understanding of the technical intricacies of mobile development and customer demand are a worthwhile investment on an ad hoc basis.”
BBD sent its largest contingent ever to this year’s event with 35 staff attending Tech-Ed and one staff member attending the Microsoft Partner Summit which ran in parallel. BBD were proudly able to boast three presenters at this year's conference delivering a total of eight sessions.
BBD Speakers Well Received
The BBD speakers were William Brander, Robert Maclean and Rudi Grobler.
After winning the budding speakers competition at Dev-Idol's last year, this was William Brander's first Tech-Ed speaker slot and he earned some accolades.
Rated third on the top 20 list by speaker. This list included all international speakers from Microsoft.
Rated fifth for his session: "WUX401 - Hack Proofing your Microsoft ASP.NET Web Forms and MVC Applications" in the overall session stats.
Well done to Robert Maclean for making it to 15th place on the top 20 list by speaker. Robert also put together in his own time a Tech-Ed conference app which runs on Windows Phone 7. This app was extremely well received and downloaded by many who have a Windows Phone 7
Rudi Grobler presented Mango MUST HAVE Developer Features Effective Validation Techniques with MVVM in Silverlight Expert Lessons: Top Tips for Building a Successful Windows Phone Application. He also facilitated The Mobile Device Revolution, rated tenth in the whiteboard sessions.
Tech-Ed Content Round-up
Windows 8 featured in the opening keynote but was not covered any further during the event as Microsoft has not released a Beta version of the product yet.
Microsoft's Windows Azure offering in South Africa also still remains under wraps. While there is a promise that this will be made available to customers in South Africa by the second quarter of next year, the data centre will continue to be hosted in Dublin creating high latency issues that will prohibit any large scale adoption.
Microsoft Office 365 the Office version where you buy subscription to desktop MS Office that is linked to Cloud based versions of Exchange and SharePoint becomes available to the South African market.
Introductory talks on SQL 2012 with new reporting tools that look and work more like Excel.
"Metro" design explained by two Italian Microsoft staff who gave insight into the origins of Microsoft's design decisions for Windows Phone 7 and Windows 8.
All in all Tech-Ed was a great success. A select few attendees won the highly sought after BBD Geek shirts that BBD gave out at the event.
Leading Software Development House voices its growth in the industry
BBD, unveiled its new brand look and corporate identity at Microsoft DevDays, South Africa’s largest software developer event held in Johannesburg and Cape Town.
“Our platinum sponsorship of South Africa’s key developer event is part of BBD’s investment and involvement in the developer community in South Africa.” Said Richard Kantor, marketing executive at BBD . Attended by over 1500 developers, architects and designers the event served as a great platform to expose the new brand look for BBD.
The new brand positioning reflects the company’s consistent growth over the last 25 years from a “backroom attic” start-up to a 400 strong custom software design, development, maintenance and services group.
Kantor added that the redefined brand proposition is built on the way in which the company engages with its clients to deliver software solutions that work for business. Fundamental to the proposition is the unique combination of skill and expertise that delivers a “combined intelligence” not typical of traditional software development technical structures. “It’s the combined intelligence that make it a greater company to work with. It also makes it a great company to work for.”
“In formalising our value proposition — of combined intelligence — we’re drawing on both our exceptional people resource and expertise, brought together by a deep sector and business understanding to design and implement mission critical software in the enterprise, on mobile devices, in the cloud or even on desktops linked to legacy mainframe systems.”
Demonstrating the company’s high level of expertise, Rudi Grobler, BBD’s Microsoft’s Windows Phone 7, WCF and Silverlight Expert - and Microsoft MVP (Most Valuable Professional), delivered the opening keynote through a demonstration of the Window’s Phone 7 application built in house. Both Rudi and Robert Maclean (also a BBD Microsoft MVP) offered expert input as speakers to the conference line up making BBD the only company with multiple respected specialists as part of the speaker line up.
By Robert MacLean
The Visual Studio Gallery provides quick access to tools, controls, and templates to help you get the most out of Visual Studio. Visual Studio 2010 Extension Manager is integrated with the Visual Studio Gallery. It brings the Visual Studio Gallery into Visual Studio IDE. There is no need to use the web browser for searching or to run the setup program. Within Visual Studio 2010, the Extension Manager is opened through Tools | Extension Manager menu.
When Extension Manager opens, it lists the extensions already installed. If updates for extensions are available, it lists those too. In the left pane, by clicking on the Online Gallery tab, you can browse and search for extensions in Visual Studio Gallery. When you select an extension, the related description is displayed in the right pane. Clicking on the download button, Extension Manager immediately starts downloading the selected extension.
There are quite a few extensions that are must-have for developers. On the Internet, people tell you their favorite extensions. Here is a list of my picks. You are encouraged to try them out. It is easy and you always can disable and uninstall them if you don’t like them.
Visual Studio Productivity Power Tool, a set of tools to improve productivity, such as solution navigator, Tab well UI, Searchable Add Reference Dialog, and etc
Snippet Designer, an extension that lets you create code snippet in Visual Studio
Spell Check, an extension that provides spell check in plain text files, comments, strings and HTML/ASP
Tangible T4 Editor, an extension that provides IntelliSense and syntax highlight for T4 templates
GhostDoc, an extension that generates XML document comments for C#
Feature Builder Power Tool, an extension that helps creating extensions