In short there is nothing Microsoft is doing now that is of interest to me.
In short there is nothing Microsoft is doing now that is of interest to me.
They tried to emulate apple while forgetting that people that bought into apple ideology already had apple.
If the W8 arm was unlocked it would have been a big winner. WP7 just needed fast moving instead of stagnation and they almost got everything right with the original xbox and X360 in the beginning.
But I am moving away from microsoft right now even as a desktop. Arch with KDE is almost as good. There is surprising gaming support and the only real show stopper is the terrible fonts in JetBrains products.
I don't know what changed - if it was something in Fedora, Java or what - but I'm pretty happy with how things look now, whereas before I couldn't stand it. I tried all the java switches and what not to no avail - but now it just works.
All that said, KDevelop has made such great strides I can see it becoming my primary environment for all my development.
Agreed. Their enterprise offering is strong. And one day they will realize it is IBM that is their destiny, and drop out of consumer market.
Which means becoming a company built around professional services which will mean a lot of unhappy Microsoft partners.
Here we were customers of some company who sold Exchange hosting, now we login into outlook.com.
And all this without having into account the discontinued products because of internal politics. Think XNA Game Studio.
Last job used MS for everything, but they got a setup which worked well and anyone they hired could use. Plus it's well supported (although they were stuck on XP still, that's going to be lots of money).
IBM manufactures lots of hardware, produces new technology it licenses, and has an enormous software consulting division. Microsoft does none of these things.
If anything, Microsoft will become like Computer Associates (CA Technologies), a company that milks products enterprise is hooked on and can't quit, squeezing money out of these things for decades to come.
Office (especially Word / Excel / Outlook trifecta which practically everyone uses at work for documents, scheduling, e-mail)
Lync (text, voice, video chat that is integrated w/ Outlook contacts)
Sharepoint for intranet portals, content management, collaborative documents with version control
Dynamics ERP & CRM for accounting and sales
SQL Server, which has a sophisticated BI stack for reporting & analytics
Visual Studio for developing custom applications that can interface with the APIs of all above products
Now they have or are working on cloud versions of basically all of these products so you don't even need any hardware if you want to go that route.
Personally I am not a huge fan of Microsoft for a lot of reasons, but no other company, including IBM, comes even close to offering such a comprehensive enterprise stack. They're the only company that has a product for everything (except hardware).
So the less people use Windows the less appeal there will be for these products. They are all anchored to the same sinking ship.
Also, SharePoint sucks. I had to say it. It's a worst-in-class product in a sea of vastly superior web application and document sharing platforms. I can't believe you included it in your list. I severely dislike many of those other products (Outlook, Exchange, and SQL Server, specifically) but even I'll admit that those products actually do what they're supposed to. SharePoint is nothing but a black hole where documents, time, and energy go in but nothing useful ever comes back out.
* It runs on Windows and carries with it all that baggage... An unnecessary GUI is always running. Endless security issues. You'll need to reboot regularly to apply patches. You'll also need to deal with things that are unnecessary on other platforms like antivirus packages and--because it comes with that aforementioned GUI--probably a zillion little background daemons (usually with systray icons) that only keep one particular piece of software up-to-date. If your database server asks you to install the Ask Toolbar you've got a problem (haha, Java how I despise thee).
* Lack of built-in pagination or LIMIT-like mechanism. Grabbing a limited subset of any given query in SQL server is like pulling teeth! Just look at this StackOverflow question/answer on how to do pagination with SQL server: http://stackoverflow.com/questions/109232/what-is-the-best-w... If you didn't find that answer by googling you'd be in hell trying to figure it out!
* If your software isn't built on top of Microsoft tools/frameworks working with MS SQL Server is a huge pain in the ass. You'll quickly get into dependency hell just trying to get the necessary modules/libraries working and you'll never get anywhere near as good performance as Microsoft's frameworks. Whenever I'm in this situation I feel like SQL server is a nail and if you're on Windows they give you a hammer but on any other platform they give you a screwdriver and say, "just hit it with the handle really hard. Oh, and use soft wood or plastic."
* Growing SQL server is expensive. Not usually my problem but it is always a concern. It's never as simple as "just adding more servers" because you not only have to pay for the SQL Server licensing you also have to pay for the Windows licensing and all the other licenses that are intrinsic to any Windows install in any given enterprise environment.
Sharepoint kind of sucks, but it sucks less than most proprietary corporate intranets. It's an out-of-the-box intranet server app and it's pretty good for small-medium enterprises. Beats Lotus Notes anyway.
From there they jump to the products you mention. Sharepoint is terrible for building websites, but recognizes and uses AD permissions out of the box. So does Office. So does Lync. Etc.
I bet MS makes and sells more hardware. XBox alone must outnumber all IBM hardware sales. (ThinkPad hasn't been IBM for several years now).
IBM's system hardware revenue for FY 2012 was $17.6B. (http://www.ibm.com/annualreport/2012/bin/assets/2012_ibm_ann... page 30). IBM also manufactures components and licenses hardware designs, such as the CPUs used in the PS3 and Xbox 360.
Microsoft is still not as big a hardware player even compared to an IBM that has sold off a good chunk of their hardware manufacturing.
Lots happening in Excel/PowerPivot/Data Explorer land.
I disagree. Their technology is mostly OK, and, surely, they seem managed by idiots, but I wouldn't dare to call them "the most advanced company" when compared to even most software companies.
What?!? How could you possibly believe that when you know they're all using Windows in Redmond. It has absolutely zero technical superiority over everything else out right now (e.g. Linux, Mac OS X, iOS, etc).
I don't want to say which company is the most technically superior right now but I'd probably start my investigation at Google because of things like Google Glass, Google Now, self-driving cars, Maps & Street View, and a search engine that still bests everything else out there by huge margins.
Not necessarily in the enterprise market. Based off my experience, their enterprise softwares are vastly superior other alternatives.
May I also mention the advancements of Kinect? The ability to scan and display with a great deal of accuracy: your body skeleton, your heart rate, muscle maps, etc is pretty awesome. I find whatever comes out of Microsoft Research to be very exciting. However the truth is most are killed even before they make it to the market (remember Microsoft Courier?), thanks to their internal politics.
Also, do you realize that the Kinect technology was developed outside of Microsoft? It was invented by an Israeli company: http://en.wikipedia.org/wiki/PrimeSense
Microsoft just licensed their technology for use in the Kinect. So if you consider licensing someone else's inventions as, "the most technologically advanced" then yeah; Kinect is pretty good as far as game-playing technology goes.
If you have ever worked in a corporate world, you will realize the main motto is "If it ain't broke, don't fix it". Windows 8 doesn't add anymore to their value that what XP and Windows 7 does. Also, Windows 8 was built with consumer centric point of view.
>do you realize that the Kinect technology was developed outside of Microsoft?
The chip was but not most of the software. There has been a lot of work that went into it. As someone who is interested in Imaging Algorithms, what is the next best alternative? OpenCV? It hasn't moved a square peg in almost a decade and I am glad this stagnation is ending or changing because of Kinect.
Did you know Youtube, Gmail, Google Maps, Google Driverless Car, heck even android was all built on top of already bought technologies? However, there was a lot of work put into them just like the Kinect and I am not going to belittle that.
I'd genuinely rather use exchange and active directory!
(I'm another Arch + KDE user - both at home and at work)
But my experiences with arch are very positive so far.
By controlling the Windows ecosystem they could "disrupt" any competitors trying to produce applications, pushing Office while alternatives struggled, and they could use Office to push Windows.
Charging OEMs a flat "per-CPU" fee for licensing meant that Microsoft was getting paid regardless of the OS being shipped on the system. They eventually had to stop doing this, but came up with other ways of achieving the same effect.
There's no Office for game consoles. No matter how popular your title is, another platform will have an exclusive of their own that's just as compelling. They can't strong-arm OEMs because they are the one making and selling the hardware.
Linux has all the technology needed to overcome Windows, lacking only fit and finish.
What Apple is doing now with dictatorial actions in its app stores is just as, if not more, overreaching IMHO. Does that make it OK? No.
But keep in mind why people were actually interested in what MS had to offer back then. Just as we still buy Apple products despite their anti-competitive behavior, people bought MSFT products in the largely because the product addressed their needs better than others and the price was right.
The reason why Apple's dictatorial actions don't bother me is they're only a small part of the market. If I want to develop a mobile web browser, I can still use Android and have a market.
With Windows, Microsoft WAS the market.
They also had pricing schemes with OEMs that made it impossible for the box builders to release any products with alternative OSes preinstalled (as it would raise the price of their Windows license). And a box builder that couldn't sell a competitive Windows machine was effectively useless.
Hitachi backing out of pre-installing (the technically amazing) BeOS is what eventually killed the company. Years later the shareholders won in court but by then Be was dead.
no. it was never a problem that Microsoft bundled IE or any other product in with their own software. The problem was leaning on other companies, that Microsoft was in a business relationship with, to encourage those companies to exclude software offered by Microsoft's competitors.
I'd say Microsoft's problem now is pretty intractable. I think it's quite possible there will be no victor in XBox One vs. PS4 just as there was no victor in Bluray vs. HD-DVD (Bluray just lost more slowly).
Disclosure: I was at Microsoft for a couple of months due to an acquisition.
It's has an IaaS equivalent of EC2.
Who writes a cloud platform thinking that logging is not important, and instead gives me a dashboard with pretty graphs with information no-one ever uses? Instead you have a separate Diagnostics module which intermittently works and then the best you can do is store as a blob or to a table, which must then be read out with another tool. Which you need to write yourself, or Azure Storage Explorer, a bare-bones table reading tool on CodePlex.
Then there's the crown jewel of the Azure clusterfuck, the Azure emulator. Deploys take anywhere between 20-60 minutes, after coming from App Engine's 30 second deploys (they used to take about 2 minutes to upload and begin serving - the difference it makes is astounding in being able to keep in flow). If there's no way around that time, then your local dev tools need to be rock fucking solid, because if you deploy, you want to make sure that you've got all those really dumb mistakes out the way. Instead, random roles intermittently stop logging, and the Azure emulator craps out with random shit after a few Build and Runs. So then it's time to restart. That's if VS2012 doesn't suddenly decide to hang when I right click on the Solution name to publish, after which it comes up with the most bizarre message "VS is currently completing an action - you'll have to wait" (paraphrased). It never does finish so Ctrl-Alt-Esc we go, kill the process... except the process still hangs around. So you restart and you end up with the same problem, except you now get another process of VS chewing through 180Mb of RAM for no reason. Okay, time to restart.
I've had my issues with the App Engine tools running on OS X (mainly a really odd issue with pytz, and the single-threaded local webserver which was slow as shit until 1.7.6), but I've only had to restart my computer a handful of times in a year and a half of development. Two months in Windows and I'm restarting 5 times a day.
After dealing with all that, the annoyance generated by every other minor issue becomes magnified by an order of magnitude, and you begin to ask yourself, who the fuck is designing this shit? ASP.NET MVC4 ApiController. At it's most basic settings it allows you to do REST. You get model binding on static objects, which is good for the most basic of validation. There are a billion tutorials on how to specify routing rules so you can specify "/api/objects/" or if you're being adventurous, "/api/objects/action", because that's all you'll ever need. There's a whole heap of magic, but it's the wrong fucking magic. Aaron Swartz showed the world how to do this in 2005 with web.py, it's not rocket science. To make development bearable, I have to add an insane amount of NuGet packages. You end up with masterpieces like AttributeRouting, for which I could never thank the author enough, but I shouldn't need to add a package to get sane routing. And model binding? The moment I move from static objects, it breaks. Looks like you need to write your own custom fucking model binder now (although I may not have to - still looking into it - Scott Hanselmann had a blog post about it somewhere). Oh, and sending something as JSON? Microsoft were at least smart enough to add in JSON.NET over their own overengineered mess, and yet somehow I still need reams of code just to be able to send an object as JSON. Just restrict the damn types to JSON types when you send it and be done with it! I don't want to type three pages to send serialised text when in Python all I have to do is json.dumps()!
In all this mess, the reason we went with Azure is because we have to connect to Exchange and Microsoft were smart enough to put out the EWS (Exchange Web Services) Managed API, which is actually works as intended. It was either that or write a SOAP handler in Python for the 5 different Exchange schemas (which are similar but not exactly the same). In the end dealing with Azure and not having to maintain an internal Exchange library is worth the trouble (but not by much).
Overall though, Azure is a great product and once you wire things up correctly, it makes out to be a fantastic hosting service. I do not have experience with Amazon's hosting stack, but I plan on sticking with Azure for the long haul.
The big issue I have with MVC4 (and many other Microsoft things with which I've been working) is that MVC4 doesn't work to fit around me - I need to work to fit around it. Compare that to working with Flask - supporters say it's a "beautiful API", but really what it comes down to is that Flask is minimal enough (not minimalist), gives you everything you need to work with the web, and if you need to do something complex, doesn't get in the way. It's at the appropriate level of abstraction. MVC4 is not.
I guess we'll see how the cost goes over time as well - not sure how that will pan out. I wish I had better stuff to say, because I was quite excited about it when I first started using it, but I have soured on it and won't use it for anything not Microsoft-centric.
[1]: http://blogs.msdn.com/b/windowsazure/archive/2011/07/12/now-...
[2]: accelerator is no longer being updated (afaik), chiefly because Azure websites are designed to handle the scenario it was developed for.
Shame, I really loved the idea of having Microsoft host my Linux systems ;-)
I have to agree on Azure. It's simply amazing for Linux VM hosting. I urge everyone to try it (whether you like MS or not). The UI for this service is simply amazing!
How's their API? Can I whip up (and down) servers and DNS from a Python script in a few minutes? That's what I do with AWS and Rackspace and franky, I won't use a cloud provider that doesn't give me that power. Automation is critical for any use of the cloud these days.
I wonder how many more users Linux must gain untill people perceive it as something normal that they can just use.
If that happens, it will happen after the people no longer notice what OS they're using and don't even know that they are using Linux (E.g. android, chromebook, etc).
In other words, it's true that to the average person, it's still kinda 'weird', but SO many more people know about it now and seem to always have "a geek friend that runs it" that I also wonder if we are approaching some kind of critical user mass.
If we get more Steam games on Linux, I can see this happening MUCH quicker.