Altabel Group's Blog

Archive for the ‘Microsoft’ Category

For years Microsoft has been the de facto desktop operating system. Now Apple is using its mobile devices to steal market and mindshare.

Pundits have long expected Apple to integrate its desktop and mobile operating systems; however, recent announcements at Apple’s Worldwide Developers Conference (WWDC) show that the company is doing far more than borrowing user interface elements. After some tentative starts, Apple has embarked on a full-scale integration between the company’s phone and desktop devices. With new releases of the software powering each, your laptop will soon be answering phone calls, and your phone will share text messages with your desktop, allowing you to fire off a missive from your MacBook to a colleague’s Android smartphone using standard text messaging. While not totally unexpected, the depth of integration is fairly impressive, and doubly so since I couldn’t help wondering during the announcements: why hadn’t Microsoft done this?

A constantly unfinished puzzle

By nearly any metric, Microsoft was years ahead of Apple in the smartphone and tablet space. While Apple was restructuring a fractured business and “playing” with handheld devices in the form of the Newton, Microsoft had produced several generations of its own PDA, and eventually a full-fledged smartphone that was feature rich, but failed to build a compelling user interface around its advanced feature set. Over half a decade before the iPhone launched, a lifetime in mobile technology, Microsoft was introducing tablets, only to be wiped off the face of the map by the iPad. Microsoft’s most obvious advantage in the mobile space was its dominance of the desktop.

If anyone built a mobile device that integrated tightly with the desktop, it should have been Microsoft.

Technology versus usability

While Microsoft may have missed a historic opportunity, more recently the company has been touting its merging of significant portions of its mobile and desktop code. Even user interface elements have begun to cross-pollinate, with the “modern” user interface that first appeared in Windows Phone featuring prominently on desktops and tablets. However, this technical integration is indicative of Microsoft’s larger problem.

As a company, Microsoft’s Achilles’ heel has been an inability to fully integrate different elements of its computing empire, and to present a user experience tailored to the task at hand, not pounded into a contrived, pre-existing Windows metaphor. From the Start button and stylus on a mobile phone, to its most recent technical integration of its environments that completely lacks in end-user benefit, Microsoft is missing the boat on developing a holistic computing experience. Frankly, I don’t care if my desktop and smartphone are running completely incompatible code from totally different vendors, as long as they’ll share information and work seamlessly together.

The Switzerland of computing?

While Microsoft may have missed this opportunity for its own devices, it still represents a key player in the overall computing landscape, and the long-predicted “demise of Windows” is likely several years away, if it occurs at all. An integrated experience between Microsoft smartphones and Windows desktops won’t meet with much excitement, primarily due to the limited market penetration of Windows phones. What would be interesting, however, is if Microsoft were to use its desktop dominance to integrate tightly with devices from Apple, Google, and others.

Such integration might seem far-fetched, but Microsoft already does this to an extent, with its Exchange server happily sharing mail, contacts, and calendars between everything from phones and tablets to laptops and web apps. Microsoft also has decades of experience integrating diverse hardware, and producing operating systems that run well on millions of combinations of hardware is no small feat. Just as Apple’s original iPod hit its stride when the company made it available for PCs, Microsoft could accelerate its cloud services and desktop OS, and ultimately make a compelling case for Windows Phone by providing tight integration with several mobile vendors.

In the mid and long terms, “winning” the mobility wars is not going to be about who sells the most devices, especially as computing transitions away from single devices and into a multi-platform, multi-device world. Microsoft has a chance to regain lost ground by tightly integrating its desktop and cloud services with today’s devices, allowing it to define tomorrow’s computing experience.

 

Kristina Kozlova

Kristina Kozlova
Kristina.Kozlova@altabel.com
Skype ID: kristinakozlova
Marketing Manager (LI page)
Altabel Group – Professional Software Development

Over the years dynamic languages such as Python and Ruby have become cherished by startups. As for .Net it is more rarely heard to be used by startups. That’s interesting indeed, because this platform is definitely bigger than most of the popular ones.

So I wonder why a platform as widely adopted and supported as .NET isn’t more visible in startup culture. Let’s try figuring out the main arguments in favor and against making .Net a startup technical choice.

1. Community culture

 Some people say the main reason is the culture of the .NET community itself, not anything specific to the platform. Being centered mostly around the needs of enterprise market .NET developers’ concerns are often regarding supporting legacy systems, building enterprise architectures, large systems for supporting business processes. This implies solving problems which are not so relevant for startups at least at their initial point.

As for members of the startup community, they fuss over different issues – concurrency, experience design, supporting multiple clients and browsers, etc.

As a result the startup community and the .NET community don’t overlap as much as they do for other technologies. That’s why startup founders don’t get much exposure to .Net and don’t think of it as an applicable tool for their purposes. The same way many .Net developers who want to work for hot startups don’t have as many opportunities to do so unless they abandon the platform for a more startup-friendly one or start a company themselves.

So platform doesn’t always dictate its use – that’s people who make the choice. Enterprise and startups aren’t mutually exclusive – they’re just different stages in the evolution of software, and there’s no reason why the startup community shouldn’t look at .NET as an attractive starting point for a new business.

2. Startup tech compatibility

A startup is a risky venture with no guarantee of success. So tech startups seek advantages in order to succeed. Hence startups take what big enterprises consider risky bets on technology. This objective can be achieved by using technology that is popular in startup environment.

Many features of .NET, facilitating the productivity of big companies, are not always useful to startups. There is too much choice of implementation methods. If anything, web startups are looking to have this choice taken away – their technology choices come from the subset that is built for the web.

Also it is said that innovation is quicker with other ecosystems which have a bigger set of libraries and tools. As for .Net there are a few open source projects however most of them are pretty much an implementation of concepts that have already been implemented for a while in the Java world, for example.

3. Open source vs proprietary

Although many startups don’t mind paying for tools and services, most of them still pick things based on cost. For a long time the “enterprise” level tools, services, databases, etc were hardly affordable by startups. That’s why startups adopt so much open source.

It’s also hard to justify the use of proprietary software from a business perspective. If you want to be acquired it is wise to develop your product using an open stack rather than Microsoft’s.

However luckily for many startups Microsoft saw a huge value in giving their stuff away to startups and startups have benefited greatly. Microsoft has been running their Bizspark program for several years, which eliminates most of the startup costs normally associated with employing a .NET framework. To get into the BizSpark program you just need to get checked by BizSpark team if your startup is eligible (developing a real product). Then you’ll get free licenses to basically every product they make, including SQL Server, and a free MSDN gold subscription, for 3 years. They figure 3 years is long enough for you to get going so after that they want you to pay for new licenses. The great part is that they let you keep the licenses you’re already using. So Microsoft has basically taken the cost factor completely out of the equation for new startups.

4. Velocity vs performance

Some people say that it’s all about the velocity. If you agree with an assumption that a startup goal is to find a niche vs build a product, then the goal of a startup is to learn about the market, customers, and product needs as quickly as possible. Python, Js, Ruby, etc allow you to iterate quickly without a lot of infrastructure and boilerplate. However a company that has already has a market has a little different goal, for them the objective is to build a stable product that they can maintain.

Some people say that .Net is not suitable for quick changes. This is a pretty outdated view of C# these days, it’s actually fairly easy to write extremely terse code with. As an added bonus refactoring is so incredibly easy compared to JS, Ruby, Python, etc. that it’s ideal for rapidly switching directions in code as you can refactor so fearlessly without being slowed down by massive amounts of tests. Unfortunately what’s bad about .Net is the tooling and the supporting ecosystem.

Python is much better suited to quick prototypes that can be fleshed out into a reasonably reliable product without too many headaches. The key difference comes when you have to change features mid-stream. The lack of strict typing and interfaces means you can add, change, and remove features much quicker than C# for example. On top of that, you just write fewer actual lines of code to get the same thing done, although sometimes readability can suffer if you get too concise. There is a price to be paid with Python and Ruby though and performance is the biggest one.

5. Team and project size

The team and project size always matters. So when the solution is being built with a small team, then it is easier to use something like Python. Obviously the goal is to be fast to develop in and have a bunch of libraries to be used. On the other hand when building something with a big team, you feel like using something like C#. In this case it keeps it safe to develop in and easy to catch mistakes. Any optional documentation provided by a developer is incomplete. On the contrary the quality level of the available .Net documentation is outstanding.

However if the company is starting as very small at the initial point, it hopefully grows and builds up quite a sizeable codebase by some point. Python, JS & Ruby are fine for small programs but anything more than that and they become their own enemies because the programs they make are quite brittle.

6. Scalability

The common opinion is that .Net scales well.So, if your startup does make it, you’ll probably have a much easier time scaling the .Net stack than you would with say Ruby or PHP.

Conclusion: it’s all about stereotyping

Eventually, I found different opinions on my question of .Net being not so popular with startups such as “platform lock-in,” “no open standards,” “licensing costs.” Sure, these are issues preventing many developers from adopting .NET in the startup space, but not enough to bar all of them from using it. Most of the arguments are just stereotypes that can be dispelled under closer examination.

All languages have strengths and weaknesses. For a startup, you need to do due-diligence and research what the right language to use for your idea will be because recoding in a different language can get costly.

So do you use .Net in your startup projects? Please share your feedback and experiences with us.

 

Aliona Kavalevich

Aliona Kavalevich
Aliona.Kavalevich@altabel.com
Skype ID: aliona_kavalevich
Business Development Manager (LI page)
Altabel Group – Professional Software Development

The IT sector is flourishing. If you’ve used a computer for at least a couple of times in the last few years, you’ve probably noticed this. I’ve noticed it myself even more after a business trip to Stockholm where I was lucky to attend some conferences and learnt more about Swedish IT industry tendencies. These tendencies reflect our life in general. Life changes rapidly with new technologies bursting into it. And when it comes to programming languages, we get a chance to see very different trendy styles. Programming languages which were popular some years ago are not useful today. And no one can exactly predict which programming language will be popular in future. That’s why a programmer who wants to stay in developer fields has to adopt the right programming language from time to time.

As the Swedish software maker Erik Starck pointed out, “programming is about managing complexities”. And it’s really so. An understanding of at least one programming language makes an impressive addition to any CV nowadays.

It is also very difficult to get the exact number of users for any programming language. Many of us use multiple programming languages. The more experience you have, the more programming languages you use. The more programs you write or work with, the chances of using more languages rise. The larger the company, the more languages you’re likely to use.

There are a number of ways to measure the popularity of a programming language, for example, based on the number of: 1) new applications written in the language; 2) existing applications written in the language; 3) developers that use the language primarily; 4) developers that use the language ever; 5) web searches; 6) available jobs that require skills in the language; 7) developers’ favorites, etc.

My survey attempts to rank which programming languages are most popular in Sweden, each using a different measure. So, they are the following:

1) Python

Python is an object-oriented programming language which allows developers to work quickly while integrating their systems more efficiently and effectively. Designed by Guido van Rossum in 1991, Python is one of the most easy to use programming languages.

Python is characterized by its use of indentation for readability, and its encouragement for elegant code by making developers do similar things in similar ways.

Top Employers: Amazon, Dell, Google, eBay, Instagram, Yahoo

2) Java

Java is a class-based, object-oriented programming language founded by Sun Microsystems in 1995. Java is one of the most in-demand programming languages today for many reasons. First of all, it is a well-organized language with a strong library of reusable software components. Secondly, programs written in Java can run on many different computer architectures and operating systems because of the use of the JVM (Java virtual machine).

Top Employers: Amazon, Deloitte, Sun, eBay, Symantec Corporation, Cisco Systems, Samsung

3) C++

C++ is a compiled, multi-paradigm language written as an update to C in 1979 by Bjarne Stroustrup.

Due to its high-level compatibility and object-orientation, C++ is used for developing a wide-range of applications and games which makes it a popular and sought after programming language by the employers.

Top Employers: Intel, the Math Works, Microsoft, Qualcomm, Amazon, Mozilla, Adobe, Volvo

4) Ruby

Ruby is an open source, dynamic programming language designed by Yukihiro Matsumoto in 1995 with a key focus on productivity and simplicity .It is one of the most object-oriented languages in the world.

Ruby is a mix of elegant syntax which is easy to read and write and hence it has attracted many organizations and developers.

Top Employers: Spokes, VMware, Accenture, Cap Gemini, Siemens, BBC, NASA

5) JavaScript

JavaScript is an object-oriented scripting language founded in 1995 by Netscape.

Being a client-side language, it runs in the web browser on the client-side with a simplified set of commands, easier code and no need for compilation.  JavaScript is simple to learn and it is used in millions of web pages to authenticate forms, detect browsers and improve design.

Top Employers: Microsoft, Sales Force, IBM, Yahoo, Dell

6) C#

C# is a compiled, object-oriented language developed by Microsoft.

It is highly used on Windows platform and labelled as the premium language for Microsoft .NET framework. C# is known for strong typing, procedural and functional programming discipline which is the reason it has acquired so much popularity.

Top Employers: Microsoft, HP, Digi-Key Corporation, Allscripts, Intel

Those are the top 6 programming languages which are in great demand among Swedish developers.

And one more thing: remember that opinions are like noses, everyone has one and they all smell ;) If you disagree, please feel free to email me or write your own opinions in the comments.

Katerina Kviatkovskaya

Katerina Kviatkovskaya
Kate.Kviatkovskaya@altabel.com
Skype ID: kate.kviatkovskaya
Business Development Manager (LI page)
Altabel Group – Professional Software Development

After Apple slammed Microsoft for gouging customers and designing tablets that nobody wants, Microsoft has fired back, saying that you can’t get real work done with iPads or its anemic iWorks productivity suite, and that iPads are little more than toys. Who’s right in the increasingly nasty war of words?

At Apple’s iPad launch, CEO Tim Cook and others zinged Microsoft for charging $99 a year for Office, charging $199 for people to upgrade to Windows 8, and for having a confused tablet strategy. CEO Tim Cook said about Microsoft:

“They’re confused. They chased after netbooks. Now they’re trying to make PCs into tablets and tablets into PCs. Who knows what they’ll do next? I can’t answer that question, but I can tell you that we’re focused.”

Microsoft is striking back, and striking back hard, esssentially claiming that you can’t get serious work done on an iPad, and that the only reason Apple is now giving away its iWorks suite is that no one wants to buy it. On the Official Microsoft Blog, Frank Shaw, Corporate Vice President of Communications at Microsoft noted the criticisms that Apple had aimed at Microsoft, and shot back:

“Seems like the RDF (Reality Distortion Field) typically generated by an Apple event has extended beyond Cupertino.”

And then he took off the kid gloves, criticizing Apple’s new iPads as overpriced, iWork as a pointless piece of software, and saying they don’t stack up against Surface tablets when it comes to productivity. He wrote:

“Surface and Surface 2 both include Office, the world’s most popular, most powerful productivity software for free and are priced below both the iPad 2 and iPad Air respectively. Making Apple’s decision to build the price of their less popular and less powerful iWork into their tablets not a very big (or very good) deal.”

He said iPads were not suitable for getting real work done, and that the reason Apple is giving away iWork for free is that no one wants them, as shown by their $10 price for iOS, or $20 for Mac OS X. He wrote:

“…it’s not surprising that we see other folks now talking about how much ‘work’ you can get done on their devices. Adding watered down productivity apps. Bolting on aftermarket input devices. All in an effort to convince people that their entertainment devices are really work machines.

“In that spirit, Apple announced yesterday that they were dropping their fees on their ‘iWork’ suite of apps. Now, since iWork has never gotten much traction, and was already priced like an afterthought, it’s hardly that surprising or significant a move. And it doesn’t change the fact that it’s much harder to get work done on a device that lacks precision input and a desktop for true side-by-side multitasking.”

And he concluded that when it comes to getting real work done, Apple is far behind Microsoft:

“So, when I see Apple drop the price of their struggling, lightweight productivity apps, I don’t see a shot across our bow, I see an attempt to play catch up.”

Who’s right here? When it comes to the productivity argument, Microsoft is. There’s absolutely no doubt that a Surface Pro 2 tablet equipped with a Touch Type 2 keyboard and a free version of Office is a far more effective tool for getting serious work done than an iPad with iWork. In essence, the Surface Pro with the Touch Type 2 keyboard is an ultrabook. An iPad with iWork is…well, an iPad with iWork. In other words, fine for light work. Not well-suited for serious work.

But when it comes to the tablet market and to sales, Apple is right. For now, tablet buyers don’t care about doing heavy-duty work on them. Checking email, browsing the Web, running apps, and light memo writing, are all well-suited for tablets. And that’s all many people need to do for their work.

So in the tablet battle, Microsoft’s Surface may be on top for productivity. But when it comes to the bottom line and sales, Apple is still cleaning up.

Kristina Kozlova

Kristina Kozlova
Kristina.Kozlova@altabel.com
Skype ID: kristinakozlova
Marketing Manager (LI page)
Altabel Group – Professional Software Development

Today I would like to draw your attention towards Business viewpoint in comparison of SharePoint and Drupal.

So let the story begin.

 Initially SharePoint was created as a document management system and has over time, through continuous expansion and new features, taken on some similarity to a content management system. So for today SharePoint is being positioned as not only an intranet platform, but also a web framework that can power big sites and be on the same playing field as other larger CMS platforms. Drupal in its turn has been developed to provide the foundation to build something, whether it’s a corporate website, web-shop, customer portal, CRM, intranet or extranet, or all at once. So theoretically, we can admit that since then, Drupal and SharePoint has seen the light, both platforms have been more in each other’s way and the debate of Drupal vs. SharePoint  has been part of their history. Still what is a wiser choice?

Time for setup

In this point Drupal knock SharePoint out. Firstly Drupal is based on PHP that makes it very easy to run on any environment. With SharePoint, it needs to run Windows locally to be able to set up even the development environment. If you do not have Windows, you will need run it on VMware or other virtualization software. In this case you will have to beef up your local machine to manage the memory requirements.

Today SharePoint Online definitely obviates the set up hassle for companies not looking for self-hosted solutions. Even so, the configuration steps are not as easy and shiny as they might look on the surface.

Drupal allows to quickly set up an intranet site or something on a public domain in a few hours. From a business point of view, you can get rolling within a few hours!

Integration with other services

In this case SharePoint definitely has serious advantage of how well it integrates with the other Microsoft services. So, if as a company you are invested in Microsoft and its other services, SharePoint is a natural choice. Firstly, you would already have Windows developers and system administrators and secondly, the tight coupling SharePoint offers with other MS services is golden.

Though Drupal can be configured to interact with other MS services, it is much easier in a non-Windows scenario.

Deployment

While SharePoint solution need to have not only developers but an in-house SharePoint system administrator to be able to carry out deployments, Drupal does not required any extra developer or CPU resources.

Activities beyond intranet

One of the claims of SharePoint is how it helps companies launch multiple websites apart from just setting up an intranet platform. Still to pull this off it requires a humongous number of human resource and the technical ability . The same can be achieved with Drupal but easier.

Maintenance against paid upgrades

SharePoint today is in a much better shape than what it was a few years ago. But  the progres has been very slow and every upgrade means digging deeper into your pockets.

With the community based model, Drupal has seen a far better progress in a much shorter time. The progress has not just been in the core platform but also the kind of plugins and extensions for rapid site assembly available to make Drupal a fuller platform.

Look

In the market Drupal being an open source option has a lot of low cost and free available themes, that can be integrated without much effort. SharePoint  in its turn charges for the themes and plus designers have to know XSL to be able to tweak the themes.

Cost

What do you think who will have more advantages if we compare an open source option with a Microsoft product? JStill it’s important to note that, SharePoint as an online hosted solution is much more affordable than its predecessor downloadable versions. The licensing fee and the developer licenses were prohibitively high which now can be circumvented by going for the online versions.

From business point of view open sourсe solution seems more profitably than corporate one and Drupal wins. Still if we compare them from technical point of view…who knows, may be the Microsoft’s family product will gain revenge. It would be interesting to know your thoughts about it.

Elvira Golyak

Elvira Golyak
Elvira.Golyak@altabel.com
Skype ID: elviragolyak
Business Development Manager (LI page)
Altabel Group – Professional Software Development


%d bloggers like this: