The Microsoft Empire Reboots(vanityfair.com) |
The Microsoft Empire Reboots(vanityfair.com) |
This is exciting for me because I absolutely love .net and friends, but I'm also a Linux engineer and lean heavily toward open source and cross platform technologies. In recent years I have noted that with the existence of mono and mono develop(xamarin) C#/F# is right on the verge of being an excellent choice for open source tools and projects. I've been lamenting the fact that Microsoft's early platform lock in approach has prevented .net from being a serious java alternative(or the alternative it deserves to be). Its nature stiffling the open source ecosysytem .
The outlook has been getting rosier over the past 2 years though. Now we have OWIN, ASP.NET vNext, MVC6, entity framework 7, F#, and a strange officially unofficial interest in mono. Projects on github! These are welcome steps in an attempt to boost relevancy IMHO.
And yet there is no currently properly supported way to write desktop applications for Windows! MFC = obsolete, WinForms = maintenance mode, WPF = Dead on arrival, WinRT = Metro only.
For all the people saying "web is where it's at", there are some things that are simply still best done on desktop. And native development in iOS and Android is still going strong.
Indeed, Ballmer seemed to have no intention of leaving when he announced a
massive reorganization of the entire company in July 2013. Behind the scenes
he had also begun negotiating an acquisition that was meant to transform
Microsoft. He had become convinced that the company had to make hardware
too. The reason why goes back to his chart. The two companies which have
seen the greatest increases in the share of profits they take are Apple and
Samsung, particularly Apple, whose share of the technology industry’s
profits leapt from 7 percent in 2008 to 21 percent in 2013. To Ballmer, the
message was clear, and so, in December 2012, he began talking to the Finnish
smartphone-maker, Nokia, whose C.E.O., Stephen Elop, had worked at
Microsoft. There was a defensive reason for the deal as well as an offensive
one. Nokia was pretty much the only company left that was making Windows
phones. If Nokia went under, what would happen to Microsoft’s phone business?
Apple and Samsung's phone businesses are entirely different. Apple is selling ios to the high and middle end market. Samsung is getting devoured from the bottom, because there is very little difference between android oems, whereas Apple doesn't need (or want!) the bottom. It's pretty amazing that someone like Ballmer wouldn't see that coming, given that Xiaomi and the other chinese competitors are running a classic competitive playbook on Samsung.Stratechery has written about this at length, though I don't recall if it was clearly discussed in a single article or my mental synthesis from a collection. Either way, differentiated companies -- apple -- require completely different strategies than nondifferentiated -- samsung.
Hilarious. It wasn't the lack of an A-team resource on browsers, it was the lack of any team. Microsoft just left browsers there and did nothing.
Microsoft's other big sin is counting on its hardware partners. They could have preempted the iPod, for instance, but they just hoped Creative and others would deliver a great experience, while they sat back and wrote the software and cashed in on licenses. Same for tablets. Tablet PCs were great in the 00s, and I loved using them. Except, they were clunky and had little mass appeal. Once again, MS just counted on its partners and never gave a thought to the full experience.
Also, the fact that Windows still is touch/pen unfriendly outside of Metro just shows they Don't Get It. Instead of working on some tech to make Windows work well across all its apps, they ditch everything and hope Metro will work. It's hard to imagine that anyone could be so myopic.
"The holy grail for Microsoft would be getting developers to write new software for Windows again ", this necessarily isn't true. The developer go where users and money are. And users not necessarily go to devices which have lot of apps. This might sound like a chicken and egg problem, but look at amazon, if developers are writing software for its devices, Amazon is bootstrapping its devices with software. I take out the other devices, the desktop and servers, might not have as much impact as it may sound.
Second, Xbox, Bing, may sound looser, but they may be interesting in the next round of battle. The smart phone battle is more or less is over and it is not going to make much difference, but the future of the smart device fields will be another story, if only MS can concentrate on the future in coherent way.
Not unexpected given the date and the relationship between Apple and Microsoft at the time, but interesting that it shares the desk (albeit off in a corner) with the IBM-PC.
More accurately, there is probably a Mac here because they were building Office for it.
I'm constantly amazed that all these "experts" haven't figured out what happened to the 800 pound gorilla. Quite simply put, other gardens that people could live with and easier to access suddenly showed up. The vendors making and selling their wares went to the place people were at or wanted to go to. Its simple economics and you can point directly to the people who decided that WGA was a good idea for killing MS. Piracy itself is what made windows dominant to begin with.
All of which are on quite shaky grounds with competition eating at them. MS know they can't keep these cash cows forever.
On the other hand, parasitic income that MS gets is just crazy huge: http://arstechnica.com/tech-policy/2014/10/lawsuit-reveals-s...
And this attitude doesn't seem to change, despite some cosmetic shifts like more usage of open source.
Such kind of companies better fall into irrelevance sooner than later. We need real innovators, not humongous parasites.
As for Microsoft: the adage goes that success has many fathers. Failure has even more. It would have been nothing short of amazing if Microsoft was as dominant now as it was in the early days of PCs.
Profound question...
One thing I hold bitterly against Microsoft is their abuse of monopoly. During the time they were kings of technology, there was little progress in Browser market, OS market, both PCs and phones. But I believe Microsoft has learnt their lesson, and under Nadella, the company is going to take the community along with it.
http://www.vanityfair.com/business/2014/11/satya-nadella-bil...
- I can't read the article because some as keeps jumping me back to the top of the page a few seconds after I scroll
- the article font is tiny and hard to read anyway
- for some reason even though there is a large body of text, ios doesn't allow me to use reader mode
I had zero problems reading the print version.
I wish pretty much every damned site in existence rendered as on Readability.
Yeah, my partially completed blog platform (who doesn't have one of those somewhere) uses pretty much exactly that design.
None of this "Everybody has a 2048 pixel wide monitor to view my 4 huge columns in" (I used divs instead of tables, so it's OK that it takes 2 K pixels to render, right? Right?)
Unfortunately, it is also has some extremely negative associations, most of which have been earned and even, perhaps, proven.
* unfair and sometimes illegal business practices
* sabotage of innovative technologies when they conflict with Microsoft's monopolies
* eugenics
* empire
* surveillance state (Skype/NSA)
Yes, it is "drunk or high or Alex Jones"-level idiocy. It is, in fact, fractally stupid: Believing it requires you believe multiple other things, each of which is just as dumb as the whole. For example, it requires you to believe the following things are evil: GMOs in general, vaccines, and wanting to reduce the world's population.
ASP.NET WinForms are just as obsolete in my book. I programmed dozens of applications using it but I would never consider using it today for modern web development.
I still use Microsoft development tools. C# and ASP.NET MVC are great, modern technologies that allow me to make stable and scalable web applications very rapidly. The modern versions of Visual Studio fulfill all the things you said you liked about VB6 and are otherwise incomparably superior.
VB.net and C# (and F#) are free [legal] downloads from the internet and both just as capable as VB6 was back in the day (the things Visual Studio Pro and above add aren't really relevant to beginners, except the testing framework perhaps).
Plus back in the day I found VB 6 quite limiting. For 101 level stuff it is plenty fine, but once you want to go beyond simple applications (e.g. games) you're left almost fighting the language and libraries itself.
With C# in particular, while it is certainly slower than Go/C/C++/D/etc, that's really the only major limitation. You can definitely access much more of Windows' API infrastructure, it supports unsafe code, the .Net framework is more comprehensive, and the language features are extremely modern (F# more so). There really is no limits except execution speed.
Honestly kids today are extremely lucky. I would have killed to be learning on C# back in my day. Fuck VB 6.
I wish someone would build a robust OS & GUI toolkit and ship it with developer tools...
QML is basically a Javascript-based declarative language for building user interfaces in which you can use full Javascript to augment them. It has its own IDE (Qt Creator) with a visual designer and it's pretty easy to learn, and Javascript is not a hard language at all for newbies. You can even use C++ to extend your applications. KDE 5 is not ready yet, but Qt5 is mature and improving with every release.
I would recommend that combination to a young aspiring programmer without a doubt.
I think that's the web. The development that used to happen in VB6 & Delphi simply has migrated there, desktop apps from that segment are dead.
Of course, VB programmers may look down on Excel the same way lots of other programmers looked down on VB.
If you did things properly (MVP! remember that?) it was quite maintainable. I still know of several VB apps still in service.
But maybe it's still not simple enough. Also, Object Pascal is probably harder to learn than VB6, esp for a beginner.
I also started mostly with VB6 and still somewhat miss it... Nowadays I mostly use C++ and Python on Linux or MacOSX and have tried many many other languages in the meanwhile. But I still miss VB6 somehow.
I agree it isn't a great way to develop for the web, as in embracing web tech, but it's a very convenient way to make forms. Even having your controls keep state (the terrible viewstate) is quite convenient.
If you approach a lot of those places and show them something like AngularJS they'll be like "where are all of the high-level tags and rich components that I can just drag and drop"? And then you'll realize that you're not actually in the ghetto.
There's a reason that webforms didn't die when Microsoft introduced MVC, but instead they started bringing MVC features into webforms because so many people use it.
It's probably for the best though - the code we wrote is almost certainly quite ugly and hacky, and I could certainly write the same programs much better today.
VB6 offered none of this.
I was just reading something about the subject here http://pragmateek.com/is-wpf-dead-the-present-and-future-of-...
MFC is OK if you can accept its crufty old flavor of C++. But it wouldn't allow for much sharing of code between Windows desktop apps and modern (Metro) apps, whereas a .NET-based solution would let you share non-GUI code easily.
WPF was developed for a relatively short period of time, starting in the early 2000s, and then basically abandoned. Windows Forms may not be much older than WPF, and both are apparently now in maintenance mode, but Windows Forms has the advantage of being based on the Windows API and common controls, which have been developed since Windows 1.0 in 1985. WPF was all new technology; it used the older Windows APIs only as much as it had to. So Windows Forms is based on the tried and true foundation for Windows GUIs.
This is a bit fuzzy, but it seems to me that WPF reflects the rich-client excesses of its time. In the early to mid 2000s, Microsoft and Sun (with Java/Swing) were trying very hard to be better than web apps. For Microsoft with WPF, this meant building the whole framework on a very advanced graphics subsystem, the then-cutting-edge Direct3D 9. I dare say they didn't care much about running well on older or less capable hardware; they just wanted to take full advantage of what the latest hardware could offer. By contrast, the Windows GDI and USER subsystems were designed to run on primitive raster graphics hardware, so Windows Forms apps benefit from the relatively low system requirements.
Now I'd like to present a case study in how the excesses of WPF resulted in a less than satisfactory user experience for a niche application where WPF's advanced graphics capabilities were almost certainly unnecessary. My brother is a Christian minister. About three years ago at Christmas time, while he was still a seminary student, he told me about how his then-current laptop wasn't serving him well any more. Among other things, he mentioned that the Logos Bible study software he used wasn't running efficiently, and that for reasons unknown to him, Logos was unusually demanding when it comes to graphics hardware. This seemed anomalous at the time; a program like Logos is little more than a text viewer and editor. I didn't dig into that at the time, though; I just bought him a new laptop.
You can guess where this is going. Tonight, during my wandering about the Web, I happened to find out that starting with version 4, Logos was based on WPF. I made the connection with the conversation from three years ago, and confirmed that the excessive demands on graphics hardware were really an issue. See, for example, this forum thread from 2009:
http://community.logos.com/forums/t/6200.aspx
I feel bad for the users who had to take time out from their real work to post on a forum like this about technical minutiae like video card specs. At least one user justifiably questioned why a text-based research program like Logos would require a cutting-edge video card. We who develop end-user-facing software should take this as a lesson in how not to make our users happy, by prioritizing developer convenience and/or gratuitous use of cutting-edge technology over delivering a good user experience on the hardware that users actually have.
The problem was the high-level mesaging from Microsoft. They weren't about desktop anymore, apparently, but that's exactly where I make money being a Windows software developer. They were now mobile. They were Metro-shmetro. They wanted to leave behind everyhting that helped me make living by writing Windows apps and move on to conquer new domains. They neglected me and my interests. But I can say that I like how things are changing now. They put Start button back. They appear to be opening Windows Store to non-Metro apps. Good, excellent, they are on the right track... that's assuming they don't screw the hell out of Windows 10 with their Asimov telemtry bullshit, but it's an altogether different issue. At least they are paying a bit more attention to what people actually want instead of what Microsoft thinks they should be wanting.
But that is just an impression, an interpretation, and probably a false one, no? I and lots of people I work with never treated it as such but rather like 'we also do touch&mobile now, next to the good old desktop'. That is what Windows 8/8.1 is for us and our customers: in essence Windows 7 + Metro. And it didn't affect the way we write our desktop software in any way. Except in practice that we have to press Win+D after login, not exactly a major overhaul.
On a sidenote: to us the fuzz over the start button is just a media-driven thing coming from people stuck in the point-and-click age of XP and earlier. Anyone doing serious computer work should be using keyboard shortcuts anyway. And hence wouldn't have any problems adapting to the lack of a point-and-click button when the 'Win key + start typing what you're looking for' does exacty te same, and has been doing that for quite some time.
Intangibly, it's the attitude that permeated the company that said "we are right because we are Microsoft." There were few people you could talk to who'd think you had anything to offer someone who worked at Microsoft. You still see this today around products like Bing, IE, Xbox and Azure (I know the last 2 are popular, but the xbox has been a loss leader (and what it's leading too isn't clear yet) and Azure, like everyone else, is being crushed by Amazon (it really is, they spend a ton more money and get a fraction of the market (that's Bing-style success!))
I remember a story from the only time I was on their campus. An employee (I remember his name) was telling me how they wanted to make IIS great, so they hired an expert Apache consultant to learn more about apache. I'm listening, thinking "wow, this is great, they're really interested in bettering themselves." He then proudly went on to tell me how the Apache expert had an amusingly outdated understanding of IIS and by the end of the gig they'd convinced him of how great IIS was. They'd literally rather pay people to tell them how great they are, then admit they might have something to learn.
This perfectly encapsulated my time as a .NET developer. Lucky this was at the start of an MVP conference, so I took the hint, skipped most of the conference and visited Seattle (oh, but I did attend 1 talk where the speaker said Visual Studio would add a color picker and people applauded him).
They know there are things like iPhones and Android devices, but they appear truly baffled that anyone would want one. They think it's some kind of conspiratory rebellion, that the world uses those out of spite for Microsoft.
How is Apple differentiated? To a user that wants a smartphone to send emails, visit websites, play fantasy football, take pictures, etc, Apple is every bit in competition with Xiaomi as Samsung is. To many, many users, smartphones are effectively a commodity now.
Which is why Apple devices feature some of the best screens, the best cameras, the best processors. Any illusions that Apple isn't fighting the competitive fight, and hard, is just contrived nonsense. They are fighting damn hard to make a compelling case for their devices, and doing a good job at it.
whereas Apple doesn't need (or want!) the bottom
Apple still makes and sells the iPhone 4S, a three year old device. You can get this in the $200-ish range. Further most of Apple's pricing has been contingent upon the scam that are cell phone contracts, where right now you can get the iPhone 5, for instance, for "$0". That is, by most definitions, the "low end".
Furthermore, the virgin mobile link you gave is for no contract - but locked phone. While it's not comparable to $200-with-a-2-year-contract, it is also not comparable to an unlocked phone.
No, the consumers on the real low end of the cell phone market can't afford or can't get approved to have a contract. Most phone makers chase this market in some way, Apple doesn't.
Don't forget marketing. I don't think anyone plays the marketing game better than Apple. They are essentially marketing themselves as different and the fact that it works is nothing short of miraculous in the face of actuality!
Yes, but wasn't that intentional? Once IE4, then 6, had conquered the world, the point was to keep people from leaving Windows for the Web, and so IE dev was stopped dead.
Or they could have some sort of gesture that lets me go into a high accuracy mode. Or really, anything at all to make it easy to deal with. But nope, your finger becomes the new cursor and that's that.
A touch UI needs large hit zones, benefits from natural drag/scroll, has only one kind of click but can have multiple touchpoints.
A pointer UI can use very compact and precise interaction areas (text selection is a great example), right- and option-clicks and has very old conventions for drag and scroll.
Saying that Windows is touch unfriendly is missing the point of it being very pointer friendly.
Apple is slowly bringing the two paradigms closer, and people complain at each step.
LaTeX equation input is also something that's creeping up my "must have" list.
This, exactly this.
The transition to .NET was a blessing, VB6 is really useless for anything else than "basic business apps" and even then!
IIRC you could only read/write a file (raw data) byte by byte (ok, that was before VB6, still...)
Source? C# should be much faster than Go.
They still own the desktop, yet they ignore it.
Except that they still make and sell the iPhone 4s. That is absolutely and undeniably chasing the "very low end" market (it's $199 no contract, which is pretty bottom tier).
http://www.virginmobileusa.com/shop/cell-phones/iPhone4S-8GB...
Now I suppose we can just keep arguing this down, but historically Samsung was "Chasing the low end" because their devices were $0 on a contract (ergo, in the $600 range. The iPhone 5s is currently $0 on a contract). Now that floor keeps falling, Apple is selling a $200 device, and we're still going to argue that they super don't care about the low end, and they're some sort of exclusive device despite burger flipping teenagers buying it?
The problem is "properly" is surrounded by a lot of people who slap stuff together, reinvent the wheel (NIH syndrome) or just plain don't know how to program.
I shudder when I look at old VB code... and thank God that I have VS2013, resharper and C#.
I think the issue people have is "it's never as good as it used to be". You remember the good, forget the bad and glorify what used to be the pinnacle of technology. Windows 75. XP. Blackberry. Palm. OH WHY CAN'T THEY HAVE JUST LET US STAY WITH PERFECTION!!!
Sorry... Let me get off your lawn before that becomes an issue as well. :)
I have an i7, 16 GB RAM machine (with a 7,200 RPM HDD though), and when I had Resharper running Visual Studio 2013 would take 10+ seconds longer to load and lag horribly every time I opened a large class.
I tried all of their repair tips, but ultimately I think it it is just that laggy and slow by its nature and drags Visual Studio down with it.
I just couldn't justify the $149/year (effectively, due to the way upgrades work) cost. Plus Visual Studio 14 CTP adds many of Resharpers features natively and without any lag at all.
Part of it is probably that the computing world has become more complicated: A significant share of developers have left Windows, and clients want to play around on their iPads and Samsung tablets. It was much easier to be a "perfect" dev environment when absolutely everyone was running Windows.
The main problem with VB6 was the modules. Modules were "any code here is thrown into the global scope" areas. Worse still they would execute with the caller's context, so you could mix in things like form logic (which would break if the form wasn't the caller).
This sounds great to newbies: "Ohh nice I'll just write a bunch of helper procedures/functions, throw them into a module and use them all over!"
However as projects grew so would the global scope of the application. You then have module function A which calls procedure B, and so on. So when it comes time to refactor some of this global craft into nice streamline classes it is pure hell as the application was never written with that in mind.
MVP in VB6 is largely a myth. I've never seen a legit VB6 application written in that style, and I've only seen it in context of articles talking about how things SHOULD be done. You want something like MVP? Then pick up a framework which enforces it or it won't happen.
But I'd need hard numbers to refute that Gartner analysis. Spending 50% more than your competitor and having a market share less than 1/5 (probably a lot more, since the 1/5 is 15 providers combined), is something I struggle to call "success". I'd be less harsh if this didn't fit a pattern. And I know spending more and having less is the price that challengers face, but again, not being an incumbent (and failing to mount a real challenge) is a pattern we've seen before.
[1] http://readwrite.com/2013/08/21/gartner-aws-now-5-times-the-...
Most competitive makes don't sell their devices on their website at all. That really doesn't demonstrate anything.
Not only does Apple still manufacture the 4S, they recently restarted production of the iPhone 4 (sans S) for the developing world. I would cite this, but you can find references everywhere and with ease, so that hardly seems necessary.
And yet, Apple does, so it's a hint. They've been selling 4S on their website up until a month ago.
> I would cite this, but you can find references everywhere and with ease, so that hardly seems necessary.
It took you longer to write this than it would have to google a reference and post it. But then you would have noticed that (a) it is all rumors, and (b) it is from February - 8 months is a long long time in manufacturing.
Markets have segments. Apple decided to sell their 4S through other channels in the US (they still sell it on their site in Brazil, which I guess by your logic proves that they still manufacture it. That is a country of 200 million), likely to continue this absurd and so easily disproven myth, repeated in here, that they only chase the high end.
But then you would have noticed that (a) it is all rumors, and (b) it is from February - 8 months is a long long time in manufacturing.
It actually isn't hard at all, nor are they rumor sites. I'll give you a hint -- Apple moved all iPhone 4s and 4 production to a manufacturer called Pegatron. And before you implore me to provide the research for you, how about you demonstrate a single credible source that Apple ever stopped manufacturing it?
Marketing, at best, gets customers in the door. It doesn't generate brand loyalty or repeat customers, and marketing alone certainly doesn't sustain a company or product line for years (or decades!) on end. The "Apple is all marketing" trope is usually invoked in discussions that are more about tribalism than analysis, by otherwise-rational people making a conscious decision to not accept the fact that there are other rational people in the world who see value in things that they don't.
I'm sure there's no shortage of people who will read this and immediately have a knee-jerk reaction along the lines of, "yeah, OK, maybe Apple spends way less on marketing than those other companies, but that just proves that they have magically effective marketing, because there's no other possible explanation for their success!" If there is a litmus test for rationality, they just failed it. A more plausible explanation is that success in business is a combination of a lot of different things- every company/tech/device/platform has a unique fingerprint of pros and cons that help it or hurt it in different market segments, and there is no perfect combination of any of those things. It's the ability to say, "I don't see value in this, but I can see how other people who care about different things might like it". This is an incredibly valuable ability to have, and people should be actively cultivating it if they want to make a positive difference in the industry.
[1] http://online.wsj.com/news/articles/SB1000142412788732409640... [2] https://twitter.com/asymco/status/396253597551570944
Samsung is estimated to have spent, in total, $364 million in 2013 in the US. Apple is estimated to have spent $350 million. Is that really "significantly more", especially given that Samsung's total mobile device market is wider than Apple's (e.g. feature phones and so on).
Indeed, thinking in terms of purely smartphones -- I see at least four Apple ads for every one Samsung ad I see. Maybe it's just my market (Toronto area), but there is absolutely no question that Apple's conventional ad spend, and their partnerships with carriers (that pollutes the numbers a bit), absolutely dwarfs Samsung's.
But of course Apple succeeds because they achieve excellence in all areas. As I mentioned elsewhere, they sure as hell are trying to compete, and anyone that argues that they live on some other plane, free of competition, is deluded.
The "bonuses to retail staff" thing, as an aside, seems to be some invention that appeared to justify Android sales, which clearly had to be caused by nefarious interference than consumer choice.
http://www.asymco.com/2013/04/02/the-cost-of-selling-galaxie...
It's not as big a deal on Windows where the look+feel of various applications was always inconsistent as hell -- remember when Trillian was the most popular IM client, it seemed like in those days virtually every application handled windowing differently, it was terrible.
But it's a bigger issue on OS X and in Linux. Since both have functionality to cycle through windows of a given application, tabs become less important. Of course, we still end up with visual clutter, so even luddites like myself use tabs now and again. But this should really be implemented as an OS feature, not on a per-application basis.
Google, of course, vehemently disagrees, since they implement their own terrible look-and-feel everywhere. (see: crappy windowing inside of GMail, crappy windowing behavior of Hangouts, etc).
I still have hopes for Nadella -- maybe just because I'm an old Sun warhorse -- but it's going to require a big rethink of MSFT, which right now is basically just a cash pile in search of a market. Changing the burn rate is just playing at the margins (layoffs are not a strategy), and if there's a big plan underlying the Mojang acquisition it's incomprehensible to me on both strategic and financial levels. Likewise, mass-producing Perceptive Pixel displays, while undoubtedly cool, is both fiendishly difficult (PP was basically a garage manufactory, so this is a software company figuring out how to scale up a product that has never been mass-produced) and not something that can push market dominance. Buying Nokia kept MSFT in the mobile space at a very high price, but really only purchased time and space, not a turnkey strategy.
Having said all that, it seems to me that there are two companies on the auction block right now that could give Redmond the germ of a strategy. Both Xamarin and Unity would fit very comfortably in what is arguably MSFT's wheelhouse -- software development tools -- while giving the company a way to seamlessly increase their mobile app ecosystem.
> [from the article] “[Ballmer's] view was that anyone in the company who used the iPhone was a traitor,” says this person. “His dad worked for Ford, and that meant you had Ford in your garage.”
This attitude drives me nuts. The best thing Ford and GM could have done in 1985 would have been to buy Civics and Corollas for 10% of their employees so they could see for themselves what was so good about them. But no, instead they had this adolescent "be true to your school" thing going on.
The same clearly applies to Microsoft. I hope Nadella gets that business is not a repeat of high school.
But when you achieve the dominance and size and cash hoard of Microsoft, that center of gravity shifts -- the company becomes so powerful and massive that it generates its own gravity. There is the luxury of a cushion so large that it recedes to infinity, distorting strategy to the point where the necessity of its convergence with the customer may no longer be explicitly contemplated. The wooing of the customer is supplanted by an eternal dance of indoctrinated partners in the ecosystem ballroom. The objective financial success of the arrangement trumpets it to become ever more like itself, unfettered and unfed by the market forces and demand that anneal smaller and more nimble competitors.
And so, numbly disconnected from the healthy signals of the natural customer-centric gravitational pull, this dominant entity finally reaches the ballistic apex of its trajectory, unpowered by the thrust of customer focus, and begins its gradual descent. Maybe the law of large numbers, with respect to enterprise growth, is really more of an inward-looking organizational behavior problem than one of stock market psychology.
Even if it was your first language, you can't possibly be a typical new programmer.
It seems that putting the application in control of its window-switching experience has just worked out better.
This. Look at Java, and the bloated mess it has become. Look at XML and the bloated mess it is.
Popular doesn't mean it's good. There are plenty of individuals at the top that don't know cisco from crisco.
What I want to know is, what better crap is there that offers the ease of use that webforms does? If there's nothing better then this is the best crap we have.
It's kind of like how gas-guzzling, environment-ruining automobiles in general are crappy, but what practical alternatives exist that actually cover all of the use cases?
http://www.macstories.net/linked/parc-scientist-larry-tesler...
I think it's apparent and I am thankful that Microsoft didn't copy Apple's UI and instead went with a much more practical and utilitarian approach than Apple. This along with Microsoft's business model obviously works better for the mass market and has stood the test of time whereas Apple has capitulated many times both on their UI principles and on their business model.
No, wikipedia isn't credible. Can you find a source that says the 2007 first generation iPhone is no longer in production? By your logic, it is still in production.
It's possible that you are a party to non public knowledge. All power to you. But the public knowledge I was able to find does not support your assertion.
I'm just so glad that I don't see Apple computers when I walk into 90% of the offices around the world where their business model simply couldn't survive.
But when collaborating on a curry, I don't want to use the same knife as the guy who cut the tomatoes wants to use. That knife looks blunt and rusty to me.
Think about that for a moment: We've regressed from VB.
The usual tradeoff is: easy to write, hard to extend and maintain. But the web is hard to write and hard to extend/maintain.
We have some of the smartest people in the world in our industry, and evidently we're all idiots.
I know once I've tested it on one machine it's going to work fine on all the other ones. It's the most stable API and platform I've ever seen. Code we wrote for Windows NT4 works fine on Windows 8.1 and behaves exactly the same.
Compare that to our poor web guy who spends at least 50% of his time trying to get everything working on a selection of browsers going from IE6 to the latest Chrome while necking red bull, using the F word a lot, smoking and going bright purple.
No, beginners don't want to layout things in CSS, a declarative XML language, or any other 'text' way. They want to drag and drop components with the sort of ease of use that Visual Studio or Interface Builder offer. And they want a language coupled with that which features the simplicity of Python.
I too did some of my first serious programming in a VB like language in the 90s (RealBasic for Mac). I now develop beginner training materials in web development as a side gig and while we have fun - it's definitely not as satisfying as laying out a form in VB and having a real GUI in a matter of minutes that "Just Works."
The zealotry in this field is getting close to unsustainable in my opinion. Companies thought the proliferation of ms access apps was bad, wait until they try to do something with the proliferation of overarchitected web apps based on a wide assortment of fashionable at the time but now unpopular languages and frameworks that hardly anyone has experience on and is most certainly not interested in working on.
Working in SF in earlier-stage companies, I've never seen anything even close to the rigor with which Microsoft approached testing. Definitely consider working there if you want to learn from some of the best QA/QE/verification engineers in the industry.
I think the most important issues with the web that are not already being addressed (and winning) are a statically typed Javascript replacement and a way to locally isolate the effect of CSS in large applications with many modules (web components don't solve this correctly).
The web is distributed and distributed is hard. The problem is that it is also what people want. We haven't regressed from VB6 -- we've advanced, but the demands of the market may have gotten more complicated faster than the popular tools have advanced in their ability to simplify them.
I keep thinking back to an Access application that I threw together in a couple of days, back in the 90s for managing a team of about 40 technicians. It was being used for task tracking, and had some wiki-like features as well. When I started that project I knew nothing about Access or VB, and yet in two days I had a bunch of forms and tables that allowed managers to get a quick feel for what their staff were up to. The thing ran over the LAN, and could handle 10 simultaneous connections without any dramas. If I were to try the same thing in the web world, I might lose myself in getting just one table view working correctly for a week. Getting an http server configured and up and running, and talking to a db server would be at least two days. And there would be many potential roadblocks just waiting to trip me up along the way.
These days, rather than dealing with that mess, many companies just go for an off-the-shelf hosted solution that sort of fits their needs, such as Basecamp, or Jira, or Igloo. The existence of these products is a sign that we've gone off in the wrong direction somewhere - the sorts of products they make are very similar to that online apps you could make with Access 20 years ago.
A lot of the internal desktop LOB application development that used to happen in VB or Delphi still is done on the desktop, but happens in Excel with VBScript. That trend was very much visible when VB (pre-VB.NET) was still current.
I agree with you, I think the bigger picture here is how well the IDE, GUI, and code hang together as a complete unit; focusing on any in isolation (e.g. "VB sucks, use Python") misses the point.
Perhaps automated systems have become much better since Joel wrote this, but something from the talk I really liked -
"The old testers at Microsoft checked lots of things: they checked if fonts were consistent and legible, they checked that the location of controls on dialog boxes was reasonable and neatly aligned, they checked whether the screen flickered when you did things, they looked at how the UI flowed, they considered how easy the software was to use, how consistent the wording was, they worried about performance, they checked the spelling and grammar of all the error messages, and they spent a lot of time making sure that the user interface was consistent from one part of the product to another, because a consistent user interface is easier to use than an inconsistent one."
In the old days, you could learn C or SQL and for every hour of learning get a hundred or a thousand hours of real use, and you have at least a fighting chance of picking up some other guys code, or vice versa.
No, its a sign that the web has enabled easier application delivery with greater reach at lower cost; Access is still around, after all, and most businesses have it right at hand, so if the alternatives were worse, they'd still be using it.
Salesforce has made a huge business out of business apps in the same category as whatever would have been cobbled together in the basement with Access by some 'IT guy' 20 years ago. The fact that this is the case is a reflection of the fact that people prefer the hosted, turnkey, polished experience that web-based SaaS provides over some half-baked internal app.
Well, you might accept that I'm "idealizing" Access because, you know, I had a decent experience with it 20 years ago, as described in my first comment. No need to go searching for mysterious ulterior motives when they're explained in the post!
For what it's worth, I do remember significant flaws in Access. For one thing, it was an absolute pain when we wanted to modify the database - we had to get everyone to log off, and then upgrade all of the clients at once. This is one of those problems that the web solves elegantly. Also, Access had major issues with concurrent users. Performance fell off a cliff, and from memory, certain operations were unsafe (I think you could set up a SQLServer which would address the concurrency problems, but we never bothered).
But these days we have better options available to us - app stores fix the updating problem, without introducing the css + html + javascript mess. We have decent, free web servers, and web application frameworks such as Django and Rails that make writing the server side code that drives the RESTful APIs used by the client relatively easy. But what we don't have is:
a) an easy way to create a server (this needs to be as easy as sharing an Excel spreadsheet) b) a coherent development environment from client to server code. Something that allowed you to write apps purely in Javascript (no css or html) with a GUI editor, and which also let you write the server code in node.js would be a close match to what I'm thinking of. Bonus points if most of the node.js code is derived from the client-side code, so that the novice programmer doesn't need to be aware that a server even exists, it just works.
The problem is, that's the kind of application that's really hard to write. It's big, an IDE in fact, and really Microsoft is the only game in town for making that sort of stuff. But they won't write Android / iOS / Mac clients, so it doesn't happen.
At our company, we have an Access "thing" (it's not even an application, really) for generating listings of the phone numbers and birthdays of all the employees.
Recently, for no apparent reason, it stopped working. I consider myself moderately competent at getting up to speed with new development tools and reading myself into other people's code if I have to, but Access somehow is completely incomprehensible to me.
Maybe I was just missing something fundamental, but I found Access hugely frustrating and not intuitive at all. The general idea behind it seems actually kind of good, but the Microsoft chose to implement it is not exactly optimal. Also, as usual for MS, the complete lack of a manual made me want to strangle somebody. So, yeah, I totally agree with your statement. :)