Wednesday, May 31, 2017

Why isn't Java used for modern web application development?

As a professional Java programmer, I've been trying to understand - why the hate toward Java for modern web applications?
I've noticed a trend that out of modern day web startups, a relatively small percentage of them appears to be using Java (compared to Java's overall popularity). When I've asked a few about this, I've typically received a response like, "I hate Java with a passion." But no one really seems to be able to give a definitive answer.
I've also heard this same web startup community refer negatively to Java developers - more or less implying that they are slow, not creative, old.
As a result, I've spent time working to pick up Ruby/Rails, basically to find out what I'm missing. But I can't help thinking to myself, "I could do this much faster if I were using Java," primarily due to my relative experience levels.
But also because I haven't seen anything critical "missing" from Java, preventing me from building the same application.
Which brings me to my question(s):
Why is Java not being used in modern web applications?
  • Is it a weakness of the language?
  • Is it an unfair stereotype of Java because it's been around so long (it's been unfairly associated with its older technologies, and doesn't receive recognition for its "modern" capabilities)?
  • Is the negative stereotype of Java developers too strong? (Java is just no longer "cool")
  • Are applications written in other languages really faster to build, easier to maintain, and do they perform better?
  • Is Java only used by big companies who are too slow to adapt to a new language?
 
------------------
Modern day startups need to hit the market as soon as possible. They don't need to spend about six months in order to release their Java web application.
Twitter for example was built using Rails/Ruby but once it became unscalable, they migrated to the JVM.
Not to mention that the development process isn't productive: code -> compile -> deploy while it is in frameworks like (Rails/Django/Grails): run testing server -> code -> change things and see what happens.
The good news is that JRebel lets you see code changes instantly.
 
----------------------

In my experience, Java for web applications is overkill for small applications. A simple blog with one database table hold blog entries, for example, could be done in something much simpler.
I have usually seen Java do much better in much larger web applications (think banks and insurance companies) that communicate with a number of other systems (such as mainframe back-ends and databases and peer web-services background batch-processing systems... all in the same application).
From what I've seen, the architecture of a JavaEE web application is just usually more than is needed for small/simple web applications.
-------------------------

I programmed java web apps for 10 years before I switched to python, 4+ years ago. I feel that I'm much more productive using python and can get much more done in a shorter period of time, and to be honest, I'm much happier when I develop in python. Here are some of the reasons why I think python is better then Java based on my personal experience, your milage may very.

Web Frameworks:

When I first start programming web apps in Java, Struts just came out, and it wasn't great, but it was the best thing available. I created a bunch of struts apps, and a few in other frameworks along the way. Whenever a new framework came out (Tapestry, Wicket, GWT, stripe, grails, AppFuse, Play, RichFaces, Spring, etc), I would try it out and see if it was any better, and most times it was only a little better, and sometimes not better at all. I do have to say the play framework is a step in the right direction.

Batteries not included:

One of the most annoying parts of Java was the fact that most of the libraries that you use were not included in java itself, you had to include a ton of 3rd party libs from places like apache commons. If you use something like hibernate with any other large library, you end up in Jar dependency hell, where hibernate needs one version of a jar, and something else needs another version. If you load the jar files in the wrong order, you are out of luck. You need to depend on tools like maven, and ivy to manage your dependencies, and this just brings in more dependencies into your project which results in projects being huge. I had some war files 100MB+ war files for the simplest web apps.

Too many options:

For some reason there seems to be way too many different ways to do the same thing in Java. There are over 38 different web frameworks for java according to wikipedia ( http://en.wikipedia.org/wiki/Comparison_of_web_application_frameworks#Java ) and 23 different ORM's ( http://en.wikipedia.org/wiki/List_of_object-relational_mapping_software#Java ) just to name a couple of examples. If you look at other languages they have a more reasonable number. Some people think that having lots of options is a good thing, but it isn't it leads to a lot of wasted effort in the developer community, everyone is reinventing the same wheel, and if you are a new person to the language you have too many option to pick from.

App servers:

Java web applications are really heavy, and require a lot of resources to run. They are especially memory hungry. Like any piece of software they can be tuned to reduce their resource footprint, but compared to other languages their out of the box setup is horrible. In my past I have used weblogic, websphere, Jboss, tomcat, and jetty. I only used the first three when I was forced to use EJB's, but even if you aren't using EJB's they were large app servers and sometimes hard to configure and get running correctly. Tomcat and Jetty are much better and easier to setup, but are still resource hogs.

App Hosting:

If you aren't running your own server it is real hard to find shared hosting for your java apps at a reasonable price. The main reason is because java apps require much more memory compared to other languages, so it doesn't make sense for a shared hosting provider to spend their valuable RAM running a java site, when they could run 5 php sites in the same place. That means there are less providers offering java hosting, which in turn means higher costs to run your website.

Development Time:

When I developing in java, I found myself much slower then what I can do in python. I would need to make a change, compile, redeploy and then test, and this slows down the iterative process. I know there are ways to make this faster, but even at it's best, I felt much slower then what I can do in python.
There is also a lot less boilerplate code to do the same thing in python, so I spend less time developing the code as well.
Java just feels over engineered in a lot of parts, A lot of the API's and interfaces are just way to complicated for what you want to do. And everyone and their brother thinks they are a java architect and this results in big complicated systems that are hard to use and develop with.

IDE:

When I was developing in Java, I felt stuck to the IDE, I was lost without it. IntelliJ is the best IDE's on the market, and it was hard switching to python because there wasn't anything like it for python. So instead of an IDE, I just used textmate, which is just a normal text editor. It was hard at first, but because it was just a text editor, it was a really fast and responsive application. I could open my whole project in a few seconds, whereas when I want to open a project in an IDE it could take a minute or more, with a machine with a ton of RAM. The makers of IntelliJ came out with a python editor called pycharm, I bought it when it first came out, and it is great. But what I realized is that I don't need an IDE for python, I'm fine with a text editor. When I go back to working on Java web apps which I have to do from time to time, I try to use the text editor, but I haven't quite mastered that yet. I personally need the IDE for Java more because If I mess up something it takes longer to recompile and redeploy, which slows me down.

ORM:

When I first started using Hibernate as an ORM, I thought it was great, it had it's problems, and it wasn't perfect, but it was better then what I was doing before. I was happy with it, until I did an application with Django's ORM on a python project, and that opened up my eyes, that is how an ORM is supposed to work. After that project I went back to hibernate, and I just felt disappointed, and longed for going back to Django's ORM. Another great python ORM is sqlalchemy, which is similar to Django's ORM, but a little different. I have limited experience with ROR's ORM, but from what I remember, it was pretty good as well.

Templates:

The web templating systems in Java aren't that good, and I think I have tried them all (tiles, freemarker, velocity, etc). Most of them offer only basic functionality and are a pain to work with. On the Python side, my two favorites are Django templates and Jinja2, they have everything that I could need in a templating engine, and are really easy to use.
 
 

Tuesday, May 30, 2017

40 Blogs Every Software Developer Should Be Reading

Software developers always need to be upskilling, and increasingly are expected to bring more than just great code to an organisation.
There's hundreds of blogs software developers can read to learn, but it's difficult knowing where to begin (or even what's worth reading).
That's why we created today's post: to give software developers like you a headstart, compiling 40 of the best dev blogs on the web.
For each blog we've provided a link to the blog, and also a link to the author's Twitter. Let's get started!

1) Code Simplicity

Code Simplicity is a companion blog to author Max Kanat-Alexander’s application design book Code Simplicity: The Science of Software Development. Max is a software engineer at Google, and the chief architect of the Bugzilla Project – and his blog draws upon this experience to offer advice on simplifying software design. His mantra is ‘Complexity is stupid. Simplicity is smart’ – and after reading the blog, I’m inclined to agree.
codesimplicity.com | Follow on Twitter

2) Joel on Software

In addition to being a former Microsoft program manager, Joel Spolsky is a co-founder of programming Q&A site StackExchange, the man behind software development company Fog Creek Software, and the awesome little browser-based workflow tool Trello. He’s been blogging since 2000, and his site is a goldmine of insight on software dev, management and business.
joelonsoftware.com | Follow on Twitter

3) Scott Berkun

Scott Berkun’s eponymous blog is one of the most multi-faceted on this list, offering advice and insight into creativity, leadership and philosophy – alongside his experiences as a manager at giants Microsoft and WordPress. If you’re tired of reading the same old blog content, Scott’s blog offers a plethora of engaging info, all of which is designed to help you become a better person, as well as a better programmer.
cottberkun.com/blog | Follow on Twitter

4) Coding Horror

Coding Horror is the outlet of seasoned web application developer (and, like Joel Spolsky above, co-founder of StackExchange) Jeff Atwood. The blog tackles all manner of software development and security topics, but it’s Jeff’s interest in the human component of development that makes the blog stand out. As Jeff himself says:
‘In the art of software development, studying code isn't enough; you have to study the people behind the software, too.’
blog.codinghorror.com | Follow on Twitter

5) Scott Hanselman

Scott Hanselman’s blog tackles the full pantheon of software developer interests, covering technology, code, gadgets, dev culture and the web. As a former professor, and current employee of Microsoft, his hands-on advice is clear, concise and helpful. Unlike many of his contemporaries, Scott’s writing is also bursting with personality. If you’re a fan of Scott’s insight, you can also check out his three podcasts and YouTube channel.
hanselman.com/blog | Follow on Twitter

6) /\ndy

Andy Hunt is a prolific author, a co-founder of the Agile Alliance, and part of the team that developed the Agile Manifesto. Andy’s blog tackles a diverse range of development topics, and unsurprisingly, offers some of the most interesting and unique insight into agile development anywhere on the web.
andy.pragprog.com | Follow on Twitter

7) Paul Graham’s Essays

Paul Graham was one-half of the duo behind Viaweb, arguably the very first (started in 1995) software as a service company. Since then, he’s gone on to co-found Y Combinator, a start-up incubator that’s funded the likes of Dropbox, Reddit and Airbnb. Paul Graham’s Essays collates his long-form insights into developing SaaS businesses, and provides developers a wonderful insight into their role within the wider business world.
paulgraham.com/articles.html Follow on Twitter

8) Federico Cargnelutti

Federico is a professional mobile and web developer, and regularly blogs around coding (particularly PHP), software architecture and agile development. With a mixture of straight-to-the-point tutorials and, courtesy of his Twitter, a ton of tech news and insight, Frederico’s blog is a great read for any software developer.
blog.fedecarg.com | Follow on Twitter

9) DailyJS

Courtesy of author Alex Young, DailyJS provides exactly what you might expect – daily insights and advice on all things Javascript. The site contains all-manner of hands-on tips and worked examples, alongside information on the field’s latest news and developments. For users of Vim, Alex also runs the equally useful usevim blog.
dailyjs.com | Follow on Twitter

10) David Walsh

David Walsh is Mozilla’s senior web developer, and the core developer for the MooTools Javascript Framework. David’s blog reflects his skills in HTML/5, JS and CSS, and offers a ton of engaging advice and insight into front-end technologies. Even more obvious is his passion for open source contribution and trial-and-error development, making his blog one of the most honest and engaging around.
davidwalsh.name | Follow on Twitter

11) Pontikis

Ponitkis is a blog of two halves, offering the latest in web technology, business and news, alongside a plethora of how-tos and guides. Author Christos Pontikis offers seriously in-depth instructions on all-manner of languages and frameworks, with his expert insights into PHP, jQuery and MySQL a serious incentive for any knowledge-hungry developers.
pontikis.net Follow on Twitter

12) Six Revisions

Six Revisions is blog resource for web developers and designers, offering hands-on tutorials, news and advice for anyone involved in website and web app development. Alongside some great commentary on all-things HTML, CSS and JavaScript, the site offers excellent guidance on UX and UI design.
sixrevisions.com | Follow on Twitter

13) WebAppers

WebAppers dedicates itself to sourcing and collating free open-source tools and resources, with the professional web dev and web designer in mind. In addition to a pantheon of almost 700 plugins, the blog shares a ton of actionable guidance and helpful advice, with a view to helping web developers use the tools in the most beneficial way possible.
webappers.com | Follow on Twitter

14) Ajaxian

Despite the name, Ajaxian offers a ton of engaging, insightful advice on a huge range of development topics, covering everything from .Net development to XML. Unsurprisingly, some of the best insights look at Javascript and AJAX - but with contributions coming from a core team of 12 developers (including devs with decades of professional experience working for industry giants like Google), the site is a must-read resource for any software developer.
ajaxian.com | Follow on Twitter

15) ProgrammableWeb

Since its inception in 2005, ProgrammableWeb has been at the forefront of the evolving API economy. It offers a staggering amount of hands-on content, and manages to maintain its quality across an incredible publication schedule ranging as high as 10 posts per day. In addition to its fantastic blog content, ProgrammableWeb has a huge directory of APIs for web and mobile development, and a plethora of whitepapers and research.
programmableweb.com | Follow on Twitter

16) Martin Fowler

Software developer Martin Fowler is a prolific author (having penned no less than seven programming books), and an even more prolific blogger. He writes primarily around agile, refactoring and project delivery – with a particular focus on the design of software systems, and ways to maximise the productivity of development. Whilst the blog is a great resource for all types of developer, it should have a special interest to those managing a development team.
martinfowler.com/bliki | Follow on Twitter

17) Eric Sink

Eric Sink is a software developer at SourceGear – but prior to his current role, he served as project lead for the browser development team that prototyped a little-known browser called ‘Internet Explorer’. Since then, Eric has been blogging consistently around software development, with his advice, news roundups and opinions stretching all the way back to 2001.
ericsink.com | Follow on Twitter

18) The Daily WTF

If you’re looking to break-up the monotony of personal development, The Daily WTF should provide ample relief. The site pairs genuinely helpful development insights with an awesome sense of humour, creating a blog that’s as funny to read as it is useful. The site has a particular focus on how-not-to-guides, and the disastrous development stories its shares will easily consume your lunch break.
thedailywtf.com | Follow on Twitter

19) UIE Brainsparks

User Interface Engineering is a research and training company focused on web and application usability. Its Brainsparks blog is an industry-leading resource, covering all aspects of UI and UX development – with founder Jared Spool offering his expert insight on a weekly basis. In addition to the blog, UIE offer podcasts, long-form articles, event and seminars for devs interested in improving their UI skills.
uie.com/brainsparks | Follow on Twitter

20) PragDave

Programmer turned publisher Dave Thomas blogs and tweets about all manner of development news and advice. Alongside tutorials, guides and opinions, Dave has developed his own Zen-like approach to the art of coding – creating the martial arts inspired CodeKata to help developers change their attitude to coding, and develop an always-learning mindset.
pragdave.me | Follow on Twitter

21) Silk and Spinach

Kevin Rutherford is a freelance agile developer, a Certified Scrum Master, and a member of the Agile Alliance. Unsurprisingly, his fantastic blog offers a plethora of agile development advice, alongside his own opinions and thoughts, formed from four decades of experience in the industry.
silkandspinach.net | Follow on Twitter

22) YTechie

For a little insight into his blog (and mind), Jason Young’s bio contains the sentence ‘My brain is written in C#, I speak Node.js, and I believe the universe runs on Windows Azure.’ Unsurprisingly, his blog contains a ton of humour and personality, a shed-load of help advice, and a whole ton of Azure advocacy.
ytechie.com | Follow on Twitter

23) Bit-Player

If the majority of the blogs on this list aren’t advanced enough for your mathematically-inclined mind, you’ll find yourself enjoying Brian Haye’s computation and mathematics blog, bit-player. Brian is a senior writer for American Scientist, writing their Computing Science column. As you’d expect, his own blog follows an extremely high-calibre of data-driven analysis, advice and insight. bit-player.org |
Follow on Twitter

24) Exploration Through Example

Brian Marick’s Exploration Through Example blog does exactly what you’d expect – helping developers to improve and build-upon their knowledge through the medium of trial-and-error. His content contains a ton of guidance and advice, and looks at his own experiences learning and re-learning the best practices of coding, testing and agile development.
exampler.com/blog | Follow on Twitter

25) Clarke Ching Rolls Rocks

Rolls Rocks is the educational outlet of agile and Theory of Contraints expert Clarke Ching. A seasoned blogger and accomplished author, the blog is named after Clarke’s own book on accelerating agile development – Rolling Rocks Downhill – so if you’re a fan of his blog, it’s worth checking out his other publications too.
rolls.rocks/ccblog | Follow on Twitter

26) Jonathan Kohl

Jonathan Kohl’s blog combines formidable expertise in mobile application development with a ton of obvious business-savvy, creating a wealth of resources perfect for developers interested in the business-side of software development. Jonathan also puts pen-to-paper in his published book, Tap into Mobile Application Testing, and the forthcoming Tap into Mobile Application Design.
kohl.ca/blog | Follow on Twitter

27) Word Aligned

Thomas Guest’s Word Aligned blog is an affair both personal and professional in nature. You’ll find humour and personal anecdotes alongside coding tips and tricks – with his article on Jokey Code a particularly enjoyable inside joke for developers everywhere.
wordaligned.org | Follow on Twitter

28) Technology, Strategy, People & Projects

Eric Brown is an entrepreneur and technology and marketing consultant, and his blog approaches development from a decidedly big-picture perspective. His content shares his advice and opinions on a wealth of business and development topics, and perfectly demonstrates the marriage of technology and business evident in so many of today’s most exciting software companies.
ericbrown.com/blog | Follow on Twitter

29) David Chelimsky

David Chelimsky is the former lead developer of RSpec, a behaviour-driven development framework for the Ruby programming language. His blog covers a ton of Ruby-related concepts, which David elaborates on in the co-authored RSpec Book.
blog.davidchelimsky.net</a
| Follow on Twitter

30) Ruminations of a Programmer

Ruminations of a Programmer is the personal and professional outlet of self-proclaimed programming nerd Debasish Ghosh. His blog contents a mixture of actionable, example-lead tutorials, and insights into the mathematics of programming – both of which Debasish builds upon his two books, DSLs In Action and Functional and Reactive Domain Modeling.
debasishg.blogspot.co.uk | Follow on Twitter

31) Herding Cats

Glen Alleman’s blog specialises in the intricacies of effective project management, and Herding Cats erding ccollates his expertise into series of in-depth blog posts, perfect for team leaders and agile developers. If his advice resonates with you, Glen has created an all-in-one reference, in the form of his book, Performance-Based Project Management.
Herding Cats | Follow on Twitter

32) My Secret Life as a Spaghetti Coder

As a self-proclaimed spaghetti coder, Sammy Larbi’s blog offers a ton of helpful, humorous advice on the challenges developers face on a daily basis. With a great sense of personality radiating through his writing, Sammy’s blog manages to pair interest and education like no other, making it a great resource for other secret spaghetti coders.
codeodor.com/index.cfm | Follow on Twitter

33) Software by Rob

Rob Walling’s professional career spans corporate developer, consultancy, and eventually, serial entrepreneurship. Software by Rob charts his journey into software development and self-funding, and offers actionable advice and great insights into developing SaaS products.
softwarebyrob.com | Follow on Twitter

34) Implementing Scrum

Implementing Scrum is the result of an unlikely partnership between certified Scrum trainer and practitioner Michael Vizdos, and entrepreneur and artist Tony Clark. Their blog tackles agile development and Scrum implementation, with their expert advice brought to life by a decent sense of humour and a plethora of cartoon illustrations.
implementingscrum.com/section/blog/ | Follow on Twitter

35) Succeeding with Agile

With over 20 years of experience managing Scrum projects, Mike Cohn is a hugely vocal proponent of agile processes. His blog offers expert (and highly-focused) insight into the best ways for businesses to adopt agile, making it a must-read for any devs looking to improve and expand their agile capabilities.
mountaingoatsoftware.com/blog | Follow on Twitter

36) Regular Geek

Robert Diana is a software engineer and web developer, with a particular penchant for social media. Alongside his own takes on the typical blog fodder of development tools and techniques, Rob collates a daily round-up of the web’s best development news and resources.
regulargeek.com | Follow on Twitter

37) Good Coders Code, Great Reuse

With three books and a Silicon Valley start-up under his belt, Peteris Krumins has a ton of great development insight to share. As an entirely self-taught dev (opting for a degree in Physics instead of Computer Science) he’s dedicated to continual self-improvement – and helping other devs achieve the same.
Catonmat.net | Follow on Twitter

38) secretGeek

Equal parts hands-on tutorials and DevOps anecdotes, secretGeek is the sounding board of Leon Bambrick. As a self-described ‘perpetual beginner’, and the creator of TimeSnapper and NimbleText, he regularly offers concise and honest insights into all aspects of application and product development.
secretgeek.net | Follow on Twitter

39) Otaku, Cedric’s Blog

With blog archives stretching back as far as 2003 (truly blogging before it was cool), Otaku is packed-full of a ton of development advice, building off of author Cédric Beust ‘s experience as a former engineer at Android, and a the creator of the Java testing framework TestNG.
beust.com/weblog/ | Follow on Twitter

40) A Geek with a Hat

Swizec Teller is a full-stack web engineer, a published author and a serial blogger. Over a million people have read Swizec’s A Geek with a Hat Blog, learning a ton about topics as diverse as Javascript, job hunting and the quirks and benefits of being a developer.
swizec.com/blog/ | Follow on Twitter

Thursday, May 25, 2017

SQL competitions

Sorry to ask this kind of questions.
But I am eager to know some good sites where I can have the opportunity to have some sql competitions.
but it is not free.
I am looking for a free one.
And also C# programming competitions. One I found is Code Chef
I am Looking for some more.
Also, it should be for any ages!
Edited:
I liked Project Euler. It's nice
Also some TSQL programming challenge. Sql Server Central is good. But I am looking for more TSql programs
Thanks in advance
------------------
 
For C#, Project Euler is a good one. It is not C# specific as answers can be submitted in any language. The challenges tend to be quite challenging as they are not just about solving the problem, but solving it quickly.
For SQL, SQL Server Central publishes some PDF books called SQL Server Stumpers, as well as having SQL challenges every now and again.
 ----------------
http://www.topcoder.com/ has regular programming competitions for multiple languages, c# included.

Monday, May 22, 2017

Apple Worldwide Developers Conference

The Apple Worldwide Developers Conference (WWDC), is a conference held annually in California by Apple Inc. The conference is used by Apple to showcase its new software and technologies for software developers. Attendees can participate in hands-on labs with Apple engineers, and in-depth sessions covering a wide variety of topics. WWDC began in 1983 in Monterey, California. Until 2007, the number of attendees varied between 2,000 and 4,200; however, during WWDC 2007, Steve Jobs noted that there were more than 5,000 attendees. The WWDC events held from 2008 to 2015 were capped, and sold out at 5,000 attendees (5,200 including special attendees).

Contents

History

Event Dates Venue
WWDC 1988
San Jose Convention Center
WWDC 1989 May 9–12, 1989
WWDC 1990 May 7–11, 1990
WWDC 1991 May 13–17, 1991
WWDC 1992 May 11–15, 1992
WWDC 1993 May 10–14, 1993
WWDC 1994 May 15–20, 1994
WWDC 1995 May 8–12, 1995
WWDC 1996 May 13–17, 1996
WWDC 1997 May 13–16, 1997
WWDC 1998 May 11–15, 1998
WWDC 1999 May 10–14, 1999
WWDC 2000 May 15–19, 2000
WWDC 2001 May 21–25, 2001
WWDC 2002 May 6–10, 2002
WWDC 2003 June 23–27, 2003 Moscone West,
San Francisco
WWDC 2004 June 28-July 2, 2004
WWDC 2005 June 6–10, 2005
WWDC 2006 August 7–11, 2006
WWDC 2007 June 11–15, 2007
WWDC 2008 June 9–13, 2008
WWDC 2009 June 8–12, 2009
WWDC 2010 June 7–11, 2010
WWDC 2011 June 6–10, 2011
WWDC 2012 June 11–15, 2012
WWDC 2013 June 10–14, 2013
WWDC 2014 June 2–6, 2014
WWDC 2015 June 8–12, 2015
WWDC 2016 June 13–17, 2016 Bill Graham Civic Auditorium and
Moscone West, San Francisco
WWDC 2017 June 5–9, 2017 McEnery Convention Center, San Jose
Since 1998, the conference has generally started with a keynote presentation. It was usually delivered by Jobs, resulting in their becoming termed Stevenotes.[citation needed] After Jobs' 2011 resignation and death, his successor Tim Cook delivered the keynotes.

1980s

In 1989, announcing System 7.

1990s

In 1991, first public demonstration of QuickTime.
In 1995, WWDC'95 focused almost fully on the Copland project,[1] which by this time was able to be demonstrated to some degree. Gil Amelio stated that the system was on-schedule to ship in beta form in later summer with an initial commercial release in the very late fall. However, very few live demos were offered, and no beta of the operating system was offered.
In 1996, WWDC'96's primary emphasis was a new software component technology called OpenDoc,[2] which allowed end users to compile an application from components offering features they desired most. The OpenDoc consortium included Adobe, Lotus, others, and Apple. Apple touted OpenDoc as the future foundation for application structure under Mac OS. As proof of concept, Apple demonstrated a new end-user product called Cyberdog, a comprehensive Internet application component suite offering users an integrated browser, email, FTP, telnet, finger and other services built fully of user-exchangeable OpenDoc components. ClarisWorks (later renamed AppleWorks), a principal product in Apple's wholly owned subsidiary Claris Corporation, was demonstrated as an example of a pre-OpenDoc component architecture application modified to be able to contain functional OpenDoc components.
In 1997, WWDC'97 was the first show after the purchase of NeXT, and focused on the efforts to use OpenStep as the foundation of the next Mac OS. The plan at that time was to introduce a new system then named Rhapsody, which would consist of a version of OpenStep modified with a more Mac-like look and feel, the Yellow Box, along with a Blue Box that allowed extant Mac applications to run under OS emulation. The show focused mainly on the work in progress, including a short history of development efforts since the two development teams had been merged on February 4. Several new additions to the system were also demonstrated, including tabbed and outline views, and a new object-based graphics layer (NSBezier).
In 1998, in response to developer comments about the new operating system, the big announcement at WWDC'98 was the introduction of Carbon, effectively a version of the classic Mac OS API implemented on OpenStep. Under the original Rhapsody plans, classic applications would run in sandboxed installation of the classic Mac OS, (called the Blue Box) and have no access to the new Mac OS X features. To receive new features, such as protected memory and preemptive multitasking, developers had to rewrite applications using the Yellow Box API. Developer complaints about the major porting effort to what was then a shrinking market and warnings that they might simply abandon the platform, led Apple to reconsider the original plan. Carbon addressed the problem by dramatically reducing the effort needed, while exposing some of the new functions of the underlying OS. Another major introduction at WWDC'98 was the Quartz imaging model, which replaced Display PostScript with something akin to display PDF. Although the reasons for this switch remain unclear, Quartz also included better support for the extant QuickDraw model from the classic OS, and (as later learned) Java2D. Supporting QuickDraw directly in the graphics model also led to a related announcement, that the Blue Box would now be invisible, integrated into the extant desktop, instead of a separate window.
In 1999, WWDC'99 was essentially a progress report as the plans outlined in WWDC'98 came to fruition. Three major announcements were the opening of the operating system underlying the new OS as Darwin, improvements to the Macintosh Finder, and the replacement of QuickDraw 3D with OpenGL as the primary 3D API. The system formerly named OpenStep, and during development termed Yellow Box, was formally renamed Cocoa. 2,563 developers attended.

2000s

WWDC 2000 was another "progress report" before the upcoming release of Mac OS X. Recent changes included a modified dock and improved versions of the developer tools. Developer Preview 4 was released at the show, with the commercial release pushed back to January 2001. Also, WebObjects was dropped in price to a flat fee of US$699. Approximately 3,600 developers attended and the band The Rippingtons played at the Apple campus.
In 2001, Mac OS X had only recently been released, but WWDC'01 added the first release of Mac OS X Server and WebObjects 5. Over 4,000 developers attended, and leather jackets with a large blue "X" embroidered on the back were distributed to attendees.
In 2002, Mac OS X v.10.2, QuickTime 6 and Rendezvous (now named Bonjour) were presented.[3] Apple also said farewell to Mac OS 9 with a mock funeral, and told the developers that no more Mac OS 9 development would occur, reinforcing that the future of the Mac was now entirely on Mac OS X.[4]
In 2003, WWDC 2003 demonstrated the Power Mac G5, previewed Mac OS X Panther (10.3), announced the launch of Safari 1.0 (concluding its beta phase), and introduced the iApps: iPhoto, iMovie, iDVD, etc. Attendees received Apple's first model of the iSight web camera (to coincide with the launch of iChat AV), pre-releases of Mac OS X 10.3 and Mac OS X 10.3 Server, the O'Reilly book Cocoa in a Nutshell, and a 17-inch notebook carry bag. Apple also screened the Pixar film Finding Nemo for attendees, ahead of its premiere in cinemas. Originally scheduled for May 19 to 23 in San Jose, California, WWDC 2003 was rescheduled for June 23 to 27 at San Francisco's Moscone Center. Approximately 3,000 developers attended.
In 2004, WWDC was held from June 28 to July 2. Jobs noted that 3,500 developers attended, a 17% increase from 2003. New displays were introduced in 23- and 30-inch widescreen. Mac OS X Tiger (10.4) was previewed and iTunes 4.9, the first version with integrated podcast support, was demoed by Jobs. All attendees received a developer preview of Tiger, a grey T-shirt with the Apple logo on the front and "WWDC 2004" on the back, a backpack able to hold a 17-inch PowerBook, and a copy of Apple Remote Desktop 2.0. The band Jimmy Eat World played at the Apple campus after attendees were taken there by bus from Moscone Center West.
WWDC 2005 was held from June 6 to 10. After a basic market update, Jobs announced that Apple would transition the Macintosh platform to Intel x86 processors. The keynote featured developers from Wolfram Research, who discussed their experience porting Mathematica to Mac OS X on the Intel platform. The conference consisted of 110 lab sessions and 95 presentation sessions, while more than 500 Apple engineers were on site alongside 3,800 attendees from 45 countries. The band The Wallflowers played at the Apple campus.
BT performing at 2006 WWDC Bash held on 1 Infinite Loop Campus
In 2006, Jobs once again delivered the keynote presentation at the WWDC, which was held from August 7 to 11 in Moscone Center West, San Francisco. The Mac Pro was announced as a replacement to the Power Mac G5, which was Apple's prior pro desktop computer and the last remaining PowerPC-based Mac. The standard Mac Pro featured two 2.66 GHz dual core Xeon (Woodcrest) processors, 1 GB RAM, 250 GB hard drive, and a 256 MB video card. An Xserve update, based on the dual core Xeons, was also announced. Redundant power and Lights Out Management were further product improvements to Apple's server lineup. While certain key Mac OS X improvements were undisclosed, there were 10 improvements in the next iteration, Mac OS X Leopard (10.5), including: full 64-bit app support, Time Machine, Boot Camp, Front Row, Photo Booth, Spaces (Virtual Desktops), Spotlight enhancements, Core Animation, Universal Access enhancements, Mail enhancements, and Dashboard enhancements (including Dashcode, and iChat enhancements). Along with the Leopard features that were announced, a major revision to the Mac OS X Server product was announced. New features to the Server included: a simplified set-up process, iCal Server (based on the CalDAV standard), Apple Teams (a set of web-based collaborative services), Spotlight Server, and Podcast Producer. The 2006 WWDC attracted 4,200 developers from 48 countries, while there were 140 sessions and 100 hands-on labs for developers. More than 1,000 Apple engineers were present at the event, and the DJ BT performed at the Apple Campus in Cupertino.
WWDC 2007 was held from June 11 to 15 in Moscone Center West, and started with a keynote presentation from Jobs. Apple presented a feature-complete beta of Mac OS X Leopard, even though its release date was pushed back to October. Jobs announced that a version of Safari, Apple's proprietary web browser, had been created for Windows, and that a beta release was being made available online that same day. Apple also announced support for third-party development of the then-upcoming iPhone via online web applications running in Safari on the handset. The announcement implied that Apple, at least for the time being, had no plans to release an iPhone software development kit (SDK), meaning that developers must use standard web protocols. Also, Jobs noted during the keynote that more than 5,000 attendees were present at WWDC 2007, breaking the prior year's record. The band Ozomatli played at the Yerba Buena Gardens.
In 2008, WWDC 2008 took place from June 9 to 13 in Moscone Center West. Apple reported that, for the first time, the conference had sold out. There were three tracks for developers, iPhone, Mac, and IT. Announcements at the keynote included the App Store for iPhone and iPod Touch, the stable version of the iPhone SDK, a subsidized 3G version of the iPhone for Worldwide markets,[5] version 2.0 of iPhone OS, Mac OS X Snow Leopard (10.6),[6] and the replacement/rebranding of .Mac as MobileMe.[7] For the bash held June 12, the band Barenaked Ladies played at the Yerba Buena Gardens.
In 2009, WWDC 2009 took place from June 8 to 12 in Moscone Center West, and Apple reported that the 2009 conference sold out in late April. Announcements at the keynote included the release of the iPhone OS 3.0 software announced to developers in March, a demonstration of Mac OS X Snow Leopard (10.6), the new 13" MacBook Pro, updates to the 15" and 17" MacBook Pros, and the new iPhone 3GS. Phil Schiller, Apple's SVP for Product Marketing, presented the WWDC keynote this year, instead of Jobs, who had taken medical leave of absence since the start of the year.[8] Attendees received a neoprene messenger bag and the band Cake played at the Yerba Buena Gardens. This was the first year plastic badges were used instead of printed paper badges.

2010s

OK Go at 2010 WWDC Bash wearing conference jackets
In 2010, WWDC 2010 was announced April 28, 2010.[9] WWDC 2010 was held at Moscone Center West from June 7 to 11, 2010.[10] Apple reported that the conference was sold out within 8 days of tickets being made available, even though tickets were only available at the full price of US$1599 (2009 and prior, tickets could be bought with an early-bird discount of US$300). On June 7, 2010, Jobs announced the iPhone 4,[11] and renaming iPhone OS to iOS. The FaceTime[12] and iMovie app for iPhone[13] applications were also announced. The band OK Go played at the Yerba Buena Gardens. Attendees received a black track jacket with the letters "WWDC" across the vest and the number "10" stitched on the back.
In 2011, WWDC 2011 was held in Moscone Center West from June 6 to 10, 2011. The event reportedly sold out within just 12 hours of the 5,000 tickets being placed on sale on March 28, 2011.[14] The ticket price also remained the same from the 2010 WWDC, selling at US$1,599, however, after-market pricing for tickets ranged from US$2,500 to US$3,500.[15] At the keynote, Apple unveiled its next generation software: Mac OS X Lion, the eighth major release of Mac OS X; iOS 5, the next version of Apple's advanced mobile operating system which powers the iPad, iPhone and iPod Touch; and iCloud, Apple's upcoming cloud services offering. Michael Franti and Spearhead played at the Bash in Yerba Buena Gardens on June 9. Attendees received a black track jacket similar to that of the prior year, but with a smaller "WWDC" across the front and the number "11" stitched on the back. This was the final Apple event hosted by Jobs.
WWDC 2012 was held in Moscone Center West from June 11 to 15. The ticket price remained the same as the 2010 WWDC, selling at US$1,599. Apple changed the purchasing process by requiring purchases to be made using an Apple ID associated with a paid Apple developer account. Tickets went on sale shortly after 8:30am Eastern Time on Wednesday April 25, 2012, and were sold out within 1 hour and 43 minutes. In the keynote, Apple announced new models of the MacBook Air, and MacBook Pro including one with Retina Display. They also showcased OS X Mountain Lion and iOS 6.[16]
In prior years, attendees were required to be at least 18 years old. In 2012, Apple changed this requirement to at least 13 years after a minor who was "accidentally" awarded a student scholarship in 2011 successfully petitioned Tim Cook to retain the award. Despite the change, Beer Bash attendees were still required to be 18 years old, and 21 years old to consume alcohol, in accord with local and federal laws. Neon Trees performed at the WWDC Bash.[17]
In 2013, WWDC 2013 was held from June 10 to 14, 2013 in Moscone Center West.[18][19] Tickets went on sale at 10am PDT on April 25, 2013,[18][19] selling out within 71 seconds (1 minute and 11 seconds).[20] Apple also announced that it would award 150 free WWDC 2013 Student Scholarship tickets for young attendees to benefit from the conference's many workshops.[21]
In the keynote, Apple unveiled redesigned models of the Mac Pro, AirPort Time Capsule, AirPort Extreme, and MacBook Air, and showcased OS X Mavericks, iOS 7, iWork for iCloud, and a new music streaming service named iTunes Radio.[22] Vampire Weekend performed at the Bash on June 13 at the Yerba Buena Gardens. Attendees received a black wind breaker with the letters "WWDC" across the front and the number "13" stitched on the back.
WWDC 2014 was held from June 2 to 6, 2014 in Moscone Center West.[23] For the first time, the opportunity to buy tickets was given at random to developers who were members of an Apple developer program at the time of the conference announcement, and who registered at Apple's developer web site.[24][25] Apple also gave 200 free Student Scholarship tickets. The keynote began on June 2 and Apple unveiled several new software items, including iOS 8—the largest update to iOS since the release of the App Store—and OS X Yosemite, which features a redesigned interface inspired by iOS. Announcements included the new programming language Swift, many developer kits and tools for iOS 8, but no new hardware. Bastille performed at the Yerba Buena Gardens, and attendees received a black windbreaker with the letters "WWDC" across the front and the number "14" stitched on the back, along with a US$25 iTunes gift card to commemorate the 25th anniversary of WWDC.
WWDC 2015 was held from June 8 to 12, 2015 in Moscone Center West in San Francisco. The major announcements were the new features of iOS 9, the next version of OS X called OS X El Capitan, the first major software update to the Apple Watch, the June 30 debut of Apple Music, and news that the language Swift is becoming open-source software supporting iOS, OS X, and Linux.[26] The Beer Bash was held at the Yerba Buena Gardens on June 11. Walk the Moon performed there.[27]
WWDC 2016 was held from June 13 to June 17, 2016 at the Bill Graham Civic Auditorium and Moscone Center West in San Francisco. The announcements at the event included renaming OS X to macOS, the new version named macOS Sierra, as well as updates to iOS 10, watchOS 3, and tvOS 10. Apple proclaimed that the keynote would be the largest ever for developers; this became the reality when they allowed third-party developers to extend the functionality in Messages, Apple Maps, and Siri. Cisco Systems and Apple announced a partnership at the 2016 WWDC.[28] Cisco APIs, accessed through Cisco DevNet, are to have greater interoperability with Apple iOS and APIs.
The keynote was more about software updates and features, as no new hardware was introduced. New apps that Apple created are the Home App that works with HomeKit as a control center for all third-party applications which provide functions for the home. Swift Playgrounds was also announced as an iPad exclusive app that helps younger people learn to code with Apple's new programming language, Swift.[29][30][31]
WWDC 2017 will be held on June 5 to June 9, 2017 at the McEnery Convention Center, in San Jose, California, which will be the first time since 2002 that the conference will be held in the city. Expected announcements to be made at the conference include iOS 11, watchOS 4, macOS 10.13, and possibly tvOS 11.[32][33]

Facebook F8


From Wikipedia, the free encyclopedia
Facebook F8 (pronounced "eff eight") is a mostly-annual conference held by Facebook, intended for developers and entrepreneurs who build products and services around the website. It is hosted in the San Francisco Bay Area, California, previously in San Francisco (until 2016) and now in San Jose, in Silicon Valley.[1] Previous events have started with a keynote speech by Facebook founder Mark Zuckerberg, followed by various breakout sessions concentrating on specific topics. Facebook has often introduced new features, and made new announcements, at the conference.
The "F8" name comes from Facebook's tradition of 8 hour hackathons.[2]
The scheduling of F8 has been somewhat erratic. No conferences were held in 2009, 2012 or 2013, and the date for the 2011 conference was announced late.[3][4][5]

Contents

2007

This was the first F8 event, held May 24, 2007, at the San Francisco Design Center in San Francisco. The notion of the social graph was introduced.

2008

The 2008 F8 event was held July 23, 2008, at the San Francisco Design Center once again. News and announcements from this event included:
  • Introducing the New Facebook Profile & More
  • Integrating Facebook Connect into your Website

2010

The 2010 F8 event was held April 21, 2010 at the San Francisco Design Center. The main announcement was the feature to add a “Like” button to any piece of content on a website by the owner. This feature is now integrated within around 2.5 million websites worldwide, with 10,000 more being added daily.
Additional news and announcements included:
  • Social Plugins (e.g. Like button)
  • Open Graph Protocol
  • Graph API
  • OAuth 2.0

2011

F8 2011 was held on September 22, 2011. Various things Facebook introduced at the conference included a new profile redesign named 'Timeline' that showed a history of user's activity on their profile, and a broader, more advanced version of the 'Open Graph' protocol.
The F8 2011 event was mainly focused on introducing new products, transforming industries, building and growing social applications and product Q&A. Some of the details of the topics were:
  • The Future of Digital Music
  • Mobile + Social
  • The Rise of Social Gaming
  • Investing in Social
  • Developing Products at Facebook
  • Social Design
  • Distribution: Growing on Facebook
  • Marketing on Facebook
  • Hack Better: New Tools for Developers
  • Inside HTML5 Development at Facebook
  • Making Fast Social Apps

2014

F8 2014 was announced on March 8, 2014 by Facebook representative Ilya Sukhar that the F8 event would return on April 30.[6]
The conference was focused on Facebook's strategy to become a 'cross-platform platform'.[7]
Here is a list of the main topics:
  • Audience Network
  • Autofill With Facebook
  • Anonymous Login
  • Removing The Ability To Pull Friends' Data
  • Granular Mobile Privacy Permissions
  • 2-Year Core API Stability Guarantee
  • Graph API 2.0
  • FbStart
  • Mobile Like Button
  • Send to Mobile
  • Message Dialog
  • AppLinks
  • Visualization APIs For Media
  • Pricing changes
  • Analytics and Offline Storage
  • Internet.org Innovation Lab
  • DisplayNode

2015

Users numbers updated for Facebook, Instagram, WhatsApp, Messenger, and Groups at F8 2015
The 2015 F8 conference was held on March 25, 2015 at the Fort Mason Center.

2017

The 2017 F8 conference was held from April 18, 2017 to April 19, 2017, in San Jose, California.[8] Announcements included:[9]