Sunday, 2 February 2014

Wahlin's "Web Weekly" at ng-conf

Dan Wahlin has published the four 'Wahlin's Web Weekly at ng-conf' video interviews I recorded a few weeks ago for him at ng-conf, the world's first conference dedicated to the AngularJS framework.

The ".NET Community Leaders" panel discussion with Jeremy Likness, John Papa and Ward Bell (as well as Dan himself) is the one I was most excited to record, and it exceeded my expectations. I really think it should be mandatory viewing for any Silverlight or ASP.NET MVC developer! My only regret is that we ran out of time and so didn't get around to discussing security. But there's lots of interesting stuff in this panel, and different takes on the best way forward with Angular and other helper libraries.

Below I've embedded the original YouTube videos that Dan has published.

If the arguments about Angular's advantages, especially for the Silverlight developer, made in the panel video don't convince you, I strongly recommend listening to this podcast (Jesse Liberty's 'Yet Another Podcast' series from earlier this week. This episode on Angular and Breeze is where Microsoft's Scott Hunter and John Galloway talk about future tooling for AngularJS.

At one point Scott Hunter, a team lead for Visual Studio, says that customers kept asking which SPA framework they should use with a Microsoft back end and that Microsoft avoided an answer - until now, when they're recommending AngularJS! He also talks about the tooling that's being added to Visual Studio to make Angular 'a first class citizen'.

Watch the panel discussion and give the podcast a listen. You might be surprised by what you learn!

If you're wondering why there's a couple of jump-cuts in the panel discussion, the first one is because the DSLR I used to record the discussion automatically shuts down after 30 minutes and stops recording (it's to avoid paying higher taxes on camera equipment that can record video - with an arbitrary limit set for Europe) so I had to go back and ask Jeremy to re-start his comments. The second jump-cut towards the end one is because Brad Green, interviewed in a separate video, knocked on the door while we were recording, so we had to stop recording to let him in.

And if you're wondering why there's a bit of corpsing from Dan and Ari going on halfway through Ari Lerner's interview, it's because John Lindquist arrived for his interview and knocked on the door mid-interview and I crept out from behind the camera on all fours to go and answer the door without appearing on camera. I don't know how Dan and Ari managed to keep mostly straight faces as I suddenly started crawling around on the floor in front of them!

Most of the interviews have an 'out-take' after the end titles sequence ;-) and if you're wondering why the zoom bits are so jerky and messy it's because the videos were filmed with a DSLR which lacks auto-focus and motorized zoom. Hopefully it doesn't spoil things too much.

Saturday, 18 January 2014

ng-conf - It's a Wrap!

I started to write a long blog post about the last day of the conference, but with a flight back to the UK early tomorrow, and a bunch of video title editing work still to be done before I leave, I didn't have time to finish it, and you probably don't have time to read it anyway!

In brief, it's been an awesome (I know! I know! That word is ridiculously over-used) conference. The phrase 'passionate community' is the last resort of a lazy marketing department wanting to create smoke and mirrors around their own inadequacies, but I've seen it in evidence for real here each and every hour of every day. The conference, and indeed AngularJS itself, is a testament to what passionate community can achieve when it's real and not just a cut-and-paste marketing cliche.

Bottom line: If I was enthusiastic about AngularJS before the conference, I'm even more enthusiastic about it now. The commitment, hard work, passion and focussed determination to succeed and do the best job possible from all those around me is quite intoxicating.

After several third rate, over-priced, poor value Microsoft conferences that meant I assumed my conference days were over, this one has come as a very pleasant surprise, and it's astonishing to think that this is the first conference the organisers (all volunteers) have put together for the developer community. They've done themselves and all their attendees proud. We really couldn't have asked for more!

I really can't find anything to criticise (Long time readers will know how hard that must be for me
;-))

In summary...

  • The hotel has been superb and great value-for-money.
  • The sponsors have been generous, friendly, helpful and not at all pushy.
  • The organisation has been excellent.
  • The speakers have universally been excellent, as have the topics chosen for them to present.
  • The swag, the party, the vibe... all brilliant!

Judging from the conversations I've had over the last few days, I'd say the vast majority of attendees hail from the Java rather than the Microsoft .NET world. I've seen resistance to do anything other than cling to the sinking 'Windows Store' ship amongst friends who can't face yet another huge learning curve after years of huge learning curves from one failed 'strategic' product after another at Microsoft.

That resistance is a great shame because there's a lot in Angular that will just feel natural or right to those .NET developers (particularly Silverlight developers) happy to make the leap and understand the myth vs the reality of that 'toy' language JavaScript!

It's a more awesome language than you (or I) probably realised, with a fantastically supportive community, and an elegant, powerful, productivity enhancing framework called AngularJS to boot!

I decided to bring my DSLR, pro lens and audio recorder over here, and rented a tripod (from the wonderful folk at PictureLine, just around the corner from the hotel) hoping to get a video of a panel discussion with some of the .NET thought leaders, who I knew were attending, on the whole Silverlight fallout story, and the correct way to approach Angular if you're from that world, particularly for those of us having to work with large enterprises building large apps.

Thanks to Dan Wahlin that panel discussion happened, with developers I've long admired, like Jeremy Likness, John Papa, Ward Bell and Dan Wahlin himself engaging in honest, thoughtful, open debate in a discussion that went on for an hour, but could easily have gone on for several hours more.

It was a privilege to listen to (and video) these guys talking for an hour yesterday, and I can't wait for people to hear and see the results themselves when Dan publishes the results after I've edited them for him on my return to the UK.

As well as that panel discussion, I got to witness Dan talking with AngularJS team lead Brad Green (Google's AngularJS team manager), John Lindquist (founder of Egghead.io and full time employee at JetBrains) and Ari Lerner (author of ng-book and co-founder of ng-newsletter).

Having seen a rough cut of his first video panel with Brad, John and Ward, Dan says he's 'excited' to see these videos published, and I am too (although, unfortunately, it's unlikely to be before the end of next week given current travel and work schedules).

ng-conf 2014 may be physically over for now, but the repercussions of meetings and events that happened here will be ongoing for months to come.

Forthcoming Web Weekly video podcast from Dan Wahlin features an ng-conf panel discussion with Brad Green, John Papa and Ward Bell

Thank you Joe Eames and your team of organisers for having the dream of putting on this event and exceeding all expectations. Thank you Dan Wahlin for your constant enthusiasm, encouragement and support. Thank you to the AngularJS development team who inspired everyone with their framework, and continue to inspire everyone with their determination to do the right thing and engage with developers. Thank you to all the new friends I made this trip.

In his talk with Dan, John and Ward, Brad dropped the tantalising suggestion that the next ng-conf should be held in Europe or Asia. Fingers crossed, but even if it's not held somewhere closer to home than Salt Lake City, I'll try and be there. You should too!

Friday, 17 January 2014

NgConf - Day 2 Start Update

Ngconf officially kicked off yesterday, and has been pretty manic.

I managed to get a quick 'teaser' video edited and up covering the Angular Bootcamp pre-conference workshop day with John Lindquist yesterday over on my Vimeo Ngconf Channel but little else.

If you want to get a feel for what we learnt at the conference's first day (yesterday) I recommend reading Jeremy Likness' blog post on the subject which is far better than anything I would have written.

Angular JS Utah Meetup Group

On Tuesday, thanks to the kindness of strangers (Rob Stinogle - thanks Rob!) I attended the local Utah Angular JS Meetup group, held approximately 30 miles from the hotel. It was a very well organised user group held on AtTask premises which were impressive to say the least.

The two talks on "Angular Gotchas" and "Directives for dynamic Angular Forms" reinforced a common theme that's come up when talking to other Angular developers over the last few days here at the conference: a little knowledge can be a dangerous thing, and there's a lot of 'blind leading the blind' going on (myself included in that group, although hopefully I'm a lot wiser on that front than I was this time last year!)

Utah seems to have a very vibrant user community here, and I'm jealous. All the big tech companies are here and actively recruiting Angular developers - demand is way higher than supply. The AngularJS Meetup group organiser (Matt) who works at AtTask, told me they (Utah) have five JavaScript focussed meetup groups so that it's possible to attend one user group meeting every week.

AngularJS Bootcamp Day

The challenge for Angular folk is to understand best practices (a Best Practices doc has been promised from the Angular team for some time but there's still no concrete date and of course 'best practices' are changing the same way Angular is changing all the time anyway). Unfortunately, not everyone has access to the Pluralsight course that covers a lot of this stuff in an easy to understand way, and the difficulty of putting that document together is perhaps demonstrated in Joe Eames course where examples sometimes contradict advice given just a few minutes earlier anyway. There are a lot of opinions that don't necessarily gel when it comes to things like how to structure your code, whether lazy loading is a good thing given the current state of Angular etc etc

The AngularJS Bootcamp pre-conference 'training' session from John Lindquist who works full time for JetBrains but out of hours runs Egghead.io, was excellent. As expected (and hoped for on my part), the majority of attendees appeared to be fairly seasoned developers, rather than complete beginners which the originally advertised course was aimed at, which meant that there were some great discussions around some of the basic things new Angular developers struggle with.

I thought John's comment about using just the HTML to judge the 'quality' of any Angular app he's asked to look at, not even going near the JavaScript, was a good reminder to all of us of the original design goals of Angular (developed to help designers rather than developers perse) and getting your head around the different approach and 'the Angular way' that so many here are talking about, but don't necessarily appear to have fully grasped.

John's advice re directives - to just dive in and write them even if you were pretty sure you wouldn't use them for any particular scenario, just as a way to avoid being afraid of them - was an excellent one, although as the "Dynamic Forms" talk at the user group demonstrated, you need to understand Angular thoroughly if you're going to avoid writing lots of code in directives to perform functionality that's already there without the need for any new code!

Angular documentation gets a lot of flack for being the reason the learning curve is so hard, but it has recently been updated and as Angular creator Misko Hevery said at a Q&A panel at the end of the first day, there are two problems with the documentation, but one of them is people not reading it.

Compared to the situation a year ago, life is much easier for the Angular developer now that we have excellent resources like the free Egghead.io videos (they were around a year ago, but nowhere near as many of them as now), and a whole raft of new books, including ng-book which looks to be excellent, as well as a whole raft of excellent Pluralsight online training courses presented by a whole bunch of folk far cleverer than me.

This is a Hasty Blog Post!

I'm typing this blog post in the main ballroom as the second day of the conference is about to kick in, after attending a Firebase 'office hours' session which started at 7.30am, and with a bunch of hack talks that are scheduled to run through to 10pm tonight (despite this being the last day of the conference) it's unlikely I'll get a chance to update this blog until after I return to the UK.

For me that's a positive thing that shows there's no 'flab' in the conference schedule. Ngconf has been excellent, and a huge improvement on the last couple of Microsoft conferences I attended. The enthusiasm here for the basic technology is genuine, as opposed to artificially injected by a large marketing team giving away 'free' hardware along with the endless marketing pitches on 'strategic' technologies they've just thought up, sometimes only a few days beforehand (yes, that's a dig at the PDC WPF/E, which later got renamed to Silverlight, annoucements. Silverlight has been the subject of a ton of jokes here, despite the overwhelmingly Java-oriented rather than .NET-oriented attendee crowd)

The single track approach, which I was initially disappointed with when it was announced, has worked incredibly well just because every session has been interesting and the organisers have clearly picked the best speakers and the best topics. The fact that the main room has people assembled ready for a 9am formal kickoff speaks volumes about the passion the developer community has for Angular and its keen interest in what's to come.

Monday, 13 January 2014

ng-conf Trip - Day 1

Ian at Ng-Conf, Salt Lake City, 13th January 2013

DISCLAIMER: This blog entry was written by a Brit, new to this part of the USA, and still recovering from jet lag. As such, some of the advice may turn out to be rather naïve. However if you're new to Salt Lake City and about to head out to ng-conf it hopefully contains some useful information.

If you have no interest in ng-conf - the world's first Angular conference in Salt Lake City, Utah, USA - you may want to unsubscribe from this blog for the next couple of weeks as it's likely to get quite 'noisy' in here. The conference doesn't officially kick off until Thursday, but there's an egghead.io training workshop on Wednesday, and I'm going to be conducting (depending on availability of participants) video interviews with various bloggers and organisers which I'll be publishing here on this blog over the next couple of weeks.

But first, with so many folks starting to head out over the next day or two, a few quick 'lessons learnt' from the last 24 hours for those who, like me, are new to this part of the world, or just maybe curious about the conference hotel and Salt Lake City.

About the Weather

Weather Warning! (click for larger version)

It's much warmer than I was expecting. There is snow on the ground, and there were a few flakes this morning, but the snow is definitely thawing, and by mid-afternoon the sun came out, blue skies appeared and I found it so warm I stripped down to a t-shirt. The forecast for the rest of the week is blue skies and sun :-)

Weather Forecast for the next 5 days - sunny!

Even this morning when it was grey and cold I saw folks in shorts and thin shirts. Certainly it was warm enough that the gloves I bought with me weren't needed and are likely going to waste.

Getting to the Conference Hotel

The conference hotel is about 8 miles from Salt Lake City airport, but the hotel does not run a courtesy shuttle service. Their web site recommends taking a taxi which they say should cost USD20. If my experience is typical this is more likely to be USD25 once you factor in a tip (which you should). The journey will take about 20 minutes - not because the roads are busy or congested (quite the opposite) but because the taxi drivers seem to drive very slowly over here.

To save money you may prefer to take the 'trax' (a tram/train system operating from the airport to right outside the hotel). See below for more information on how this works.

About the Hotel

From the outside, the official conference hotel - the Little America Hotel - doesn't look very impressive, especially when contrasted with its 'big brother' the Grand America Hotel which is directly opposite, just across the road. However, external appearances can be extremely deceptive!

Unimpressive Hotel Façade (click for larger version)

But don't just take my word for it - here's what the visitor's assistant at the official Salt Lake City information centre had to say about the hotel: "I always recommend people to stay there. I should probably recommend one or two others as well, but I recommend it because they're over-the-top about excellent customer service " I have to say I have been most impressed with the customer service, the value for money (free high-speed broadband and wi-fi, huge rooms, two bathroom areas, basic like iron and coffee making machine etc) and think the organisers have made a great choice, at least when choosing a venue for attendees to stay. I guess we'll find out about the conference rooms later in the week, but initial signs are very encouraging!

The Hotel's main reception area (click for larger version)

So, despite the rather uninspiring exterior, the interior is lavish to say the least. It reminds me of the best hotel I stayed at in Cologne, Germany when I worked there for six months - more like a small palace than a hotel. Except that unlike Cologne all the fixtures and fittings are modern and this conference hotel doesn't have that slightly run down feel that the Cologne hotel had.

Assuming my room is typical (I'm pretty sure it is as I went for the cheapest option available) the rooms are huge, with generous bathroom suites, a large bed area and then a separate office/seating area.

My hotel room - or rather, rooms! (click for larger version)

My room is on the 14th floor and has some great views of the city, as you can see below.

View from my hotel room at night (click for larger version) View from my hotel room in the early morning (click for larger version)

Apparently the hotel was owned by a self-made man (he sadly passed away last year) who started off as a petrol pump assistant and hit upon the idea of providing a stop-over for truckers who he felt deserved the very best customer service and facilities available. He and his wife travelled across Europe picking up furniture and fittings for the hotel, and I have to say I think it's impeccably decorated. The forecourt at night, looks stunning with magical 'ice lighting' around all the trees.

An excellent restaurant serves great cold and hot buffet breakfasts (will cost you around USD20 with tip but seems to include as much as you want of everything you want), and there's a coffee shop and then a general meeting area with a huge log fire blazing away. It's homely but palatial at the same time.

Seating area near reception (click for larger version)

Getting Around the City

The downtown area in which the hotel is situated is compact enough to walk around. However, if you get tired of walking the Trax (tram) system can be used, and is free within the main downtown area. You need to be careful you don't stray outside the 'free' area to avoid fines though (the airport is well outside the free area). Trax consists of three main lines called Red, Blue and Green. Green eventually takes you to the airport, Red to the University, and Blue to Salt Lake City Central. The conference hotel is right opposite the Courthouse (450 Main Street) stop which is on all three lines, making it easy to find regardless of where you get onto the Trax system. If you decide to use Trax instead of a taxi to travel from the airport the Green line runs every 15 minutes on weekdays at 12, 27, 42 and 57 minutes past each hour. The hotel stop is the tenth on the route and the journey time is officially 24 minutes.

The Courthouse 450 Main Street Trax stop is right next to the hotel (click for larger version)

If you prefer to drive then you will love Salt Lake City because, unlike other cities around the world, it is not congested. Traffic flows freely even in the downtown area, and parking is plentiful. The area has seven blocks to the mile, as opposed to the ten blocks to the mile usually found in cities like this.

Maps

The Official Visitor's Guide states that "You really don't need your GPS in Salt Lake City. The city is built on a grid and there's public transport everywhere." While this is true and makes finding places really easy, I recommend picking up a map of the area to get the best out of exploring 'the grid'.

There is an Official Map available for free from The Visitor's Centre. The Centre should be your first port of call, not just for the free map but also for the excellent Official Visitor's Guide - a free book which covers not just the downtown area, but also the different ski resorts. You can find it on West Temple just below South Temple and it's about 10 minutes walk from the hotel or just a hundred yards or so from the Temple stop using the Trax tram system. The staff are friendly and helpful, and there's an attached shop which sells tourist t-shirts and gifts if you want a souvenir of your trip. If you want value-for-money you can also buy a 24 hour pass to the 'Top 11 attractions' which offers a discount equivalent to somewhere between 40% and 80% on the usual entrance prices.

The Visitor Centre - a must visit if you have want to explore Salt Lake City (click for larger version)

So far as maps go, I preferred the map available from the concierge at the conference hotel (the concierge is in a small room immediately to the left of the main reception/check-in area). This map has been laid out in graphics software, but unlike the official map it names all the key stores/places of interest in place on the map, instead of just a select few. It also highlights very clearly the 'free' areas of the Trax system and the areas where it becomes payable. It's printed on a sheet of A4 and my copy is already worn out from over-use.

Areas of Interest

The main areas of interest/tourist attractions are well highlighted in the official guides, and easy to find just by exploring the immediate vicinity of the hotel. These include the zoo, the planetarium, the IMAX, a seemingly never-ending series of eateries and hotels, and several large malls selling, for the most part, what I can only describe as 'luxury goods'.

Barnes and Noble book store in one of the more luxurious shopping malls (click for larger version)

Personally I found the outer lying edges of what is shown on most of the maps most interesting. On the left-hand edge, mere yards from the IMAX and planetarium, the area becomes much more 'urban' - with rundown buildings and graffiti everywhere, and large groups of homeless people congregating around charity venues that offer meals and accommodation. You'll also find grungy music venues like 'The Verge' (which I'm hoping to visit tomorrow night) here. To the South you'll find the more interesting and less 'This could be a store in any mall in the country' stores, like 'The House of Guitars' or 'PictureLine' (photograph equipment for hire and sale) or the classic car museums.

Barnes and Noble book store in one of the more luxurious shopping malls (click for larger version)

Can You Spare Any Change?

The only thing I haven't liked here has been the continual begging from the homeless. In one hour's walking I must have had more than a dozen 'Can you spare any change?' requests. In one case I had to listen to the most tedious, infantile 'rap' from a stranger who seemed to think this constituted 'entertainment' that was worthy of the price of a ticket. Unlike other dense population areas, the beggars are clean and not the worse for drink. They are also very polite. But the continual pestering becomes annoying very quickly. It seems bizarre in a city with so much wide open space and luxury on display to encounter so many of the less well off of society in these very up-market areas.

Pioneer Park - an open space in the city (click for larger version)

Video Reports

Tomorrow (the last day before the conference workshop kicks off) I'll be exploring the area more, and producing my first 'video report' on the area, which I'll post here. In the meantime if you're coming to ng-conf and have any burning questions, feel free to ask in the Comments section below. Happy travels!

The outer edges of downtown have some of the more interesting sights and views (click for larger version)