Posts tagged Build
Free, unencrypted wireless is everywhere, but you shouldn’t be checking your bank account on it unless you don’t mind somebody else snooping. The solution? A virtual private network, or VPN.
A VPN extends your own private network into public places, so even if you’re using Starbucks’ Wi-Fi connection, your Internet browsing stays encrypted and secure.
There are plenty of ways to set up a VPN, both with free and paid services, but each solution has its own pros and cons, determined by the way the VPN provider operates and charges and the kinds of VPN options it provides.
The easiest and cheapest solution to keep your data safe is to just abstain from public Wi-Fi completely. But that sounds a little extreme to me when it’s relatively simple and inexpensive to build your own VPN server at home, and run it off of a tiny, inexpensive ($35) Raspberry Pi.
My Raspberry Pi is about the size of a smartphone, but it runs a fully functional VPN server. That means no matter where I am, I can connect my computer to my home network and access shared files and media over a secure connection. It came in handy on a recent trip to Boston, where I was still able to watch videos stored on my network back home in DC.
This is the part where I’d link you to a handy tutorial on how to set this up. The problem is one doesn’t exist—or at least one that could satisfy this average computer user. And while there are plenty of tutorials about how to set up a VPN server on Raspberry Pi, there are very few that explain why.
I read several different tutorials and cobbled together the results into this semi-coherent tutorial for setting up a VPN on Raspberry Pi, which even I can understand, complete with the why behind the how.
So follow me down the cryptography rabbit hole and learn that no matter how paranoid you are, whoever came up with the methods to generate VPNs was even more so.
Raspberry Pi Model B: Plus everything that comes with it—by that, I mean a regular power source and a case to put it in. A case can help prevent accidental short-circuits that could permanently damage the machine—the case can even be as simple as a cardboard box you fold yourself.
SD card: I’m suggesting 8GB or more, just to make sure you have the space. As always for all Raspberry Pi projects, this should already have NOOBS installed.
Cat5e cable: This will connect the Pi’s ethernet port to the ethernet port on the router.
Open VPN: This is the open source VPN service we’ll be installing today.
2) You need a static IP address for the Raspberry Pi on your home network. This depends on the model of your router, so use the instructions provided by the router’s manufacturer. If you don’t already have this set up, read ReadWrite’s tutorial.
3) You’ll need SSH enabled. We’ll be connecting to the Raspberry Pi with SSH, a connection tool that lets us access the Pi from another computer. This way, we don’t need to set up the Pi to a monitor and wireless keyboard for this project. Once again, check ReadWrite’s tutorial.
4) You’ll need to forward port 1194 (UDP traffic) to your Raspberry Pi’s internal IP address, but the way you do this will vary depending on your router, so check with your router manufacturer’s information. If you want to use another port or TCP, that’s fine, but just be sure to change 1194 in the tutorial to the correct number for you, and anywhere it says “UDP” to “TCP.” You guessed it, there’s a ReadWrite tutorial for this, too.
You can tell we’re building off of some more basic Raspberry Pi concepts, which is why building a VPN with Raspberry Pi isn’t a good first project for most beginners.
A Quick Word Of Caution
I’ve pasted the actual code I used to complete this project, but when going back through the tutorial myself, I noticed that copying and pasting the code from the article onto the command line often results in errors due to spacing and formatting. If you are having a problem with any step of this tutorial, my first troubleshooting suggestion is to rewrite the command manually!
1) Boot up and change your password. If you’re still using the default username (pi) and password (raspberry), it makes the rest of this security project totally pointless!
Open up a terminal/PuTTY window and type:
Change the username and password to something strong and memorable (Microsoft offers some tips), otherwise why bother building a private network?
2) Now let’s be safe and update the Raspberry Pi. There are two commands you want to input:
sudo apt-get update
sudo apt-get upgrade
This shouldn’t take long, and it’ll save us a troubleshooting step later on.
3) Next we need the open source software. Type:
sudo apt-get install openvpn
The Raspberry Pi is going to ask if you’re sure, since it uses up a bit of space. But since we prepared by getting an 8GB or bigger SD card, we’re totally fine.
4) You don’t want anyone who finds your VPN server address to be able to connect. So next, we’re going to make a key for the server address. It’s just like keeping the door to your house locked.
OpenVPN comes with Easy_RSA, a light and easy package for using the RSA encryption method. Developed in 1977, RSA was one of the first usable cryptosystems that is still used today. The encryption key is public, while the decryption key is secret. If you’ve read anything about how Bitcoin works, this might sound a bit familiar.
With Easy_RSA, you run an algorithm that comes with the software to generate a new unique key.
So first, let’s give ourselves superuser privileges. You’ll know it’s working when the command line prompt switches from “pi@raspberrypi” to “root@raspberrypi.”
This command creates another instance of the window we’re working in, but with root privileges. The reason we need to do this is because if we don’t, the Raspberry Pi will try and tell us we don’t have permission to mess around with making keys.
So next, we type:
cp –r /usr/share/doc/openvpn/examples/easy-rsa/2.0 /etc/openvpn/easy-rsa
Here, “cp” stands for copy and “-r” stands for recursive (having to do with smaller instances, too). That means we’re telling the computer, “Copy this directory and everything underneath it.”
The space between /2.0 and /etc means we’re copying the first address (an example file) into the second folder, which is where you’ll tell OpenVPN to find your keys.
5) Next, we need to cd, or change directory, to the place we just moved the Easy_RSA file. Once there, we need to open the file /etc/openvpn/easy-rsa/vars for editing. We could do that by writing nano /etc/openvpn/easy-rsa/vars, but since we’re in the folder, there’s a shortcut:
Nano is a built-in editing tool on Raspbian, and while there are others out there for more tech-savvy people, we’re just going to use nano for all our text editing in this tutorial.
Now, find and change EASY_RSA variable to:
For me, it was on line 13.
Why make this change? Basically, you’re answering the computer’s question, “Where do you want the file to go to?” We want it to export to the same folder where we will keep our keys—in this case, the top level of the easy-rsa file tree.
There’s one extra thing you can do in vars if you’re paranoid about the Illuminati reading your email—change the encryption method from 1024-bit to 2048-bit. The document literally says, “increase this to 2048 if you are paranoid.”
But since that method makes keys take way longer to generate, we’re not doing it here. We’ll keep it looking like the text below:
Type Control+X to save your changes and exit the nano editor.
6) It’s time to build the CA Certificate and Root CA certificate.
In cryptography, a certificate authority (CA) is an entity that issues digital certificates. The digital certificate certifies the ownership of a public key.
You probably use this all the time and don’t even know it. For example, when I log into my bank account, I see an HTTPS in front of the address. If I click on the lock, I see that a company called GeoTrust verified my bank website’s legitimacy, so I know it’s not a phishing scam. (Of course, the recent Heartbleed bug revealed that HTTPS isn’t the security measure we all used to think it was.)
In the case of Raspberry Pi, I’m acting as my own certificate authority and signing off on the OpenVPN keys myself, instead of trusting it to a third party company.
Now that we’ve changed directories, type each of these lines one after another:
source ./vars → This “sources” or loads the vars document you edited earlier.
./clean-all → This will remove any previous keys, if there are any. If you have keys you don’t want to remove in this folder (like you’re doing this tutorial a second time), skip this command.
./build-ca → This final line builds your certificate authority.
After the third command, the Raspberry Pi is going to shoot back with a bunch of optional fields for you to fill out if you want to—Country Name, State or Province Name, Locality Name, Organization Name, Organizational Unit, Common Name, Name, and Email Address. If you don’t care to fill out these fields, just hit “enter” each instance to have the Pi fill in the default value. The screenshot below shows what that looks like:
Now you can name the server. I creatively named mine “Server.” Call it whatever you want, but don’t forget it:
Once again, the Pi is going to spit out some optional fields. Press enter or whatever you want, but pay attention to these three fields:
Common Name MUST be the server name you picked. It should default to this.
A challenge password? MUST be left blank.
Sign the certificate? [y/n] Obviously, you must type “y.”
You’ll get a message that says the certificate will be certified for 3,650 more days. So basically if you use your VPN long enough, you’ll have to do this process again in 10 years.
1 out of 1 certificate requests certified, commit? [y/n] Obviously, type “y.”
6) That’s the server side setup. Now it’s time to build keys for each user, or “client.” I have five keys at home—one for each computer, tablet, and cell phone in the house. It’s possible to be lazy and create just one client key for all of them, but in that case, only one device would be able to access the VPN at a time.
I found it simplest to make the usernames Client1, Client2, Client3…
And after that, more prompts!
Enter PEM pass phrase Make it a password you will remember! It asks you to input this twice, so there’s no danger of ruining it.
A challenge password? MUST be left blank.
Sign the certificate? [y/n] Signing certifies it for 10 more years.
openssl rsa -in Client1.key -des3 -out Client1.3des.key
The important takeaway from this string of text is that we’re using des3 encryption, in which a complex encryptionalgorithm that’s applied three times to each data block to keep hackers from breaking through it with brute force. OpenSSL stands for Secure Socket Layer, a standard open source method of setting up a secure connection. You need to perform this step for every client you set up.
Some argue this step is unnecessary, and that you could simply skip this line. But if you’re running OpenVPN Connect clients on Android or iOS, this needs to be done. Otherwise, current versions could have difficulty parsing the keys you just generated.
Enter pass phrase for Client1.key
Honestly, I just used the same passphrase as before. And then two more times, as shown.
Now that we’ve created a server certificate and (at least one) client certificate, type the following:
Either way, the computer will take you up one directory, back to /easy-rsa/.
7) Now let’s generate the Diffie-Hellman key exchange. This is the central code that makes your VPN server tick, an exchange that lets two entities with no prior knowledge of one another share secret keys over a public server. Like RSA, it’s one of the earliest cryptosystems out there.
This could take a while, longer if you’re on 2048-bit encryption. There’s no way really to predict how long it will take because it is using random numbers and looking for some specific relationships. In fact, while I was making this tutorial, it only took 5 minutes with 1024-bit encryption.
8) Finally, we’re going to implement OpenVPN’s build-in Denial of Service (DoS) attack protection. You might already know that a DoS attack is successful when a hacker finds out your server’s address, and generates such a large number of access requests that your server crashes.
OpenVPN has a way to prevent this kind of attack from occurring before it even starts by generating a static pre-shared hash-based message authentication code (HMAC) key. With this in place, the server won’t even entertain the idea of authenticating an access request unless it detects this static key first. Thus, a hacker can’t just spam the server with random repeated requests.
Generate the static HMAC key with the following line:
openvpn –-genkey –-secret keys/ta.key
Putting It All Together
9) We’ve generated keys and a Certificate Authority to sign them. What we’re still missing are the settings to tell OpenVPN how we want this server configured.
The OpenVPN program is already running. The problem is, it doesn’t know which keys to use, where you’re going to be connecting from, what kind of connection you’re building, or which IP address and port to use.
Since we’re using Linux on a Raspberry Pi, there’s no graphical user interface (GUI) for telling OpenVPN what it needs to know. That’s why we have to actually create a .conf (configuration) file in the nano editor off of the command line.
The reason we’re starting this address with /etc/openvpn is so it will end up in the openvpn folder. But for now, this file is completely blank. Fill it in with this. I commented in all caps where you absolutely need to change numbers and titles to your own IP address/names. Hit Control+X to save your changes.
10) Let’s quickly edit another configuration file. By default, Raspbian does not forward Internet traffic. We need to edit another file to allow the Pi to forward Internet traffic through our new network.
Near the top it says, “Uncomment the next line to enable packet forwarding for IPv4.” I’ve highlighted that part of the file in the screenshot below.
To uncomment the line, remove the # immediately in front of it. This is setting up the configuration so it knows to forward to IPv4. Now that you’ve uncommented this line, the Pi has permission to act as a relay on the Internet instead of just a receiver, by both sending and receiving packets.
Hit Control+X to save your changes. Apply these changes by typing the following command:
The sysctl command “configures kernel parameters at runtime.” The -p tells it to reload the file with the changes you just made.
11) We just made a functioning server that can access the Internet. But we can’t use it yet because Raspbian has a built-in firewall that will block incoming connections.
Raspbian has a firewall to protect your Raspberry Pi from unknown and unexpected Internet sources. We still want the firewall to protect us from most incoming and outgoing network traffic, but we need to poke an OpenVPN-shaped hole in the firewall.
Additionally, Raspbian’s firewall configuration resets by default when you reboot the Pi. We want to make sure it remembers the OpenVPN connection is always permitted, so what we’re going to do is create a simple script which runs on boot:
This is currently a blank shell executable file. Fill it with this:
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j SNAT --to-source 192.168.XX.X
Don’t forget to change the default IP address to your Pi’s IP address!
Let’s break this down: 10.8.0.0 is the default address for Raspberry Pi for clients that are connected to the VPN. “eth0″ stands for ethernet port. Switch this to “wlan0″ if you’re on a wireless connection, which is not recommended. Hit Control+X to save your changes.
As a safety measure, files you create are not executable by default, so we’ll need to change the permissions and ownership of /etc/firewall-openvpn-rules.sh. First we’ll change the mode to 700 (owner can read, write, and execute). Then, we’ll change the owner to root, in which “root” is Linux’s standard name for the superuser.
chmod 700 /etc/firewall-Openvpn-rules.sh
chown root /etc/firewall-Openvpn-rules.sh
12) We’ve created the script that punches an OpenVPN-shaped hole in the firewall. Now we just need to inject it into the interfaces setup code so it runs on boot.
Find the line that goes: “iface eth0 inet dhcp.” We want to add a line below it at an indent. So this is what the two lines, existing and new, will look like when you’re done:
iface eth0 inet dhcp
Hit Control+X to save your changes (as you should be doing whenever you use nano).
Finally, finally, finally: Reboot your Pi.
Congratulations! That’s the server! Again, it’s no good if you don’t have a client computer to connect with it, so remember the client names and keys you generated in step six, and then move onto Part Two of this tutorial to learn how to create an encrypted client side.
Raspberry Pi Model B photo by Tors. All other screenshots by Lauren Orsini. Illustration via ReadWrite.
View full post on ReadWrite
A decade ago, I had an incredible opportunity to work at an amazing organization called The Bradford Exchange. Most people have never heard of it, but it is the world’s leading direct marketer of limited-edition collectibles and jewelry. What made my experience at Bradford so incredible was their…
Please visit Search Engine Land for the full article.
If you want to impress your friends, try telling them you’re in the middle of “building an app.” A few billion dollar acquisitions have turned app-building from a nerdy hobby into an indication that if you can build one, you’re inevitably going places.
I built some HTML5 “apps” in an hour by blatantly plagiarizing the WinJS library’s prewritten code. That’s the beauty of open-source libraries—instead of starting from scratch, you shop around for solutions other developers have already written. Copying library scripts has taught me a lot about how apps work, and what I would need to do in order to make them my own. Here’s the first one, and here’s the second.
I’m just a journalist with an English degree, so what WinJS has taught me is that if you know which prewritten code components your app needs, you too can copy and paste your way to an app.
Here’s a tutorial for building your first WinjS app—even if you’re a complete beginner:
1. For the first seven steps, we need to actually install the WinJS library. If you do this kind of thing all the time, just read Microsoft’s own tutorial on GitHub. Otherwise, I’ve provided a highly detailed version, explaining why we’re doing each of these steps.
2. Open up Terminal or MS-DOS. In the command line, you’ll want to type a git command to make a local copy, or clone, of the WinJS Git repository:
git clone https://github.com/winjs/winjs.git
It’ll take a few seconds to clone, and it should look something like this when done:
3. When the command line is free, you’ll need to change to the directory where WinJS is actually stored:
If this doesn’t work, try the ls (list directory contents) command to make sure that “winjs” is one of the listed directories. If not, try the “cd ..” command to move up one directory higher.
In order to do this, we’re going to use npm, the free Node Package Manager. If you use Node.js, npm is essential for installing and managing Node programs. If you have Node, npm downloaded along with it.
Open a new command line window, make sure you are in your top directory, and type:
npm install -g grunt-cli
It’ll look a little something like this if it installs correctly:
(I had to use the super user privilege—the sudo command—to make this install, so try that if the installer warns you that you “don’t have permission” to install grunt. Ignore any warnings the command line gives you about using sudo.)
5. Now we’ve installed Grunt globally. But that doesn’t mean it works on every cloned repository you have on your computer. So to install it in the WinJS clone and type these two lines:
You’ll notice this Grunt install takes a lot longer and is installing a lot more components. Why? Because when you install it inside a repository, it isn’t necessarily connected to your global Grunt install. So the programmers made sure that if you push your WinJS clone whole, it will work regardless of whether npm installed the package locally on that machine.
Here’s what it will look like if it worked, complete with that green text I’m always happy to see:
7. Congratulations! You’ve built a local copy of the WinJS library on your machine. Now we can actually begin coding the app. Open up a text editor. I adore Smultron for Mac, but you can also use the built in TextEdit, or Notepad on a PC.
Create three blank documents that will become the heart of your new app. Save them all on the desktop of your computer for simplicity reasons.
8. Now we’re going to take a WinJS script in order to get started with how script borrowing works. Go to the WinJS preview site, select ListView on the lefthand column, and scroll down to Datasource Edits at the bottom. This is a pretty cool script that looks like the beginning of the code you’d need to write to build a Scrabble app.
See the JS, CSS, and HTML screens for this script? Copy and paste those directly into Index.html, YourName.css, and YourName.js. Save and close the CSS and JS files. We still have a bit of work to do on Index.html.
9. Let’s turn Index.html into a full Web page. Right now it’s just a division, or <div>.
All HTML works by “nesting” tags, or making sure that each opening tag has a respective closing tag. So we need to put everything into one HTML document:
And then we need to make sure the <div> section is inside the visible part of the Web page, also known as the body. So above the div and below it put:
Finally, we need to connect the JS and CSS pages to the Index. We’ll do that in the head of the document, so they load when the page loads, but don’t show up in the body. Below the <html> tag but above the <body> tag, put:
<link rel="stylesheet" href="YourName.css" type="text/css" />
Great! But in order for the script to show up, we need to call the WinJS library that we installed on our computer earlier. Remember when Grunt put a ton of things inside the /bin folder? We need to call some of those out now.
If you look inside the /bin folder, you’ll see Microsoft.Phone.WinJS2.1 and Microsoft.WinJS.2.1. We’re building a Web app only for this tutorial, so we only need the second. Click that and inside it you’ll see the /css and /js folders. Inside those are the relevant CSS and JS scripts that make the WinJS library scripts appear the way they do on the preview site.
I didn’t want to call scripts from all the way inside the /bin, so I pulled the /js and /css folders out and put them in the same directory as my Index.html file—my computer desktop. That way I only had to identify them as “js/FileINeed.js.” And then I called to them in the head of my document, which now looks like this:
<link rel="stylesheet" href="scrabble.css" type="text/css" />
<link rel="stylesheet" href="css/ui-dark.css" type="text/css" />
Here’s a GitHub Gist of what your entire Index.html page should look like now.
10. If you’ve done everything right, you should be able to click on Index.html and see your script running locally in a Web page! From here you can FTP it up to your server, like I did, in order to share it with your family and friends.
Now that you can make WinJS scripts functional, you’re well on your way to building your own original app. Come up with an idea, and mix and match the scripts in the WinJS library that you can put together to make that idea a reality.
View full post on ReadWrite
Secrets Of Successful Enterprise SEO Part III: Build A Business Case
Search Engine Land
So how do you bend an Enterprise to your will as an SEO? How do you get the tech team to pay attention to the SEO projects you bring to the table? Most importantly, how do you build a business case for SEO that adds to your credibility and trust within …
View full post on SEO – Google News
Nokia announced thre new Lumia devices at Microsoft Build 2014 today: The Lumia 930, Lumia 630 and Lumia 635.
The Nokia Lumia 930 is very similar to the Lumia Icon device, which launched in February exclusively on Verizon. The 930 will come in a variety of colors with a 5-inch, full HD display. It will have wireless charging, a 20-megapixel PureView camera with Carl Zeiss optics and a 2.2 GHz quad-core Snapdragon 800 processor—top-of-the-line hardware in comparison to other top end smartphones on the market right now.
The 930 will introduce a new feature for Nokia smartphones called “Living Images” that shows a snippet of video within a photo. Combined with the Nokia Story Teller app, users can create interesting slideshows that include both moving images and still photos.
The Lumia 630 is an update to the popular Lumia 520, one of the best selling cheap smartphones in many international markets. The 630 is a dual SIM device that can handle multiple SIM cards for international users who need to change carriers as they cross borders or for users who need both a personal and business phone number on the same device. The 630 is a 3G-only phone, while the 635 supports faster LTE wireless-data networks.
The 630 and 635 both feature a 1.2 GHz quad-core Snapdragon 600 processor, run Windows Phone 8.1 and will launch in Asia and India in May, and in the U.S. in July. Both the single and dual-SIM devices will be available for less than $200 without a two-year contract.
Nokia announced that Windows Phone 8 will be updated to Window Phone 8.1 in an over-the-air update coming this summer.
Top image: Stephen Elop at Build 2014 by Owen Thomas for ReadWrite
View full post on ReadWrite
Microsoft would like to reintroduce you … to Microsoft.
Microsoft kicks off its long-running Build developer conference in San Francisco this week, and it’s undoubtedly going to spend a lot of time reminding everyone of its “One Microsoft” message—its attempt to line up its various products and services into a single strategy that encompasses them all, from Windows and Windows Phone to Azure and the OneDrive cloud and Office 365.
The star of the show will be someone not named Bill or Steve. The ringmaster for Build 2014 will be Satya Nadella, the new Microsoft chief executive officer. Nadella will present the progress that Microsoft has made in streamlining its horizontal suite of products, bringing the desktop, mobile, productivity and the cloud together for both users and developers.
It’s going to be a good moment to take stock of Microsoft’s success in unifying its approach to computing.
Windows 8.1 And Possibly Windows 9 Preview
So what should we be looking for specifically from Microsoft this week? The key numbers to look will be “8.1” and “9.”
The primary news to come out of Build on Wednesday will have to do with Windows 8.1 and Windows Phone 8.1. Microsoft’s distinct-but-similar operating systems for PCs and smartphones are both slated for significant updates this week, with new features and functions for developers building apps for them.
Microsoft, which provided an outline of Windows 8.1 Update 1 in February, will undoubtedly take the opportunity to lay out its changes in greater detail. The update will offer interface improvements for mouse and keyboard users, such as a new app switcher and launcher for mouse users. Microsoft may also sketch out plans for making Windows 8.1 less of a resource hog, possibly allowing for Window 8.1 tablets and laptops with as little as 1GB of RAM and 16GB of storage.
For Windows Phone 8.1, look for big news on the personal assistant front. Cortana, Microsoft’s long-rumored answer to Apple’s Siri and Google Now, may finally get an introduction. The next Windows Phone 8.1—codenamed Blue—will also offer integrated VPN support, a new battery saving feature, an update to Internet Explorer 11 and an updated camera layout. For developers, a new diagnostics hub is on the horizon, as are updated debugging tools and more.
Microsoft will probably also show off an extremely early preview of Window 9, codenamed Threshold—but don’t expect it to say too much about the next OS.
New Nokia Lumia devices are almost assuredly coming as well. Nokia is holding an event on Wednesday afternoon to “discuss” new gadgets. Microsoft didn’t announce any new devices itself at Build 2013, but it did highlight a long list of hybrid Windows PC and hybrid tablets on stage with former CEO Steve Ballmer.
One App Store To Rule Them All
As for “One Microsoft,” the biggest announcement we’re likely to see at Build 2014 will be a “universal” app store that marries the Windows Store and the Windows Phone Marketplace. Microsoft has worked hard to unify the software kernel that powers Windows Phone, Windows RT and Windows 8 to simplify development of apps across its various operating-system flavors.
Now its goal is to showcase “universal apps” that are easier to design for both Windows and Windows Phone OSes, although Microsoft stops well short of promising full cross-compatibility.
As Microsoft’s Greg Sullivan, a senior product manager for Windows Phone, said in an interview with ReadWrite at Mobile World Congress in Barcelona:
The fact that we have built a common core we did that with Windows Phone 8 so now we have the same kernel and class systems and device driver and security and all the stuff under the hood is consistent. And we have a user experience that cuts across that range of devices. It is not identical, but it is consistent. We have cloud services that connect them all. We have an app (ecosystem) that needs to be more consistent and we are getting there and that is kind of what we will talk about at Build.
ReadWrite editor-in-chief Owen Thomas, mobile editor Dan Rowinski and enterprise reporter Anthony Myers will all be on scene at Build 2014 for all Windows 8, Azure and Windows Phone 8.1 news.
Enterprise Preview: Azure
On the corporate-computing side of things, Microsoft’s cloud service, Azure, is likely to take center stage. For starters, it’s getting a very One Microsoftian renaming—to Microsoft Azure from Windows Azure. Also, Nadella’s previous job was running Microsoft’s cloud and enterprise group, highlighting the importance of that business to the company.
Azure is a fast growing segment of Microsoft’s business, so much so that the company plans to add 14 new Azure data centers in 2014, Azure general manager Steven Martin recently told Business Cloud News. Martin said that demand for Azure “continues to double every six to nine months” and shows no sign of slowing.
Some Azure news is already out—on Monday, for instance, Microsoft slashed Azure pricing, following similar cuts at Amazon and Google. And at Nadella’s first public announcement, we learned about the launch of the company’s Enterprise Mobility Suite, a portion of which is called Azure Active Directory Premium. This lets businesses create online portals for employees to download apps for work, for example.
Microsoft is also due to spill some more details about new, designed-for-touch versions of the company’s Office productivity tools—essentially the Windows equivalent to its just announced Office for iPad. The “touch first” version of Office is due out later this year.
Less clear is what new Microsoft may announce from its Bing search engine. Last year, Microsoft showed off APIs that allow developers to build access to Bing’s underlying tools directly in their apps; perhaps more to the point, Microsoft started talking up Bing as an essential “knowledge” component of its approach to the Internet of Things—another area where the company needs its ducks in a row to really begin competing.
Image of Satya Nadella by Owen Thomas for ReadWrite
View full post on ReadWrite
Microsoft wants gamers build their own worlds—playable game worlds, in fact. Microsoft’s Project Spark, in open beta now for Windows 8 and the Xbox One, splices together a Minecraft-like sandbox with actual developer tools, enabling budding game makers to actually build a playable game from scratch with no technical know-how whatsoever.
In other words, everyone likes to build stuff. So let’s give everyone a shot, why don’t we?
Developed by Team Dakota and published by Microsoft Studios, Project Spark empowers anyone (with the right hardware) to weave the sprawling interactive video game of their dreams. It doesn’t matter if you’re 12 years old or if you’ve never written a line of code in your life. Pour your imagination into Project Spark and see what happens. Awesome.
Pinning Down Project Spark
So what is it exactly? Having spent a solid chunk of hours with the “game” on Xbox One, that’s still a little tricky to answer. According to an early post from the Xbox Blog:
“Project Spark” is an open-world digital canvas that enables anyone to build, play, and share whatever they can imagine. It’s a powerful, yet simple way to build and play your own worlds, stories and games. Share all of your creations to a dynamic community, and play what the community makes.
That definition is on, if a bit abstract. Rather than a game-within-a-game, Project Spark is sort of a game without a game. Much like Minecraft (and the ensuing tidal wave of Minecraft-inspired titles), Project Spark is about world building.
It’s an imaginative hybrid experience combining a traditional, more technical developer kit (think lines of code) with a graphical interface that plays like a game itself (think elves and goblins). The result is “user-friendly” but not by any means simple—unless you want it to be, of course.
Step One: Choose An Elf, Duh
Getting started with Project Spark—for the non-devs among us, anyway—begins with a fast-paced tutorial teaching you the basics of programming your very own little world. You’ll choose a character, a generic foresty-type elf in my case, and learn to build conditional rules to govern gameplay mechanics.
Framed as “when x, do y,” these conditions let you program your elf to shoot a fireball when you press the A button, for example. Anything you choose to place in your game world acts as a prop awaiting your command, which you issue down through a clever system called the “brain editor.”
It’s simple enough so that a kid (think age 10 and up) could get the hang of it—and complex enough to keep a budding game developer plenty busy. For programming n00bs, the act of opening up a thing’s brain and tinkering around is a perfect visual way to represent the conditional statements that make everything in the coding world tick.
Step Two: Whoa, I Think I Just Coded
Adding on more conditions to be met means these rule sets can gets a lot more complicated if you want them to. By the time I had placed objects in my world (a goblin, the elf, a tree, a flag), sculpted the terrain, SimCity-style, and strung together enough rules to make a very basic game, I’d barely dipped my toes in what Project Spark makes possible.
Yet I’d already learned enough to keep me busy for hours on end. Project Spark’s world isn’t infinitely configurable—it could add more visual styles or more choice of a fearless protagonist, say—but if you want to go deep, you certainly can. I don’t even know how deep, but I’d venture to guess “way.” And since it’s an online game, it can deepen considerably over time.
Flipping from the editor mode—wherein you build your world, populate it with props, program their “brains” and so on—to the test mode allows you to play the game you’ve made to see if it works. Content with my progress, I switched to the live test mode. My entire world was a tiny island with the sole objective of navigating the elf (my character) to a flag on top of a mountain. Okay, it was more of a hill.
When I’d finished up with that, the tutorial launched into how to craft a screen showing that you’d met the objective (mine said “yay”). Then it began showing me how to add timer elements into the mix, so that if my elf had dawdled, we might have failed to reach the flag in time and met an unspeakable demise of my choosing.
That’s when my own brain exploded: I’d just built a level. As a life-long gamer with no development skills to speak of, I felt things click into place—and it felt rad. Imagining a young gamer experiencing that same kind of gestalt is a powerful thing indeed.
Step 3: Build, Play, Build Deeper
Project Spark is more than a graphical game maker, it’s a community. Make something you’re proud of and other gamers can jump right in and play it. Naturally, you can return the favor, right from the app. There’s no talk of allowing developers to turn their hit Project Spark games into commercial properties, but it’s on the table in the future.
As Team Dakota’s studio manager Michael “Saxs” Persson told The Verge: “This is about the other 99 percent who just love games and want to have some fun creating and sharing, from kids with no experience and are just fooling around, all the way up to budding game creators.”
Beyond being a powerful educational platform for visual programming, Project Spark is a wise move to court the indie community on Microsoft’s part. Months before the launch of the PlayStation 4 and Xbox One, Sony was looking like a friendlier home to indie gameplay and development. Microsoft has made some major efforts to shift that image.
Diversifying The Playing Field
In an industry that looks like a meritocracy to anyone peering down from the top, it’s literally unimaginable to envision the experiences a more culturally, racially and gender-diverse body of creators could yield. Stoking interest in coding and spreading access to even casual programming tools is critical to technology’s much-needed infusion of diversity. Video games, Project Spark demonstrates, could prove extremely potent for the former.
Indie gaming’s meteoric rise, not-coincidentally concurrent with the explosion of the app as a distribution model, showed that the little guy can pack a punch if you give one a shot in the ring, or the App Store. Now experiments like Project Spark show how a new wave of imaginative, incognito, youth-friendly programming tools could democratize development skills themselves—and that’s a major 1up.
View full post on ReadWrite
When it comes to relationship-building content, there are four specific, evergreen content marketing activities that are perfectly suited to helping you connect with influencers in your niche: group interviews, best ofs, expert guides, and roundups.
View full post on Search Engine Watch – Latest