|The Rig||Surface Pro 2 128GB
External HDMI Dell 16:9 monitor
Microsoft Softcurve 4000 wired keyboard
Loigitech cheap and nasty wired mouse
|Athlon X2 64 2.8Ghz
Geforce GTS 5800 512MB
Creative X-Fi PCI
Sony 24” 16:10 monitor ( can also use Dell above as 2nd monitor )
Microsoft Softcurve 2000 wired keyboard
|Mac Mini Mid 2010
Monitor, keyboard and mouse as with the SP2
iPad 3 ios 7
iPad 1 ios 5.1
Visual Studio 2013 Enterprise Edition
|Windows 7 32 bit
Visual Studio 2008 Professional
I thought I would HATE 8.1 really really hate it. I’m a Win + R to launch a Program kinda guy, I like Windows the way it is, and I hate OSX as a slow useless pretty but underpowered OS. I heard the horror stories of 8, the hover areas to do stuff, the hiding of the desktop….
8.1 Fixes a fair amount of those horror stores and I LOVE it, my friend who was also antsy about 8.1 also really likes it, it has been winning people over. They have fixed a few bug bears from 7, I really like the “tile” selection and once we get programs that are designed for 8.1 for people who know how to use 8.1 I think we will start to see some pretty programs. I know pretty programs on a windows machine what has the world come too..
There has been talk about how touch will kill the mouse, we can finally get rid of it. Having used an iPad since they came out and a DS since they came out, I was in ZERO rush to lose the mouse. Touch will not replace a mouse, it’s to imprecise and cumbersome, it’s ok for flipping through a book or photos. But once you get on to doing something serious, like editing and selecting text, picking items or following links on a website it fails. The DS uses buttons because they are just better. Even something like Bejewelled on iOS had to do a best guess as to what you want to do…
Enter the Pen, using the pen on the surface is a delight, simple, fast, precise, pinpoint accurate and natural. Years of typing whist holding a pen to jot things down has taught me to be able to type and hold a pen at the same time, so there is no pick up, put down. This plus the 1:1 hand-eye-coordination, removes the time lost in moving from keyboard to mouse, find the cursor and then move it to where you want. Also best most pointless feature, the pen has a mechanical pencil like advance press on the end of it, that serves no purpose at all, it’s not detectable able, you can’t use it to select or erase things, it’s just something to press in and out with a click sound…. and it’s fun to do!
Windows 8.1 makes a lot of sense once you figure it out and has what Apple termed “Edge to edge” design, to access all the menus you start swiping outside one of the edges, well if you are on the tablet and not on your desktop monitor…. This is the big 8.1 gripe, it’s really for touch screens, when you use it on a non touch screen it’s a bit clunky, usable, with some extra benefits, but clunky.
When used with a Touch and a Normal it really does shine. MS years ago when they first showed it said this was the indented use for it, and I was one of the first people to say that it was a joke of an idea. But look around you, replace your netbook, ubur thin laptop and your ipad with one of these and there you are. Dock it at your desk and away you go, with touch and normal. As much as I hate it, it is the future.
It’s snappy, its fast, just because it’s small doesn’t cost it in punch, the SSD allows it to be faster than my Win 7 Desktop ( which is running an 8 year old CPU, so it should ). It’s much faster to do things in Win 7 than OSX ( 95% of the time ) so Win 8 floors it too. Arranging windows in Win 8 when you have Metro and Desktop mixed is a bit more work than arraigning windows in 7 but still miles easier than the constant shuffle the cards that is OSX.
THANK THE GODS FOR THE DARK SKIN! On the small screen of the Pro 10.5”( 1366 x 768 ) it’s not comfortable, to many small buttons, menu, tables, options.. it’s too cluttered to be really practical.. it works, you can use it, the pen helps. But for long term coding you would want a bigger screen. So not the ideal Cafe Coder experience, but it would still be easier and nicer to the Cafe staff than having your Laptop + testing device, as it is all in one, less table space.
The 2 screen workflow.
This is king! You have VS up on the big screen and you can then edit and interact with your app on the touch screen ( a setup VS will automatically detect and execute ) while seeing the debugger in real time. This is like running XCode connected to the iPad. Except better…
1.) There is no app package and transfer time. You are on the device, you just incremental compile and run, it loads and pulls all assets live from the HDD, since it’s the same HDD there is no copy time. This make cycle times MUCH shorter. There is also another feature which mitigates a lot of this anyway in VS but more on that latter.
2.) Debug keys are awesome, if you have only dev’d for iOS you probably don’t know this, they are. Since you have full windows you have full keyboard support, or controller if you want to. You know those bugs on the 4th screen after you open the app, select something, enter some details, make another choice press a button.. wouldn’t it be nice if on the first screen you could just press F3 and just jump straight to the screen… you can.
3.) Assets live load, so you can just edit the image and save then make the app reload the image, no need to restart the app. All that time spent doing a tweak, save, compile, wait for app to install, load, get to the screen I want to see it on, it didn’t notice I changed the asset, clean, full compile, wait for app to install, get to the screen I want to see it on, no quit, rinse repeat GONE.
4.) You can run ALL of your dev tools on the device. How will this image look on the screen, draw it on the screen, it runs your image editor, vector program etc. Can I touch this button easily, you are on the screen press it and see right now. Are you a UX person, do you use Axure to do wireframe prototypes and test the UI in, want to test it on the final form factor, SP 1 & 2 run Axure, with live testing, you don’t even need to buy it again, you can just install the one you have now.
5.) Edit and Continue. If you are like me, you make a bunch of macros which define all you constants as static const on release and just static on debug. This way you can set a breakpoint in LLBD, it really needs to be in the file otherwise it will give you ‘not in context error’ msgs even though they are static and then you can use the debugger to prod the consents, run , test, go again. Once happy jot the values down… stop the app, edit the values in the code file and get on with the next step. Edit and continue makes this go away. Pause the app ( just hit the button doesn’t matter where it stops ), edit the code, hit F5 repeat until happy, that is it.
6.) LINQ data sources are Voodoo.
7.) It’s windows so you get all the windows management plus Snapping to make using multiple programs at once easier. You can even have 2 desktops snapped in different sizes on the 2 different screens.
8.) app sharing.. Yes the client will need to open a CMD prompt the first time.. this is a lot easier to explain than how to get a UDID. And I’m sure it’s something I could put into a BAT file for them. Then I export the app, drop it to them in skype. They download double click, install and use. I have done a change and updated the client in 3 mins. I would have still be waiting for the testflight app to see my new archive on my mac. The “oh hey can we get this on Blah blahs PC, I want them to see it.” Sure send the CMD instructions and the app.. 5 mins latter blah blah has the app to test. No UDID back and forth, no provisioning profiles, no certificates, no websites…
9.) the editor has visual and TEXT editing. XAML is a text file as well, so you can cut and paste areas of it, from one file to the next, duplicate rows and areas on the same screen, add it to your snippets. Or find in answers on the web. No more well I made a button, then I put a view next to it and made it X,Y then I right clicked it and dragged the line from this to that, then I move the button to here then I did this and then… Just here is the XAML copy paste it into yours and you can see exactly how it is set up.
10.) You know how I said XAML is a text file, one that a human can edit and read.. well that means you can MERGE them… No more two people need to edit a nib or worse still a storyboard object ( having it so only one person can edit the whole UI at once is a big reason ( not the only ) I have abandoned storyboards ) what do we do, well person A goes first then lets person B know, so they can sync. GONE both edit both check in, one just mergers an easy to read text file.
It’s not all Roses…
1.) Windows App Store is new tech to MS, and it has new systems and new limits.. This means MS documentation ( which blows Apples we made a doc 4 years ago and it only gives you a list of what you can call out of the water ) can get difficult to find for the exact right case. XAML Siverlight VS XAML Windows VS XAML Windows App Store then you also want the XAML C#/C++ or the XAML JS version and not the Windows App Store Phone versions either. The good thing is ALL version are there and everything is in all the languages, just when you do a web search you have to be careful to get the RIGHT one. The other good news MS NOW FINALLY got 1 app 1 tech for ALL platforms making the Windows Store Desktop/Phone at thing of the past. Once you find the right area you will fine. Also you will not be reading how to do things on Stack Overflow anymore… like I know the Audio Recorder says you can use the MP3 format flag but it’s not supported. UIView animations with Blocks are awesome unless you want to change the background colour of a UILabel that is not supported, no it’s not in the docs.
2.) The XAML editor is new and is not up to snuff. For starters I expect a gamut of align and spacing options, I want to select 3 things and evenly space them out with the click of a button. VS 2013 hasn’t quite hit the touch screen world yet, it’s still in the desktop world. On Win 7 there is no button to do that, and I don’t care. I would never use it. Win 8 I want it, it’s a MUST have. I hope they add it in a service pack, I don’t want to have to wait till VS 2014/5 for it…
3.) There are no Ray Wenderlich for Windows yet, so if you are not a coder but a Google copypasta you are going to be sitting in a dry empty desert with no well to drink from.
When developing for hardware it’s always nice to be able to dev on more powerful hardware. When making something for a Commodore 64, were you have to make and run the app in the 64K , it’s a pain, you compile for Disk or worst Tape ( that’s a 30 mins assemble ) So as soon as the A500 hit the scene, cables were soldered dev was moved. Assemble and edit with the A500s bigger disks, 1M of RAM. SNES compile on the Amiga, them the PC. Making a PC game, you have your super powerful PC to work on and a standard PC to run on. The Surface Pro is the next step up from the iPad. It gives you the form, the fell of the iPad but lets you develop faster and easier. Due to it having more power, better tools and better workflow. A SP2 + Dock + Monitor < Mac + iPad + Monitor, so your hardware costs are down, your productivity is up. Once you have a completed app, which you can also sell and get early feedback on while you do a down port to iOS with a Mac. If only Apple would relent and we could make iOS from VS, it compiles ARM after all.