It used to be that to develop with Microsoft technologies developers would have to pay up for development tools if they wanted the best experience. These days with all the options developers have, getting someone to pay for tools can be difficult. Recently I wiped of one of my development machines and realized this is no longer the case while installing various tools. It's well known that Microsoft has been moving towards open sourcing many of their projects like their .net framework, but beyond that they have also been providing more options for free tools and services. To be clear many of these free tools are aimed toward home users, individuals and small teams. Larger businesses still need to pay for the appropriate licensed product. Windows 10Microsoft has made Windows 10 a free upgrade (if you upgrade within the offer's time period) for individual users who have Windows 7 or Windows 8. When Windows 8 came out one of the major developer complaints is that in order to develop for Windows 8 and the new Windows Store you needed a machine with Windows 8. That meant buying a new computer or paying for a Windows 8 license. By making Windows 10 free for Windows 7 and 8 users Microsoft is trying to lower the barrier for developers. Visual Studio http://www.visualstudio.comI remember having to purchase Visual Studio or MSDN just to get Visual Studio. A free Visual Studio is not new. Ever since 2010 Microsoft has offered Express versions of Visual Studio, but they were always heavily restricted in features. At the end of 2014 Microsoft started offering Visual Studio Community 2013 for free. The Community edition is very close to the Professional version and can be used by "individual developers, open source projects, academic research, training, education and small professional teams". VS.net Community 2015 also includes features that allow developers to create Android and other non-Windows apps as well as Data Tools that have usually been reserved for the higher level versions. Visual Studio Code http://www.visualstudio.com/products/code-vs.aspxVisual Studio Code is a code editor that is cross platform (Windows, OSX, Linux). It is not like Visual Studio. Instead it is similar to other code editors like Sublime, Atom and Brackets. It is based around the same code that the Atom editor (atom.io) uses. Why would someone use VS Code? The main reason would be because it is built to work well with ASP.NET 5 which is also planned to work on Windows, OSX and Linux when released. That's not to say it doesn't work well with other development frameworks. I've used VS Code to update Node, TypeScript and Python and it plays well with many other languages. SQL Server http://www.microsoft.com/en-us/server-cloud/products/sql-server-editions/sql-server-express.aspxSQL Server has always been a tough one to get for free. There has been various free versions available over the years, but they have always been very lacking and it's always been hard to get the management tools without getting your hands on one of the full versions. Over the years the Express version has gotten better and with the current SQL Server Express version developers can get functionality that is close to the full versions, but with restricted database size, CPU and memory utilization. They have also made available the management studio that allows developers to manage SQL databases. Of course SQL Server Express isn't going to include many of the advanced features of SQL Server. For developers who do need SQL Server that matches production environments closely Microsoft still sells SQL Server Developer edition http://www.microsoftstore.com/store/msusa/en_US/pdp/SQL-Server-2014-Developer-Edition/productID.298540400 Azure http://azure.microsoft.comFor developers who build web apps or services Microsoft offers some free Azure services. In particular you can publish 10 web sites to Azure for free. It's a good service to use for web site development if you don't want to pay for hosting. Other Great Tools Besides the Microsoft backed tools above there are a lot of other free tools that I use. GitHub Desktop https://desktop.github.com/Git has become the source control of choice for many developers. I like GitHub Destkop because it's easy to install and easy to use. If you are someone that doesn't like the command line this one is a good Git client, however it would still benefit you to learn the git command line commands. Atom https://atom.io/Atom has become my favorite code editor that is not a full fledged IDE. Notepad++ https://notepad-plus-plus.org/Every developer who has used Windows has probably downloaded Notepad++. It's the app I install to avoid having to use Notepad. Even though I don't use it for coding I like it as a quick editor.I'd be interested in hearing if anyone has any other good developer tools for Windows or what tools developers on OSX and Linux love to use.See More

It used to be that to develop with Microsoft technologies developers would have to pay up for development tools if they wanted the best experience. These days with all the options developers have, getting someone to pay for tools can be difficult. Recently I wiped of one of my development machines and realized this is no longer the case while installing various tools. It's well known that Microsoft has been moving towards open sourcing many of their projects like their .net framework, but beyond that they have also been providing more options for free tools and services. To be clear many of these free tools are aimed toward home users, individuals and small teams. Larger businesses still need to pay for the appropriate licensed product. Windows 10Microsoft has made Windows 10 a free upgrade (if you upgrade within the offer's time period) for individual users who have Windows 7 or Windows 8. When Windows 8 came out one of the major developer complaints is that in order to develop for Windows 8 and the new Windows Store you needed a machine with Windows 8. That meant buying a new computer or paying for a Windows 8 license. By making Windows 10 free for Windows 7 and 8 users Microsoft is trying to lower the barrier for developers. Visual Studio http://www.visualstudio.comI remember having to purchase Visual Studio or MSDN just to get Visual Studio. A free Visual Studio is not new. Ever since 2010 Microsoft has offered Express versions of Visual Studio, but they were always heavily restricted in features. At the end of 2014 Microsoft started offering Visual Studio Community 2013 for free. The Community edition is very close to the Professional version and can be used by "individual developers, open source projects, academic research, training, education and small professional teams". VS.net Community 2015 also includes features that allow developers to create Android and other non-Windows apps as well as Data Tools that have usually been reserved for the higher level versions. Visual Studio Code http://www.visualstudio.com/products/code-vs.aspxVisual Studio Code is a code editor that is cross platform (Windows, OSX, Linux). It is not like Visual Studio. Instead it is similar to other code editors like Sublime, Atom and Brackets. It is based around the same code that the Atom editor (atom.io) uses. Why would someone use VS Code? The main reason would be because it is built to work well with ASP.NET 5 which is also planned to work on Windows, OSX and Linux when released. That's not to say it doesn't work well with other development frameworks. I've used VS Code to update Node, TypeScript and Python and it plays well with many other languages. SQL Server http://www.microsoft.com/en-us/server-cloud/products/sql-server-editions/sql-server-express.aspxSQL Server has always been a tough one to get for free. There has been various free versions available over the years, but they have always been very lacking and it's always been hard to get the management tools without getting your hands on one of the full versions. Over the years the Express version has gotten better and with the current SQL Server Express version developers can get functionality that is close to the full versions, but with restricted database size, CPU and memory utilization. They have also made available the management studio that allows developers to manage SQL databases. Of course SQL Server Express isn't going to include many of the advanced features of SQL Server. For developers who do need SQL Server that matches production environments closely Microsoft still sells SQL Server Developer edition http://www.microsoftstore.com/store/msusa/en_US/pdp/SQL-Server-2014-Developer-Edition/productID.298540400 Azure http://azure.microsoft.comFor developers who build web apps or services Microsoft offers some free Azure services. In particular you can publish 10 web sites to Azure for free. It's a good service to use for web site development if you don't want to pay for hosting. Other Great Tools Besides the Microsoft backed tools above there are a lot of other free tools that I use. GitHub Desktop https://desktop.github.com/Git has become the source control of choice for many developers. I like GitHub Destkop because it's easy to install and easy to use. If you are someone that doesn't like the command line this one is a good Git client, however it would still benefit you to learn the git command line commands. Atom https://atom.io/Atom has become my favorite code editor that is not a full fledged IDE. Notepad++ https://notepad-plus-plus.org/Every developer who has used Windows has probably downloaded Notepad++. It's the app I install to avoid having to use Notepad. Even though I don't use it for coding I like it as a quick editor.I'd be interested in hearing if anyone has any other good developer tools for Windows or what tools developers on OSX and Linux love to use.See More

Recently I’ve been interested in games created using JavaScript. JavaScript is everywhere and works with a lot of devices and platforms including mobile devices that run on iOS, Android, Windows and FirefoxOS. On the web seems that games using HTML and JavaScript have started to replace those using older technologies like Flash. Here is a list of JavaScript libraries that I have seen recommended for creating games. To compile this list I looked at libraries that are free, preferably open source, actively updated and focuses mainly on 2D.CreateJShttp://createjs.com/ CreateJS is a suite of libraries that can be used to create interactive content using HTML5 and JavaScript. CreateJS is composed of several separate libraries: EaselJS, TweenJS, SoundJS and PreloadJS to handle functionality commonly needed in games and animation. Unlike the other libraries in this list CreateJS isn’t targeted at creating games. Instead it seem like it’s goal is closer to being a Flash replacement. It also has many integrations with tools. Adobe Flash CC is able to export directly to CreateJS. CraftyJShttp://craftyjs.com/ CraftyJS is a Javascript game engine that describes itself as a “flexible framework for Javascript games”. It features:OpenSourceWorks with all modern browsers including IE9Uses Cavas or DOM to render entitiesSmall file sizeSprit map supportCollision detection Pixi.jshttps://github.com/GoodBoyDigital/pixi.js Pixi.js is a lightweight 2D library that uses WebGL, falls back on Canvas and boasts fast performance for both. Some game engines make use of Pixi.js’ strong 2D support. Some of the features include: Asset loader / sprite sheet loaderMaskingFiltersEasy to use APIFull mouse and multi-touch interactionWebGL and Canvas renderingTexture atlases Kiwi.jshttp://www.kiwijs.org/Kiwi.js is a fun and friendly open source HTML5 game engine. Some of Kiwi.js’ features include: Canvas and WebGL renderingSupport for spritesheets, texture atlases and individual imagesEntity/Component systemMultitouch supportState managementFile management and loading Melon.jshttp://melonjs.org/ Melon.js is a free, open source light weigh JavaScript game engine. Some of its features include: Lightweight physic implementationCollision detectionTween effectsTransition effectsBasic particle systemSpritesheet and packed texture supportState managerTile map integration Pandahttp://www.pandajs.net/ Panda is a free HTML5 game engine. It features: Canvas/WebGL renderingParticle engineTweeningPhysics engineTimersSound managerAbility to organize code in modules Phaserhttps://phaser.io/ Phaser is a fast, free and fun open source framework for games. Phaser is popular on GitHub. One thing that interests me about Phaser is it is one of the few game engines that has a set up guide using TypeScript. Some of Phaser’s features include: WebGL & CanvasPreloaderPhysicsSpritesAnimationParticlesTilemapsCameraPlugin system Quintushttp://www.html5quintus.com/ Quintus is an “easy-to-learn, fun-to-use” JavaScript HTML5 game engine. Quintus seems to be a younger library, but I’ve seen it mentioned on several sites. Quintus also seems to cover the basics of a game engine, but is not as full-featured or refined as other game engines on this list. Stage.jshttp://piqnt.com/stage.js/ Stage.js is a 2D HTML5 JavaScript game engine that is lightweight, fast and open source. Stage.js seems to include many of the basics for a game engine including the game loop, events, support for mouse and touch, texture atlas, images, animation and tweening. In the future I hope to pick a few of these and hopefully one day create a simple game. If anyone knows of any good JavaScript game engines that are not on this list please let me know. See More

Recently I’ve been interested in games created using JavaScript. JavaScript is everywhere and works with a lot of devices and platforms including mobile devices that run on iOS, Android, Windows and FirefoxOS. On the web seems that games using HTML and JavaScript have started to replace those using older technologies like Flash. Here is a list of JavaScript libraries that I have seen recommended for creating games. To compile this list I looked at libraries that are free, preferably open source, actively updated and focuses mainly on 2D.CreateJShttp://createjs.com/ CreateJS is a suite of libraries that can be used to create interactive content using HTML5 and JavaScript. CreateJS is composed of several separate libraries: EaselJS, TweenJS, SoundJS and PreloadJS to handle functionality commonly needed in games and animation. Unlike the other libraries in this list CreateJS isn’t targeted at creating games. Instead it seem like it’s goal is closer to being a Flash replacement. It also has many integrations with tools. Adobe Flash CC is able to export directly to CreateJS. CraftyJShttp://craftyjs.com/ CraftyJS is a Javascript game engine that describes itself as a “flexible framework for Javascript games”. It features:OpenSourceWorks with all modern browsers including IE9Uses Cavas or DOM to render entitiesSmall file sizeSprit map supportCollision detection Pixi.jshttps://github.com/GoodBoyDigital/pixi.js Pixi.js is a lightweight 2D library that uses WebGL, falls back on Canvas and boasts fast performance for both. Some game engines make use of Pixi.js’ strong 2D support. Some of the features include: Asset loader / sprite sheet loaderMaskingFiltersEasy to use APIFull mouse and multi-touch interactionWebGL and Canvas renderingTexture atlases Kiwi.jshttp://www.kiwijs.org/Kiwi.js is a fun and friendly open source HTML5 game engine. Some of Kiwi.js’ features include: Canvas and WebGL renderingSupport for spritesheets, texture atlases and individual imagesEntity/Component systemMultitouch supportState managementFile management and loading Melon.jshttp://melonjs.org/ Melon.js is a free, open source light weigh JavaScript game engine. Some of its features include: Lightweight physic implementationCollision detectionTween effectsTransition effectsBasic particle systemSpritesheet and packed texture supportState managerTile map integration Pandahttp://www.pandajs.net/ Panda is a free HTML5 game engine. It features: Canvas/WebGL renderingParticle engineTweeningPhysics engineTimersSound managerAbility to organize code in modules Phaserhttps://phaser.io/ Phaser is a fast, free and fun open source framework for games. Phaser is popular on GitHub. One thing that interests me about Phaser is it is one of the few game engines that has a set up guide using TypeScript. Some of Phaser’s features include: WebGL & CanvasPreloaderPhysicsSpritesAnimationParticlesTilemapsCameraPlugin system Quintushttp://www.html5quintus.com/ Quintus is an “easy-to-learn, fun-to-use” JavaScript HTML5 game engine. Quintus seems to be a younger library, but I’ve seen it mentioned on several sites. Quintus also seems to cover the basics of a game engine, but is not as full-featured or refined as other game engines on this list. Stage.jshttp://piqnt.com/stage.js/ Stage.js is a 2D HTML5 JavaScript game engine that is lightweight, fast and open source. Stage.js seems to include many of the basics for a game engine including the game loop, events, support for mouse and touch, texture atlas, images, animation and tweening. In the future I hope to pick a few of these and hopefully one day create a simple game. If anyone knows of any good JavaScript game engines that are not on this list please let me know. See More

In my last blog post I wrote about Windows 10 preview for phones. Yesterday Microsoft released the latest technical preview for Windows 10 on desktops, build 10061. With the rumored end of July release date of Windows 10 here is a look at where Windows 10 is today. The current build is the most refined one yet, but is still very buggy and hopefully many things will be fixed and updated before final release. One thing that is pretty neat about Windows 10 development is Microsoft released the builds early over the last year and has actually made updates based on user feedback. Start Menu vs Start PageThe most noticeable change from Windows 8 to Windows 10 that people will look for is probably going to be the Start Menu. Windows 8 removed the Start Menu and replaced it with a Start Page and that did not go over very well. In Windows 10 the Start Menu is back. It no longer takes up the entire screen. Users can resize the menu by dragging the edges. The left side of the menu acts more like the traditional Start Menu of Windows 7 with a list of recent applications and the ability to go to a list of all applications and the shutdown button. The right side of the menu functions like the Windows 8 Start Page, but within a smaller area. Charms Are Gone, Replaced by Notifications PanelThe Charms Bar completely gone. It’s been replaced by the notifications panel. The notifications panel is similar to what you would see in Android, iOS or Windows Phone when you pull down from the top. It contains a list of recent notifications and an area with frequently used settings and toggles. This is almost completely different from what the Charms Bar did. The functionality of the Charms Bar got moved into the individual app windows instead. Multiple DestkopsWindows 10 finally introduces a native multiple desktop feature. Clicking on the multiple desktop icon in the taskbar opens up the multiple desktop window. The user can create as many desktops as they want and can also drag apps from one desktop to another. Desktop vs Tablet ModeOne of the big problems with Windows 8 is how it attempted to combine desktops and tablets into a single UI. Based on what people say about Windows 8 I don’t think they got it right. Users ended up with a UI that either functioned like the Windows 7 UI or jumped into a full screen tablet mode for Windows Store Apps, completely separate from the desktop. You could work on both if you used the split view, but it was as if the desktop was contained in an app itself and felt a lot like using 2 separate OSes at the same time. This is Windows 8's view of using an app and the destkop: Windows 10 tries to fix this by bringing Windows Store apps into the desktop instead of having the entire desktop environment function like another store app. Windows 10 apps can now run in windows on the desktop alongside Windows desktop apps. Windows 10 also has a “Tablet mode” that detects if the device no longer as a keyboard and mouse attached and asks the user if they want to go into “Tablet mode”. The user can also go into this mode by toggling “Tablet mode” in the notifications area. In Tablet mode app, both desktop and store apps open in full screen. The desktop and task bar get cleared of icons and some UI elements become larger. In Tablet mode the user can use a split view similar to Windows 8.The user can split two Windows Store apps.The user can split two desktop apps. The user can split a store app and a desktop app. Unlike in Windows 8 store apps and desktop apps are treated in a similar way. The user isn’t put into a situation where they are using the desktop within an app view. If the user exits Tablet mode all their apps are displayed accordingly back on the desktop. Cortana, Spartan, AppsCortana, the counterpart to Google’s Google Now and Apple’s Siri is going to be integrated into Windows 10’s Search. In theory Cortana will be able to keep you updated on things you are interested in across devices. Windows 10 will include a new browser. Codenamed Spartan it is being developed as a more modern browser than IE that doesn’t maintain the backwards compatibility that has hindered IE’s development over the years. One of the highlights of the Spartan browser is the ability to use a pen to mark up pages and share them with others. It will also have a feature that formats articles into a more readable view (similar to Readability). Apps in Windows 10 will become more “universal”. In Windows 8 Windows Store apps could be developed to work on Windows Phone and Windows, but they were still largely separated. They could share code but had completely separated UI. In Windows 10 the lines between apps on desktops, laptops, tablets and phones will be further blurred. We will have to wait until Microsoft’s Build conference to find out more. Microsoft’s own Office, Email/Calendar and Maps apps are already built using the newer universal app model. I don’t know if what Microsoft does with Windows 10 will work well or be well received, but I’m interested in what they are attempting to do. As a consumer I like many of the features that are being added and I like that the 2 completely different UIs of Windows 8 is getting combined into a single more consistent UI. As a developer the ability to write a single app and have it run on phones, tablets and laptops/desktops is more compelling than what Microsoft pitched with Windows 8. Windows 10 is still just a tech preview and there are many bugs and issues. It looks like Microsoft has a lot of work ahead, but I’m looking forward to seeing the final Windows 10 build and I think it will be an improvement over Windows 8 from what I have seen so far. See More