Day 2 of the conference started with a "keynote" session, which was essentially the draw for a couple of competitions. Numbers looked about the same as the previous day.
The conference then split into tracks again and I chose Lee Chuk-Munn's "Building Great Games for the Mobile World". I haven't done a lot of thinking about game development in general and I've done even less about game development for mobile devices, so the introductory 30 minutes were really fascinating and applied to game development on phones regardless of the OS. The general thrust was that it's a mistake to just try to recreate/port a game from PC or console to a phone. Phones have distinct characteristics that make the user experience very different.
On the down side:
On the up side:
Other things to take into consideration are:
The session then started diving into screen shots of code for the second half. I really would have liked this to have been done live, or at least with some demos because staring at Courier New on the PowerPoint slides gets a little boring . There was also no discussion of emulators or of deployment.
One really interesting idea presented at the end was of different devices connecting to the same game server and providing a different experience for the same game. The example given was an online FPS where a mate of yours needs help in a situation and he contacts you. You're off-line but you've got your phone. You connect to the server via the mobile and you're presented with, perhaps, a scope view only so you can do some sniping. We've been talking about this for some time in enterprise apps, but I, at least, hadn't made the leap to gaming. Very cool.
This afternoon was spent on some more detailed presentations (and yes Nick, my badge does say Microsoft).
First up was a session on performance tuning GlassFish - Sun's next version of their Application Server. Tom Daley presented this to about 40 people (there were two tracks running by this stage). Tom obviously knows the ins and outs of both the App server and the various databases to which he connects it. It was interesting to see how much effort Tom (and other speakers) put into not mentioning the word Microsoft, for example when listing members of TPC. I have to admit that a lot of this session went over my head, but I'm sure that'd be the same if someone like David Lean gave a similarly themed talk on tuning SQL Server. The bottom line that I took away from this presentation was that when you do tuning, consider the whole stack. the other useful tidbit I picked up was that Solaris has disk write caching turned off by default.
Next up was Lee Chuck-Munn (LCM) on Interoperability using Advanced Web Services. This was also in track 2, but a heap of people came in from the other track to pretty much double the numbers from Tom's session.
One of the big advances in JSE5 (and JEE5) is the addition of the concept of annotations. This means that instead of writing a huge amount of code to expose a class as a web service, one merely now needs to import a namespace, decorate the class with the annotation @WebService and the methods with the annotation @WebMethod. Both of these annotations can take parameters so you've got much more granular control over what's actually emitted. The compiler then adds the code to do the heavy lifting. Astute readers will recognise this pattern from elsewhere . It still seems like the tool support is not quite complete for this, there are a number of manual steps that need to be taken before the web service is deployed.
@WebService
@WebMethod
Some cool things about this session were
The final session of the day was a 90 minute marathon by Doris Chen on JavaServer Faces and Java Studio Creator. The theme for this session and the parallel one (on Windows Client Development) was "Code Camp", but I have to say it wasn't much like the CodeCamp I know. There wasn't even a demo for the first hour. Tough going at the end of the day.
Having said that, there's some nice bits in JSF, and the Creator tool is very nice indeed. The basic premise of JSF is Model-View-Controller and it allows you to mark up a page - ASP.NET-style - and have server-side actions taken. This means that you can emit different markup based on things like browser capabilities etc. The IDE is very nice. Looks a lot like VS and has some of the same capabilities, including drag-n-drop data binding.
All-in-all a good day. I've had a couple of polite enquiries from attendees about what I'm doing there, but I haven't yet had to ask myself the same thing. Looking forward to tomorrow's sessions.
I'm spending today and tomorrow at the Sun Developers conference here in Sydney. It's really interesting to see where Sun's going with dev tools and developers. They've made some interesting claims in the keynote (especially around Microsoft not understanding community), but generally it's been pretty balanced (he said from the moral high ground <grin>).
There were about 150 people in the keynote, and it looks like quite a few more have come for the meat of the sessions.
The keynote was broken up into a couple of sections. The first, by Bob Brewin, concentrated on where Sun are going with their dev tools and what they see as important. He emphasised community, good tools, alignment of the platform and the runtime and Application Lifecycle Development and Management. No arguments there.
Next up was Matt Thompson (can't find a blog link for Matt). he talked about Sun's approach to developers and how they see them as a conduit to revenue through infrastructure sales. To this end they have decided to release all of their dev tools for free under various open source licenses. He also made the following points about open source development:
My favourite quote from Matt's talk was "Companies that don't understand citizen technologies are like media companies that don't understand citizen media". I agree with this. Where we differ is what we do with that understanding. I feel very strongly that it make a lot of sense to provide the infrastructure in a stable and consistent way on which developers can innovate. Citizen technology is not about the OS or the plumbing layer, it's about the stuff people interact with. The job of the OS or the framework is to do the drudgery, and let the developers solve the new problems, not the old problems over and over again.
I just attended an interesting presentation from Simon Ritter - one of the Technology Evangelists - on current and future versions of Java SE. Without him saying so in as many words, it looks like some of the upcoming features (especially in "Dolphin" - Java SE 7) are trying to catch up with the new bits in .NET framework 2.0 and Orcas.
My impression is that all of the speakers are from the US and that the local office is providing logistical support.
I showed off integrating SQL Express with VFP at OzFox Lite last weekend, and as part of the presentation (515 KB), everyone got a copy of SQL Express (as well as all of the other Express products). I did mention it at the time, but a couple of people have asked me again. SQL Express doesn't ship with any management tools, so if you don't have a copy of SQL Server Management Studio you need to grab the SQL Server Management Studio Express tool.
Last night I presented to parents at my kids' school on the topic of "Internet Safety for Kids". This follows on from Jeff's great TechEd presentation last year, which in turn derives from the materials on Laura Chappell's great site. We had a great discussion afterwards and as promised, I've posted the presentation deck here.
Please feel free to use this material (acknowledging Laura's work please) if you have a local group you think would benefit from this presentation.
Update
Here are the points I raised at the end of the presentation as the Bottom Line
Brian Harry's posted an update about the availability of the next drop of the MSSCCI provider for TFS (should be some time in the week of April 3). This will allow you to use the TFS source control features from IDEs other than VS2005. The IDEs they've tested against so far are
Many more IDEs than this support MSSCCI for integrated source control operations. Brian's asking users of those IDEs to check it out and let us know that (or whether) your favourite IDE works.
Beyond features, we would like to have this MSSCCI provider work in as many hosts as possible. We don't have the resources to go test each of the many dozens of hosts that support MSSCCI. We're hoping that you, the community, will help us with this effort. We'd really appreciate it if you would try out the TFS MSSCCI provider in as many IDEs as you can and let us know what you find. Please report success or failure and any bugs that you find. Also let us know what version of the IDE you have tested it against. We're going to add a web page to our Developer Center that lists all of the IDEs that have been confirmed to work. Help the community out and report your experiences! You can do this by sending mail to mailto:tfmsscci@microsoft.com This email address should be active within 24 hours from the time of this posting.
I certainly think it's worth taking Brian up on his challenge.
Last weekend I was lucky enough to attend OzFox Lite, a Code-Camp-like event for VFP developers organised by the indefatigable Craig Bailey. 40 VFP aficionados from as far afield as Adelaide, Perth and even New Zealand descended on the MS HQ in Sydney for 2 days of sessions on VFP and other things. There was a special video keynote from Craig Boyd. Special guest speakers included Adam Cogan and Greg Low, Australia's two Microsoft Regional Directors, plus nearly a dozen other members of the community. Sunny Chandra was especially passionate and popular.
It wasn't all tech talk of course, 20 of us went out to dinner on Saturday night and some hardy souls came back after that to play on the one X-Box 360 that MS didn't have down in Melbourne for hospitality at the Commonwealth Games.
Great geek weekend and huge kudos to Craig.
My wife's in the process of revising a couple of her music theory workbooks at the moment. Her workhorse machine isn't really up to the task of running InDesign, Sibelius, Acrobat, Outlook and Word with its half GB of memory. Her system is paging a bunch of things on and off the HDD. I explained to her that even though she has 50+ GB free on her hard drive, she's run out of RAM. Of course, a glazed look greeted this mumbo-jumbo and I was forced to reassess my approach.
I told her that the RAM was like her brain, she could only remember so much at any one time. If she wanted to remember other things, she could write them down in a book and put that book on a shelf. In this case, the shelf is the hard drive. To remember that thing, she'd need to go to the shelf and read the book, which takes much longer than just recalling it.
She was pretty chuffed when I told her that by adding more RAM, we're going to increase the number of things she can remember without having to write them down.
Here's a list of the resources I showed at the end of my Security Summit sessions around the country. The first one is the most important as it will point you to the webcasts and all the resources from all of the sessions at the Summit.
Security eForum site
http://www.microsoft.com/australia/eforum
MSDN Security Development Centre
http://msdn.microsoft.com/security/
Security Development Centre – Writing Secure Code
http://msdn.microsoft.com/security/securecode/default.aspx
Patterns and Practices: Security Guidelines
http://msdn.microsoft.com/library/en-us/dnpag2/html/pagguidelines0003.asp
What’s new in Security for v2.0
http://blogs.msdn.com/shawnfa/archive/2005/08/24/455581.aspx
What’s new with Code Access Security in the .Net Framework 2.0
http://msdn.microsoft.com/msdnmag/issues/05/11/CodeAccessSecurity/default.aspx
Security Enhancements in Visual Studio 2005
http://msdn.microsoft.com/library/en-us/dnvs05/html/vs05security.asp
Repel Attacks on Your Code with Visual Studio 2005 Safe C and C++ Libraries
http://msdn.microsoft.com/msdnmag/issues/05/05/SafeCandC/
SQL Server 2005 Security
http://msdn.microsoft.com/sql/learning/security/default.aspx
Visual Studio 2005 and SQL Server 2005 Webcast
http://www.microsoft.com/events