Update: As the Ruby Inside blog points out maybe Microsoft thinks they need to revert back to their old ideas
Lately as I’ve been learning Ruby I’ve noticed some frustrating hurdles that are becoming all too familiar.
Now I know Microsoft has taken steps to embrace the “other” world of web programmers but as I’ll show, I believe the wrong steps.
As the Ruby and Python web frameworks grew and also the community that insisted on developing web applications in a way that kept them in control of the HTML,CSS etc. Microsoft noticed and responded with the ASP.Net MVC releases. Their also were Windows programmers working on Iron Ruby, Iron Python etc.
This strategy while seemingly plugging the whole in the boat in my opinion is only delaying the inevitable shift developers are making to the “dark side”. Whether Microsoft or anyone else wants to admit it the threat from Mac OS X, Linux, Ruby, Python etc has much more in common then is admitted from the Microsoft camp.
For starters as I’ve said in other blog posts, a great deal of the Mac OS X shift by Windows developers and to be fair even Linux developers has more to do with the tools then it does to do with the pretty beach ball spinny thing ( ie. the pretty things). The Linux shift has more to do with instability at times on the Linux platform but that may be worked out if Ubuntu stays focused on the important things.
Not only do I believe Windows could slow the shift by their current developers but they could also possibly gain some of them back. Rather then try to force everything through the .Net filter they need to do the obvious. Give them what they are looking for.
1.How about a native Bash or Zsh environment. Environment being the key word. There are some applications running natively but far from a complete environment. An even so much of this has to be scraped together from evry corner of the web.
Developers now hanging on by a thread to the Windows platform have to jump through all kinds of hoops to use Windows. There is the Cygwin setup that breaks every time Windows upgrades. Although I must say the Cygwin developers have done a good job keeping things in order. I know Microsoft hates to admit it but .Net and C# isn’t for everyone. Stop thinking everyone wants a .Net implementation of every tool or language there is.
2.Embrace what the developers want to use rather then what Microsoft thinks they should use.
This doesn’t mean Microsoft is giving up on what they see as the future of programming. There are plenty of developers that still use those tools and will continue to stay the .Net path.
3.Embrace the commandline, the classic commandline. There are many developers and sysadmins who have tried to wrap their heads around Poweshell. The object oriented shell isn’t what some want to use. Again there are some who think that way but there are also those who wonder what the hell was Microsoft thinking. When the sysadmins and developers were begging for a better commandline story on Windows I’ll be willing to bet Powershell isn’t what they were thinking. The problem with Microsoft and these technologies is that they spend so much money and time on these technologies before the users get to see them that is more or less stuck with where they’ve gone.
If none of this strikes a note with Microsoft people then maybe we need to just admit that there are droves of developers who just need to keep switching.
There are developers that are holding on by a thread, believing that they can possibly stay on Windows but that thread is getting thin. Try setting up a native Django, or Rails development environment on Windows and see how long before your installing Cygwin, creating symlinks and such to make their environment “feel” native.
I would venture to say with all the free and opensource software that already exists having this happen would be more of pulling these tools together then remaking everything from scratch.
This would give Microsoft a much better story in their competition with Google and web applications in general. How much better off would they be covering much broader of a base of developers then they currently do. Who knows Microsoft could even innovate in this space and shock everyone. I know the resources are there but the will is at this time.
How would they like to see all the old school hackers that even work for Microsoft to stop buying Macs and using Macs to program for Microsoft. When the .Net Emacs project starting getting leaked to the world I truly believed that someone at least got part of the problem. But developers don’t want .Net everything. Microsoft could embrace what developers want even more then Apple and in my opinion shift the tide
P.S. Maybe you’ll listen, maybe you won’t, but at least I tried to articulate a few things that would make Windows seem like a platform I could even think of continuing to use.
As always just my two cents.
This is to me what Ubuntu or a Linux desktop should look like. Notice the love given to the upstreams, Gnome on the wallpaper, the penguin for the start menu etc. I really liked the older OpenSuse I believe it was 10.2 if I’m not mistaken. It came with the Tux icon for the My “Computer” icon.
I was commenting earlier today on a blog concerning Ubuntu and Mono and mentioned that I thought we were still trying to squeeze performance out of our processors and memory and that C#/Mono was not THE answer to getting the strong apps needed on the Linux platform (desktop that is). After considering things for a while I’m not sure, with the present computing architecture that we will ever get but so close to the metal with the higher level languages like the C#s Javas etc. I know we do system programming in those languages presently but the higher the abstraction gets from the hardware the less crisp our expressiveness gets as to where we want the hardware to go. We will continue to whip the hardware and drivers around for the far foreseeable future because human-beings are wired that way not to mention it will remain the right tool for the right job. I know some would like to think that we will be writing operating systems in C# in the next 5-10 years but as long as we know we can squeeze seconds and even milliseconds off an algorithm we will continue to do so, it only makes sense. I don’t see us ever giving in to the inefficiencies that managed code brings with it at too deep a level in the stack. When it comes to controlling the things that make our hardware hum along we will not relinquish control any time soon.
I was watching a webcast from the Berkeley CS 61a course with Brian Harvey. While he was wrapping up the final lecture he made the point to the students about not being a functional, object-oriented, or procedural programming bigot. My paraphrase of course, but the point being that these abstractions and languages have their place and great hackers will continue to wield them correctly, knowing where to make the transition from one to the other, without being religious or idealistic but pragmatic. I only hope my learning brings me to a place where I’m able to wield these tools rightly and not only write about them..
After reading the article concerning Mozilla’s support for the client side storage in Firefox 4, it made me consider probably my biggest problem with the cloud and web apps as a complete desktop replacement. That being the storage of all documents and such as an answer to say the now Microsoft Office/Windows scenario. I guess not only the actual storage now that I think about it further. The fact that the apps are server side the maker of the app in Google’s case is “listening” to everything you are doing. How would anyone have reacted to Microsoft downloading your text as it is typed in your Word or Excel documents as a way of backing up your work. As much as it can be framed as a utilitarian use their is the flip side of the coin. The Google’s of the world using the interaction for what I would consider unknown purposes. Most average people, not power users or geeks are not aware of the level of snooping that goes on when they are surfing the net. Most users computers that I fix are littered with their interactions that I know most are oblivious to because when I ask them are they visiting such and such sites and contracting viruses they believe that deleted their history from the address bar in their browser gives them privacy. Imagine the level of surprise when most of the general public becomes aware of how unprivate their private life has become.
My blog has become my unrestricted Twitter ha ha!
This idea always struck me as kind of odd because no matter how you slice it the browser is not smart enough nor is meant to control the hardware etc. I like to think about it as though the actual windows are more intelligent, or connected. Sort of the same abstraction that is given by the X/Windows environment on Unix/Linux type systems. The browser application becomes the window manager in a way.
When the browser begins to handle such tasks as hardware and process management, it no longer is considered only a browser. It is an operating system running a single application, a web browser. The idea of the web operating system in it’s most real sense would be a WAN connected server taking over some tasks that our operating systems are handling locally now. Forgive me for feeling like this is taking a step back. I believe the ideal future will be very capable hardware on the client working in a more networked-by-design, distributed sense. There are certain tasks that I believe should not involve network latency etc. We already are dealing with applications being slow and ultimately using a great deal of resources. The only difference will be taking the latency from the local bus of the PC and transferring it to the network. That doesn’t fix anything, or move us ahead technologically. What happens is that someone gets to monetize everything about our communications, even more then is happening now. I believe there are applications that are better left handling things locally. Not to mention with most “free” web applications there is someone monetizing your personal data without you being aware. Even if you do not store your data on their servers, your keystrokes and network communications etc are mined, without your permission in most cases. I know the the 5 page license mentioned that they will be mining your data and communications “to better serve the customers needs”, but most users would not agree to half of the license agreements that they unknowingly agree to by clicking through windows to get to their work. You know how it is, check here, click here to start using etc.
Please people think about the ramifications. There is a reason we moved from mainframe type computing to local processing and storage. I like the idea of all homes running their own servers with their data and such. Now the business model changes but there are still ways of taking the complexity away from the common users. With so much added complexity with servers and the like being at user’s homes, there would be a need for subscription support services and the like. Which could be handled remotely, not adding distraction or inconvenience to the customer’s experience.
Linux would be a perfect fit for such a scenario.
While I am on the subject of web operating systems. The fact that Google takes advantage of the fact that users must pay for Windows or other proprietary operating systems makers but can use ChromeOS for free is a bit disingenuous. You are paying for it just not when you buy your PC or when you buy the CD from Best Buy. If things go the way Google likes you no longer need Windows Mac or anything else. Just a dumb terminal connected to Google’s non-evil monopoly. They want to give you your phone, your OS, your office applications, your email application, your navigation/GPS device application. Is there anything I’m leaving out. Think about the power that comes from that level of integration. Everything about you, where you are at any given time, all your personal information, your communications, likes, dislikes, secrets etc, stored on Google’s servers. Welcome to cloud computing.
This may be old news to some but we need to as a society wonder if we really want to put all this power in the hands of greedy corps looking to sell their mother if they could.
The conversation involving Zuckerburg of Facebook while coding and releasing Facebook while at Harvard is telling of how humans deal with great power. Even if he was joking, the very thought that he may have used any of the information he attained against or for his own greedy appetite should answer the question for us all whether the future of the web will be all the world’s citizens info stored on a few filthy rich corporate greed mongers servers is the answer to what some are calling “the open web”. I know the open web term usually refers to the interoperability between technology but to me these terms are used interchangeably all the time. See Zuckerburg’s IM conversation for yourself (well a piece of it).
“BP, the very company responsible for the oil spill that is already the worst in U.S. history, has purchased several phrases on search engines such as Google and Yahoo so that the first result that shows up directs information seekers to the company’s official website.”
I don’t know about you but is this the future that we want as consumers of the so-called “open web”, that Google is trying to take over and monopolise. The worst part is that they are doing it, and all the while still claiming not to be evil. And they are using the open source banner to achieve it. It is one thing to sell advertising and such but I think the slippery slope has been surpassed when those with the money can now create or fabricate what the world knows about them, by buying search phrases from the Googles and Yahoos of the world. This is probably been a known practice for a while but I guess it doesn’t have any reason to really be reported as such. You know the reporting of someone buying the “intertubes” in a way.
I’m sorry for being so disturbed, but think about the ramifications. You have people selling SEO advice to garner web traffic when if you have enough money you can buy the traffic.
This is more then image repair and marketing. I already wonder how much valuable information is buried on the internet beneath all the search engine behemoths. It used to be about mining the treasure of the world’s information but soon the internet will be seperated with the haves and the have nots.
The open web should not be the rich boy’s club as everything else in the world is.
What happened to the days where the web was not controlled by the search engine but the search engine was strong only because it could without bias lead you to the things that were found because of the best algorithm that dug the best for pertinent info.
I know I’m rambling a bit.
This is a genuine question that really starts to make me understand why the Richard Stallman’s of the world are so adamant about Free Software.
Case in point I was watching some of the new Google IO videos today and noticed the video about “Freemium – how to make free users paying customers” and was just a bit taken back by the somewhat underhanded sound of that statement. In my opinion it is anyway. It seems that they see there users as a means to the ultimate end, PROFIT (again just my opinion). The idea that ”free users” as future paying customers seems to speak of altier motives. I already blogged about how commercial companies seem to build their “opensource” projects in secret and then when they are happy with the project they “throw it over the wall” and magic happens, the project is no longer a for profit business venture but a good hearted move by a non-evil company to help the world of open source and free software move forward (NOT).
Back to my point of today. I noticed certain blog posts about certain Google open source projects, namely Web Sockets, and O3D and the changes Google was making to the “opensource” project. The changes were pretty substantial like the next version of O3D was no longer a plugin and that Web Socket versions would no longer be compatible etc. I guess in the normal scheme of an opensource project code breakage is not that unusual but when you consider these projects being released by commercial profit making companies claiming to not be evil when in reality opensource has become just another “edge” in the corporations bid to make money. Again if this understood at the outset it is fine but when companies like Microsoft are evil simply because of their dominant position and same tactics it just seems to be a double standard.
Imagine just for a moment a new startup that uses O3D plugin to build their stack around and now another company has simply decided that the plugin will no longer be such. This at the very least can cause it to be impossible for companies to work together on opensource projects if other companies learn how to bring them down or take them out of the game simply because they feel like it. This may seem to be circular reasoning but there is a point in there trust me.
I guess that’s what separates the profitable opensource companies from the ones that are at least trying to honor the principle and not mow people over with their size and influence.
Here is a quote from the blog I mentioned reading today. Notice the steering of the ship in spirit of openess and community.
The emphasis is my own in the quote. Just the few statements that struck a chord so to speak. I know some will say “that is opensource if developers need the old project they have the ability to fork it” . Yeah, I guess they can but that probably defeats the purpose of them joining up with developers of an opensource project of what was thought to be like minded people. No, just another huge rich “opensource” corp. I guess some will see this as being a bit unfair to Google but we should ask ourselves why the spirit of free and opensource software even means anything. Developers who participate and contribute to these corporate sponsored projects need some means of protection or at least predictability for their efforts, Right?
Thanks for listening