To survive the world today, modern businesses require powerful tools we refer to as ‘software’ to help them execute tasks, communicate, share data, plan strategies, analyze performance, market the business etc. Business apps can also be seen as such a tool, if not one of the most effective ones, which benefit the organization as a whole.

But before using such tools or digital solutions, businesses will have to decide where to deploy them. On-premises infrastructure is the generally opted deployment platform. However, such facilities demand considerable investment from the business as they will need to buy and configure servers, keep them running in datacenters, and secure and maintain the datacenter itself. It’ll all work out if the business has time and enough budget for a capital investment to protect their data.

This used to be the case till the advent of the cloud.
 

The Cloud – Business Connection

 
The cloud came with a pay-as-you-go pricing model providing businesses with a way to cut infrastructure costs while giving them access to computing hardware, storage, and network. They need pay only for what they use. However, even the cloud’s attractive features failed to gain many business’ attention mostly due to security and privacy concerns. This led to the development of the hybrid cloud approach where the cloud considers the on-premises and cloud infrastructures to be connected, and being used at the same time.
 

Enter Microsoft Azure

 
Businesses have been relying on enterprise solutions powered by Microsoft technologies for a long time. Azure is one of those solutions that uplifted quite a lot of businesses. The cloud-based Microsoft technology solution offers a broad range of services that cater to multiple scenarios.

For instance, consider the requirements of an organization with sufficient on-premises resources and wants to deploy their business app. They want the users to have a single sign-on experience, for which they use Active Directory for access management. The organization wants the data in the application to be private, and not expose it to the internet.

In such a scenario, the ideal way is to set up a network and have the on-premise infrastructure connected to a cloud infrastructure. So basically, an isolated network with a defined IP addresses range in the cloud is needed. A virtual network service can achieve just that, thus making it easier to integrate the cloud network with the on-premises network.

Once the virtual network is created, the organization’s datacenter should be connected with the cloud using a VPN Gateway service.

And once the network is configured and ready, the organization can integrate their Active Directory with the cloud. This is where Azure comes in. Its Active Directory services provide a managed Active Directory that can be integrated and synced with the organization’s Active Directory.

OR

The organization can deploy their own Active Directory configuration on the Virtual Machine.

The business app can then be deployed on servers, and configured to make use of the Active Directory the organization deployed earlier.
 

Perks of Using Azure for Businesses

 

  • Move from capital expenditures (Capex) to operational expenses (Opex) with its pay-as-you-go pricing model
  • Easy access to resources means reduced time to market
  • Choose from a wide range of virtual server configurations to meet the business requirements
  • Easier to set up a network connection using services like Virtual Private Network (VPN), VPN Gateway, ExpressRoute etc.
  • Enhanced security and streamlined access management thanks to managed services like Azure Active Directory
  • Flexibility in making infrastructure-related decisions
  • This flexibility also gives them a way to respond faster to business challenges
Written by: Ratheesh V S

Artificial Intelligence from what we’ve seen in movies is not exactly what we have recently started to see around us. Fortunately, we don’t live in a dystopian world where robots look like humans, and humanity is getting wiped out. We still wash dishes ourselves, and drive to work. The AI that sees humans as anomalies that need to be exterminated, and a Terminator-ish apocalypse is quite far away.

The AI, we know, is a technology that positively impacts consumers every day, and helps businesses provide a great user experience.
 

Times are changing

 
User experience is based on one single idea that a human is behind a brand/service. Thanks to the advancements in technology, times are changing now. There is no longer a need for a human to deliver that kind of experience. You won’t be getting lost now because there are navigational apps now. You won’t have to drag yourself to a restaurant to eat. The app will have your meal delivered at your doorstep.

While simple, these interactions or most of them are powered by a unique growing technology that is AI.

This doesn’t mean robots will soon take over the digital realm.
 

AI in UX Design

 
According to AI experts, designers can collaborate with AI technology to work wonders in UX design. “The Grid” is a great example. TheGrid.io features an online AI-based web designer that can help users design the content they provide. It’s particularly useful to non-professionals who want to create attractive and optimized websites.

The web app basically chooses multiple templates and tests them all to deliver the layouts that would make websites visually appealing. However, like almost every other AI-based technology out there, this web app was also met with a lot of criticism.

It’s not what the app does that matters. It’s the concept that we need to think about. If that concept and designers collaborate, the results would be very impressive. AI can be used to craft design tools that will help designers try out several design options or ones that can apply constraints to the designer’s storyboard and suggest template options for it. This will save a lot of time for designers, giving them more time to figure out something extra creative.

AI might even help designers come up with a UX that provides the richest experience in finest detail.
 

Designers can have AI do the heavy lifting

 
What a designer does requires a good amount of mental fortitude. Generally, they will have to design numerous variants of graphic content, just for a single project. That is a mind-numbing part of the job, and takes a lot of time. If AI can handle such tasks, the designer can focus more on the user journey to deliver a great experience. Netflix is a great example. They have algorithms that design movie posters with images of movie characters, and localized text.
 

Personalization with AI

 
Designers can assume that each user has specific needs. But it’s not very easy for them to design an interface that caters to users with different needs. AI, on the other hand, is capable of that – to help develop an interface that caters to a user’s needs.

Imagine an app that can increase font size and button size so it’d be easier for people with visual impairments to see, or a workout app that can recommend the right workout schedule depending on the user’s diet. This is possible if the UX designers collaborate with big data analysts and AI developers. Apps with similar features have already started coming out.
 

Interacting with users

 
Chatbot is the most popular trend when it comes to digital communication. The increasing numbers of messaging apps ended up establishing conversational digital marketing. Businesses have already started implementing it in their digital interfaces, just to reach users where and when they are active.

However, intelligent chatbots are still under development. They are going to be a powerful tool for businesses that deliver technical support services.
 

The To-Dos and Downsides

 
Now that we know what AI can do for UX design, designers should realize that they have their work cut out for them because harnessing the potential of AI in UX design is no simple feat. They will have to start from the basics of machine learning to understand how AI can analyze users’ behavioral patterns to constantly and consistently improve app interface. For this, they will need to rely on data analysts more.

As for the downsides, AI is a technology that relies heavily on data and patterns to figure out solutions. So there will of course be limitations. With machines starting to take over IT sector, experts have already started expressing concerns over the privacy of data. A business is going to have to invest a lot in AI even though the technology is still in its infancy, and that’s going to be a tough decision. Stakes are high but the results are tempting.

Nevertheless, AI will soon evolve to play a much more significant role in the near future in many departments, and not just UI/UX development. For a UX designer, the future looks a lot less stressful.

Written by: Sharath Daniel

Microsoft has always been reliable and consistent when it comes to delivering new cloud capabilities. They have been consistently delivering hybrid features across both on-premises and cloud environments. But apparently that wasn’t the end of it as Microsoft recently announced new Azure tools and resources that can optimize businesses by harnessing the potential of hybrid cloud.

This is a welcome change in today’s time with more businesses realizing how cloud can boost their growth, adopting the technology and leveraging it for its innovative benefits. However, it should also be mentioned that the vast majority of businesses in the world are still reluctant to fully move to public cloud citing latency concerns, customization, and even data sovereignty as reasons. Microsoft seems to be on the path to changing that.
 

The New Tools and Resources

 
They mentioned a tool called Cloud Migration Assessment, designed to help organizations discover and analyze servers across their IT environment. The tool also provides a detailed report that includes an estimate of the cost benefits of moving to Microsoft Azure.

Microsoft’s also announced that it will be possible to activate Azure Hybrid Use Benefit directly in the Azure Management Portal. In addition to the cost-effectiveness of this feature, the Azure Hybrid Use Benefit also saves up to 40% with Windows Server licenses.

Another tool that is worth noticing is the Azure Site Recovery tool. Also pro-cloud, this tool eases the transition to the cloud. The tool allows organizations to efficiently migrate virtual machines to Azure. It also makes moving applications running on physical servers, AWS, Hyper-V, or VMware hassle-free.

It wouldn’t be wrong to theorize that the tech giant will be announcing changes in other popular Microsoft technologies as well this year. It’s safe to expect some intriguing cloud features that can optimize businesses in unique ways.

Written by: Ratheesh V S

As you may know, a software project requires a company to make a lot of decisions. One of the first decisions would be about the software development approach. Traditionally, Waterfall methodology was adopted for project management. But since the introduction of Agile, things have taken a turn. But what is it that makes Agile better than Waterfall with respect to software project management?

Development methodology essentially involves organizing the software development phases. Both Agile and Waterfall serve that purpose but in fundamentally different ways.

To get a better idea before we begin, here’s a list of the development stages involved and a short description of the two concepts.

  • Waterfall – A traditional approach to software development, the development stages are carried out in a linear sequence.
  • Agile – A rapid application development methodology implemented using Scrum. It has been around for a while and not exactly something new.

The development stages include Conception, Analysis, Design, Development, Testing, Implementation, and Maintenance.
 

Waterfall Methodology

 
It’s akin to the construction of a building, starting with conception, analysis, and construction. The methodology requires developers to finish one stage to move on to the next. It’s sequential and linear which means the developers can only go forward to the next step. They cannot move back to the previous stage unless they scrap the whole project and start anew.

This means that the development team can’t afford to make a single mistake that would require changing what they have done in the previous stages. This also calls for a well thought-out plan that should be followed over the course of the development.

But there are merits to the Waterfall model as well.

  • Clients will know what to expect from the delivered product during the early stages of development.
  • Developers can plan and design accordingly after agreeing on the product features early in the development stage.
  • Easier to measure progress, as the methodology demands scrupulous record keeping.
  • Clients need not be present for the later stages of development once the requirements are gathered.

That’s the positive side. The disadvantages include:

  • Developers won’t be able to go back to completed development stages to make changes.
  • If the initial requirements aren’t accurate, the project will most likely not succeed.
  • To make changes in the project, developers will have to start all over again from scratch.
  • Testing phase comes later in the lifecycle, which means some bugs written in earlier stages are likely to be discovered late. This can affect the code and the product as a whole.
  • If the client wants to add new things to the product on the go, it can delay the project while also impacting budget.

 

Agile Methodology

 
Unlike Waterfall, Agile is an iterative approach to development, and dependent on the team. The methodology is designed for rapid delivery of a fully functional product. There will be multiple iterations in the development lifecycle, generally referred to as ‘Sprints’. Each sprint will have a predetermined duration and objectives with a list of deliverables as per the plan. These deliverables are given priorities based on client requirements.

If the developers were unable to complete a sprint according to plan, the information is logged for future planning, and they change the work priorities. The project team and the client will be able to evaluate and review the progress of the project after each sprint.

So, the advantages are:

  • Client will have the opportunity to work closely with the developers throughout the development lifecycle, and make changes whenever necessary.
  • As it’s easier to make changes and code rewrites are expected, it will be easier to add features that keep the product up-to-date with the latest developments in the industry.
  • Developers can provide a basic ‘beta’ version of the product built in a few successive iterations if time to market is a concern.
  • Testing will be done in each sprint which considerably increases the likelihood of a bug-free end-product delivery.

Though there aren’t many disadvantages in using Agile, for the sake of the analysis, let’s assess its vulnerabilities.

  • Client involvement is a critical factor when it comes to Agile development. But not all clients can afford the time to participate in the development.
  • The methodology requires the team to be dedicated, and led by a capable project manager. Inexperienced project managers might not be able to plan properly, thereby increasing the number of sprints and consequently, the delivery time and budget.
  • Agile is subjected to changes and frequent reprioritization. So the items set for delivery may not be delivered within the allotted time. Such changes and reprioritization may require more sprints, adding to the project expenditure and delaying its delivery.
  • The final product may be different from what was initially agreed up on, depending on the addition of features and the number of changes required by the client.

 

Choosing Between the Two

 
You may noticed the most obvious traits of the two.

Waterfall is rigid and Agile is flexible.

Rigid, but in a structured, sequential manner. There’s no going back. On the other hand, Agile gives the developers the freedom to move through and over the project as they see fit. The latter can also accommodate changes. So everything mentioned above can give you a general idea when to use each.

If the development company works with fixed-price contracts and doesn’t expect a lot of changes demanded during development, Waterfall is ideal. The requirements will be agreed upon and the clients know what to expect.

If your clients would want to make changes or add features during development or if they want the product delivered as soon as possible, Agile is the way to go.

So surmising all this zeroes in on the question whether the developers will be expecting changes during the development. If the answer is a Yes, they can follow the Agile methodology. If the answer is a No, they can go with Waterfall. At the end of the day, both methods deliver quality products. Waterfall is all about predictability. Agile is about flexibility. Choosing between the two depends on the scope of the project, requirements, client involvement, delivery period, and susceptibility to change.

Written by: Prashant Thomas

Microsoft’s Program Manager Mads Torgersen recently posted about what they plan to do with their widely popular .NET languages – C#, Visual Basic, and F#. And things look uncertain for Visual Basic.

Their plans were later elaborated in detail through a series of blogs. There will be fundamental changes that looks favorable to C# and F#. Though there wasn’t any negative statements regarding VB’s future, the vibe their statements left made it seem that a bumpy road awaits VB.
 

Where they stand now…

 
According to Torgersen, C# is the most popular of the three, and will keep evolving as a state-of-the-art programming language. He added that F# is steadily climbing the ladder, and could become the best-tooled functional language on the market. VB is apparently the odd one here, as it is now mostly used for Windows Forms applications and in ASP.NET development by new developers. But many surveys indicate that developers are moving from VB to C# owing to the latter’s richer ecosystem.

Microsoft’s reason for changing its development strategy could be the fact that both C# and VB have different audiences. They found that new developers in Visual Studio favor VB, as it’s more comfortable them to learn the tricks of the trade. VB is still a tool for client-server programming while C# evolved to being useful for n-tier web-based applications.

F#, on the other hand, takes a different, more independent path. Microsoft will reportedly take measures to make F# more useful in the .NET landscape, hopefully with better error messages and support.
 

Where they are going

 
C# and VB will be going different ways from now on. VB’s popularity is dwindling and it will eventually end up disappearing from the radar for good. Evidently, C# is diverging from VB. As VB will be supporting the standard base class libraries set along .NET framework in the not too distant future, we can expect some amount of cross-platform work in the dying language. However, not all VB codes would be portable. Some can be shifted to a smaller set of libraries while the rest remains on on-premises applications. F# will find its place among financial services and machine learning-based applications.
 

What’s in it for enterprise developers

 
For starters, they will have two important choices.

  • Move VB codes to newer platforms
  • Start using C#

The second choice gives them access to a plethora of target frameworks, and across many devices. C# can also directly address the .NET Core platform via APIs, not to mention other platforms. This means, Unity and other derivatives of C# will be capable of supporting their own APIs.

Choosing one of the two will require the developers to think about where they want to be in a few years. Only a subset of .NET APIs will be made available to them if they choose to go with VB development. They need to consider the evolution of .NET platform as a whole, and whether they plan to work on cloud or mobile technologies. C# seems to be a safe bet from the looks of things though VB will still be around for a little while longer.

One other alternative is to stick with both VB and C#, as the .NET framework makes it easy to mix them up. The transition is as easy as that between VB.NET and VBA. But this could be just a temporary advantage. From what we could surmise from Microsoft’s new programming language strategy, C# would prove to be the better path in the long run. This would likely bring about more changes in the software development industry this year.

Written by: Ratheesh V S
Page 1 of 61234...Last »